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\" >\n"+
"<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.5/styles/default.min.css\">\n"+
"</head><body>"+htmlbody+"</body></html>";
fs.writeFileSync(outputFileName,html,{encoding:"utf8"});

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

时间: 2024-09-30 09:25:43

Markdown的选择的相关文章

在为知笔记中使用Markdown和思维导图

为知笔记Wiz是一款很好的网摘和笔记工具,作为为知的忠实用户,我在为知收费后第一时间就购买了两年的授权,毕竟这么多年积累的资料都在为知上,我也习惯了使用Wiz来做些工作相关的笔记.为知笔记自带Markdown编辑模式,可以很方便地创建富媒体文档,再结合UEditor插件,我们就可以完美实现在笔记中编辑,插入和显示思维导图,体验非常棒. 如何创建Markdown笔记 在Wiz中下拉"新建笔记"菜单,点击"新建Markdown笔记"即可创建Markdown笔记并直接进入

Python使用Mistune对markdown自定义规则解析

Mistune--更快的markdown解析器 在Python中有很多markdown解析器,以前我一直使用的是Python-markdown,一个纯Python实现的markdown解析器,别的不说,慢的要死倒是真的.每次点击保存后,都要响应很久,我开始一直以为是我的vps在国外导致的,后来还用了Mistune才知道,不是网速的问题,是解析器的速度问题. 没有对比就没有伤害,Mistune是所有纯Python实现中最快的一个.在纯Python环境中,几乎比Python- markdown快4倍

实现泰坦尼克号预测源码和分析

{ "cells": [ { "cell_type": "markdown", "source": [ "# fk\n", "\n" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source":

Markdown简单使用

Markdown 是一种轻量级的标记语言,由John Gruber和Aaron Swartz创建,兼容HTML.它可以快速构建一个具有一个格式的文本文件,其易读易写的特性吸引很多人使用它. 目前普遍使用文本编辑器来书写一个Markdown文件,关于编辑器的选择每个人有自己的使用习惯,本人使用的是Typora这个简洁的跨平台的随写随看的Markdown编辑器. Markdown简单使用: 标题 在内容前加#, #的个数代表标题的级数(当然也可以在标题内容的前后加上等数量的#) 引用 内容前加 >

[转]有道云笔记markdown

作为半个文字工作者,一天当中,一半时间用在遣词造句,一半时间则在死磕排版.当听说"前所未有的极简语法"Markdown,不仅能简化排版.大大提高书写效率,而且上手零门槛.好奇宝宝怎么忍得住一颗蠢蠢欲动的心? 从未接触过代码的门外汉,初次听说Markdown,脑子是空的.但如果愿意抽5分钟,看下这篇文章--了解Markdown是什么.能干什么.对码字的你有什么益处:再打开有道云笔记,抽出10分钟对照Markdown简明教程加以练习. 15分钟,你就能掌握一门极客圈最流行的文本编辑语言~

Markdown 语法说明

NOTE: This is Simplelified Chinese Edition Document of Markdown Syntax. If you are seeking for English Edition Document. Please refer to Markdown: Syntax. 声明: 这份文档派生(fork)于繁体中文版,在此基础上进行了繁体转简体工作,并进行了适当的润色.此文档用 Markdown 语法编写,你可以到这里查看它的源文件.「繁体中文版的原始文件可以

Markdown——入门指南

导语: Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果. Ulysses for Mac 一,认识 Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」

简体中国版文档的Markdown语法

Markdown文件 注意︰这是简体中国版文档的Markdown语法.如果你正在寻找英语版文档.请参阅Markdown︰ Markdown: Syntax. Markdown: Syntax 概述 哲学 行内 HTML 特殊字符自动转换 区块元素 段落和换行 标题 区块引言 清单 程序代码区块 分隔线 区段元素 连结 强调 程序代码 图片 其他 跳脱字符 自动连结 感谢 注意:这份文件是用Markdown写的,你可以看看它的原始档 . 概述 哲学 Markdown的目标是实现「易读易写」. 不过

献给写作者的 Markdown 新手指南

「简书」作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有写作者学习和掌握该语言.为什么?可以参考: 『为什么作家应该用 Markdown 保存自己的文稿』. 『Markdown写作浅谈』 在此,我们总结 Markdown 的优点如下: 纯文本,所以兼容性极强,可以用所有文本编辑器打开. 让你专注于文字而不是排版. 格式转换方便,Markdown 的文本你可以轻松转换为 html.电子书等. Markdown 的标记