1.版本一

  1. - 1.1`npm install marked --save` 安装markdwonhtml的包.
    - 1.2 使用watchFile监视 markdown文件
  1. /**
  2. * Created by liyinghao on 2016/11/8.
  3. */
  4. const fs = require('fs')
  5. const marked = require('marked')
  6. //1.实时监视note.md文件的变化
  7. fs.watchFile('./note.md',(curr,prev)=>{
  8. //2.读取note.md文件的内容
  9. fs.readFile('./note.md','utf-8',(err,data)=>{
  10. if(err){
  11. throw err
  12. }else{
  13. //3.使用marked方法,将md格式的文件转化为html格式
  14. let htmlStr = marked(data.toString());
  15. //4.将转化的html格式的字符串,写入到新的文件中
  16. fs.writeFile('./new.html',htmlStr,err=>{
  17. if(err){
  18. throw err
  19. }else{
  20. console.log("success");
  21. }
  22. })
  23. }
  24.  
  25. })
  26. })

2.版本二:使用一个事先准备好的html模板,包含一些样式

  1. /**
  2. * Created by liyinghao on 2016/11/8.
  3. */
  4. const fs = require('fs')
  5. const marked = require('marked')
  6. fs.watchFile('./note.md',(curr,prev)=>{
  7. //读取准备好的html模板文件
  8. fs.readFile('./template.html','utf8',(err,template)=>{
  9. if(err){
  10. throw err
  11. }else{
  12. fs.readFile('./note.md','utf8',(err,markContent)=>{
  13. if(err){
  14. throw err
  15. }else{
  16. //转化好的html字符串
  17. let htmlStr = marked(markContent.toString());
  18. //将html模板文件中的'@markdown' 替换为 html字符串
  19. template.replace('@markdown', htmlStr)
  20. //将新生成的字符串template重新写入到文件中
  21. fs.writeFile('./template.html',template,err=>{
  22. if(err){
  23. throw err
  24. }else{
  25. console.log("success");
  26. }
  27. })
  28. }
  29. })
  30. }
  31. })
  32. });

  

基于nodejs的一个实时markdown转html工具小程序的更多相关文章

  1. 基于c编写的关于随机生成四则运算的小程序

    基于http://www.cnblogs.com/HAOZHE/p/5276763.html改编写的关于随机生成四则运算的小程序 github源码和工程文件地址:https://github.com/ ...

  2. 基于wepy和云开发的动漫资讯小程序----233次元

    233次元小程序 # 233次元小程序 项目描述- 基于微信小程序的动漫咨询小程序,采用`wepy`框架开发:- 后台数据采用小程序的云开发存储: 线上体验 部分截图                 ...

  3. 基于Taro与Typescript开发的网易云音乐小程序

    基于Taro与网易云音乐api开发,技术栈主要是:typescript+taro+taro-ui+redux,目前主要是着重小程序端的展示,主要也是借此项目强化下上述几个技术栈的使用,通过这个项目也可 ...

  4. 基于Taro与typescript开发的网易云音乐小程序(持续更新)

    基于Taro与网易云音乐api开发,技术栈主要是:typescript+taro+taro-ui+redux,目前主要是着重小程序端的展示,主要也是借此项目强化下上述几个技术栈的使用,通过这个项目也可 ...

  5. 自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐

    最近这段时间频频看到微信群里发什么 抢票加速,智行.携程.飞猪.美团,对于我这能坐客车就不坐火车的人来说,无所谓靠谱不靠谱 突发奇想的整理了下整个抢票加速的逻辑,写了这个小程序,代码很low,拒绝批评 ...

  6. 基于uniapp自定义Navbar+Tabbar组件「兼容H5+小程序+App端Nvue」

    uni-app跨端自定义navbar+tabbar组件|沉浸式导航条|仿咸鱼凸起标签栏 在跨端项目开发中,uniapp是个不错的框架.采用vue.js和小程序语法结构,使得入门开发更容易.拥有非常丰富 ...

  7. 原生js 基于canvas写一个简单的前端 截图工具

    先看效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  8. C# 写的一个生成随机汉语名字的小程序

    最近因为要做数据库相关的测试,频繁使用到测试数据,手动添加太过于麻烦,而且复用性太差,因此干脆花了点时间写了一个生成随机姓名和相关数据的类,贴在这里,有需用的同志们可以参考一下.代码本身质量不好,也不 ...

  9. go语言实现一个简单的登录注册web小程序

    最近学习golang也有一段时间了,基础差不多学了个大概,因为本人是java程序员,所以对web更感兴趣.根据<go web编程>中的例子改编一个更简单的例子,供新手参考,废话不多说,上菜 ...

随机推荐

  1. sql查询某个时间内的数据

    hour) 七天之前的数据 SELECT * FROM commodity_order where create_time <= (now()-INTERVAL 7 DAY) order by ...

  2. zabbix4.0部署

    1.环境检查 uname -r getenforce systemctl status firewalld.service 2.设置解析,自建yum源(可选) /etc/hosts #!/bin/ba ...

  3. ubuntu 去除开机背景

    sudo apt remove plymouth sudo sed -i 's/ splash//g' /etc/default/grub sudo update-grub

  4. HTTP socket网络通信

    import socket class WebServer(): def __init__(self): ''' 1.创建总的socket 2.监听 :param self: :param addr: ...

  5. Linux shell 常用命令大全 每日一更

    大一上学期学习了Linux的基本操作,已经很久没使用了,虚拟机也近半年没开(作为一个计算机类专业的少年真的不应该).为了补回这些知识和为将来的学习打下基础,现在每天更新一条shell命令及其子命令,欢 ...

  6. 钉钉机器人SDK 封装预警消息发送工具

    1 群机器人     (1) 引言     钉钉聊天群内支持的群机器人, 类似QQ 群机器人, 可以发天气, 讲笑话那样;     钉钉群机器人支持自定义机器人, 允许开发者管理机器人做预警消息通知; ...

  7. Mac 安装cnpm

    1.先安装node   node的下载地址:http://nodejs.cn/download/   这个没什么好说的,安装完成后测试一下,在终端输入:node -v   这时候就可以看到安装的nod ...

  8. Vue-cli使用prerender-spa-plugin插件预渲染和配置cdn

    参考:https://www.jianshu.com/p/6a4c0b281e7f 使用vue-cli打包项目一般为spa项目,众所周知单页面应用不利于SEO,有ssr和预渲染两种解决方案,这里我们只 ...

  9. Docker配置阿里云镜像加速pull

    前言:默认Docker拉取镜像是从Docker Hub上拉取,但由于防火墙的原因,导致镜像下载非常慢.为了提高拉取镜像的速度,可以配置阿里镜像或是网易镜像加速,通过使用经验推荐配置阿里镜像. 申请个人 ...

  10. JavaSE---多线程---线程的创建、启动

    1.概述 1.1 Java中使用Thread类表示线程:   所有的线程对象必须是Thread类 或 其子类的实例:   每条线程的作用:完成一定的任务:   Java中使用run方法来封装线程执行体 ...