markdown语法转换成html渲染到页面

ops/2024/10/11 13:26:17/

html_0">markdown 转换html

需要用到三个库

  • EJS 可以帮助我们在HTML中潜入动态内容
  • Marked 一个流行的解析器和编译器,可以将markdown转换成html标记
  • BrowserSync 可以实施帮助你同步和更换你的网页修改,当你对markdown文件进行编辑将其转换成html时,browserSync可以自动刷新你的浏览器,使你能够及时查看你转换后的结果
建立ejs模版,template.ejs

入门语法 https://ejs.bootcss.com/#install

html"><!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title><%= title %></title><!-- index.css 为markdown转html后需要的样式模版 --><link rel="stylesheet" href="./index.css" /></head><body><!-- % 代表可以动态插入  --><%- content %></body>
</html>
建立markdown模版文件,README.md(随便写了点内容)
### 命名路由,编程式跳转```js
const routes: RouteRecordRaw[] = [{path: "/",name: "A",component: () => import("../A.vue"),},{path: "/B",name: "B",component: () => import("../B.vue"),},
];
### 处理markdown转换成html的逻辑语法,建立index.js文件
```js
const ejs = require("ejs");// 读取文件
const fs = require("fs");// 编译为html
const marked = require("marked");// 创建一个全局变量
let browser;
// 浏览器自动启服务,加载相应页面
const browserSync = require("browser-sync");const server = () => {// 创建一个服务browser = browserSync.create();// 调用init启动browser.init({server: {// 根目录baseDir: "./",index: "index.html",  // 渲染index.html页面},});
};// 通过ejs读取文件
const init = (callback) => {// 读取markdown里的内容const md = fs.readFileSync("README.md", "utf-8");// 通过parse方法转换成html//   console.log(marked.parse(md));// 把转换的markdown语法插入到html中ejs.renderFile("template.ejs",  // 使用此模版{content: marked.parse(md),  // 替换模版里的内容title: "markdown 转换成 html",},(err, data) => {if (err) throw err;fs.writeFileSync("index.html", data); // 根目录下创建一个index.html,若是存在,则会替换// 调用当前服务callback && callback();});
};// 监听文件变动,保持实时更新
fs.watchFile("README.md", (curr, prev) => {console.log("curr", curr);// 若是md有修改,则时间会是最新的if (curr.mtime !== prev.mtime) {init(() => {browser.reload(); // 当前启动的服务里重新加载,不会再启动第二个服务});}
});// 初始化调用
init(() => {server();
});

http://www.ppmy.cn/ops/10009.html

相关文章

Matlab图像处理-均值滤波,中值滤波和高斯滤波。

针对添加了零均值高斯噪声的图像&#xff0c;以取得尽可能好的处理效果为目的&#xff0c;采用不少于3种方法进行处理&#xff1b;对处理结果进行定性和定量的比较、并得出相应的结论。 1.算法原理&#xff1a; 采用的图像滤波包括均值滤波&#xff0c;中值滤波和高斯滤波。 …

Flink面试(1)

1.Flink 的并行度的怎么设置的&#xff1f; Flink设置并行度的几种方式 1.代码中设置setParallelism() 全局设置&#xff1a; 1 env.setParallelism(3);  算子设置&#xff08;部分设置&#xff09;&#xff1a; 1 sum(1).setParallelism(3) 2.客户端CLI设置&#xff0…

ELK日志系统的搭建

文章目录 简介软件准备安装JDK下载Elasticsearch软件修改配置信息创建ElasticSearch运行用户、启动服务添加防火墙策略ElasticSearch-Head插件安装 安装Kibana下载软件包修改配置启动服务 安装Logstash安装包下载安装服务配置修改配置pipeline流水线服务配置文件 启动服务 全流…

simlab python二次开发2-一键生成轴瓦并设定节点号

simlab python二次开发2-一键生成轴瓦并设定节点号 1、节点坐标计算并建立1.1、建坐标原点节点&#xff0c;并得到Model-1.gda1.2、轴瓦节点计算并建立 2、由节点建面2.1、由4个节点建面得到3个面单元Body2.2、得到Bodies名称2.3、根据Bodies名称选面特征&#xff08;放入Group…

照片相似性搜索引擎Embed-Photos;赋予大型语言模型(LLMs)视频和音频理解能力;OOTDiffusion的基础上可控制的服装驱动图像合成

✨ 1: Magic Clothing Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目&#xff0c;建立在OOTDiffusion的基础上 Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目&#xff0c;建立在OOTDiffusion的基础上。通过使用Magic Clothing&#xf…

C++之写时复制(CopyOnWrite)

设计模式专栏&#xff1a;http://t.csdnimg.cn/4j9Cq 目录 1.简介 2.实现原理 3.QString的实现分析 3.1.内部结构 3.2.写入时复制 4.示例分析 5.使用场景 6.总结 1.简介 CopyOnWrite (COW) 是一种编程思想&#xff0c;用于优化内存使用和提高性能。COW 的基本思想是&am…

docker 安装 jenkins

docker 安装 jenkins 1.安装镜像 docker pull jenkins/jenkins 2.创建容器 docker run --detach \-u root \--publish 8850:8080 --publish 50000:50000 \--name jenkins \--restart always \--volume /usr/local/java/jdk-17.0.11:/usr/local/java/jdk-17.0.11 \--…

231 基于matlab的北斗信号数据解析

基于matlab的北斗信号数据解析&#xff0c;多通道和单通道接收到的北斗信号数据&#xff0c;利用接收到的北斗数据&#xff08;.dat .txt文件&#xff09;&#xff0c;进行解析&#xff0c;得到初始伪距&#xff0c;平滑伪距&#xff0c;载波相位&#xff0c;并计算其标准差&am…