node 监听md文件变化并转换成html
来源:互联网 发布:龙岗网络推广 编辑:程序博客网 时间:2024/05/12 13:56
监听md文件是否变化,变化了就读取md文件,并使用库转换成HTML;
- 监听: fs.watchFile(filename, (cur ,pre) =< {})
- 读取: fs.readFile;
- 监听是否变化: cur.mtime / pre.mtime; //cur 和 pre 都是fs.Stats的实例;都有stats属性;
- 转换: 使用marked库,安装 install marked –save
- 转换成功,拼合html代码
- 写入html文件;
- 添加样式;
自动刷新
const fs = require("fs");const path = require("path");const marked = require("marked");const filepath= path.join(__dirname, process.argv[2]);const template = `<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body> <div>{{{content}}}</div></body></html>`fs.watchFile(filePath, (cur, pre) => {//options: 监听失效等 if(cur.mtime !== pre.mtime) { //读取文件并转换写入 fs.readFile(filePath, "utf8", (err,data) => { if(err) {console.log(err);return;} let html = marked(data); //因为md文件转换成HTML 没有body等标签,需替换添加 template = html.replace("{{{content}}}", html); //写入html fs.writeFile(path.join(__dirname, "watch.html"), template, "utf8"); }) }})
还可以下载md样式表文件,替换添加到页面中;最好使用style标签的方式添加,而不是使用link,因为link方式文件路径动态变化会出错;
自动刷新
使用broswer-sync库
1. install browser-sync --save2. watch.js中开始处创建browser 服务 var browserSync = require("browser-sync"); browserSync({server: __dirname});3.写入文件完成后执行browser relaod命令;
完成后修改md文件,浏览器自动打开localhost页面;输入html文件名称;就可以动态监听修改
阅读全文
0 0
- node 监听md文件变化并转换成html
- MD文件批量转换为html文件
- Linux下批量将md文件批量转换为html文件
- JNotify监听文件变化
- 监听FTP文件变化
- html实时监听input变化
- 使用Node.JS监听文件夹变化
- 第1章-安装Node.js及相关要点-1.10.监听文件变化
- Android Service监听SD卡某目录变化,并获取文件Path
- Flume之监听目录变化并上传文件到HDFS中
- 监听文件变化后合并文件
- 文件拷贝并监听
- iOS将HTML页面转换成PDF文件保存到本地并分享传输文件
- android 监听SD卡文件变化
- JAVA监听磁盘文件状态的变化
- android 监听SD卡文件变化
- Android监听SD卡文件变化
- jdk7 新特性 监听文件目录变化
- Unity接入百度语音识别与语音合成,实现语音交互
- 短信验证码获取JS
- 正则表达式
- 171207之UUID用法
- Jmeter提供的分布式功能来启动多台电脑来分压测试
- node 监听md文件变化并转换成html
- consul的shi yon
- Java汉字转拼音工具类
- 排序算法整理(第十五周实践项目)
- Codeforces894D Ralph And His Tour in Binary Country
- 关注的博客链接地址(持续更新)
- Python变量与命名规范
- spring注解方式intellij idea报could not autowire,eclipse却没有问题
- ffmpeg 常用命令 二