zoukankan      html  css  js  c++  java
  • Markdown的选择

    直击现场

    我一直在思索用什么格式存储文档比较好。之前一直在用google docs,但是它的格式不公开,上传/下载的时候需要转换格式,转换的时候必然会丢失一些信息。于是后来想,那还是纯本文或者markdown吧。

    但是Markdown方言很多,选哪个好?我考察了以下三个。

    1. pandoc . John MacFarlane写的,万能的转换器。对我来说一个缺点是它的是Haskell语言。

    2. commonmark . 这是John MacFarlane搞的对markdown进行标准化的一场伟大尝试。他给出了C语言和js的实现,其中C语言的很容易在windows下编译过去,代码简单易懂。可惜,没人买账。

    3. GitHub Flavored Markdown . 这个大概是现在事实性的标准了。因为代码都托管在github上,所以写文档的时候自然也就顺着 github 的要求来。我没有找到它的开源实现。但是,atom.io是github公司的,而这个编辑器的markdown实现用的是 marked . 我试了下还不错。

    于是我就照着例子拿marked写了一个简单的脚本来把markdown文件转换成html

    var marked = require('marked');  
    var fs = require('fs');  
    var inputFileName=process.argv[2];  
    var outputFileName=inputFileName.replace('.md','.html');  
    console.log("processing "+inputFileName);  
    var markdownString=fs.readFileSync(inputFileName,"utf8");  
    marked.setOptions({  
      highlight: function (code) {
        return require('highlight.js').highlightAuto(code).value;
      }
    });
    htmlbody=marked(markdownString);  
    html="<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
    "+  
    "<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.5/styles/default.min.css">
    "+
    "</head><body>"+htmlbody+"</body></html>";
    fs.writeFileSync(outputFileName,html,{encoding:"utf8"});  
    

    html header中再加上一行mathjax的js链接,就可以在markdown中支持数学公式了。

  • 相关阅读:
    使用taobao的npm镜像源,同时安装nrm镜像工具
    文档工具
    javascript基础语法备忘录-变量和数据类型
    a :hover 和a:hover 区别
    我使用的brackets插件
    使用git将自己的代码同时保存在多个代码托管平台
    mac os安装macvim
    ubuntu下安装录屏软件
    解决 eclipse cdt 运行时控制台乱码解决
    Chrome开发者工具详解(五)之Network面板
  • 原文地址:https://www.cnblogs.com/RTdo/p/4416172.html
Copyright © 2011-2022 走看看