标记语言文本学习

  现在最流行的标记语言文本要数Markdown(*.md)了,其实它的出现是为了更方便的读写,然后转换为我们更熟知的HTML (HyperText Markup Language)。HTML就是一种标记语言,XML (eXtensible Markup Language)也是,它们都是MarkUP(标记上),而Markdown是MarkDOWN(标记下)。
  为了便于读写、或者数据交换,人类已经造出了很多标记语言文本,简单学习几个,具体语法使用某度和某哥会给出来一堆;HTMLXML就不说了。

Markdown(*.md)

  应用于代码库的Readme.md文件,帮助文档等等各种场景。
Markdown很简洁,特别易于读写,可以称得上是最轻量级的了。但是语法有些不统一,尤其各家工具处理缩进和换行时不一样。
优点明显大于缺点,大家都在向GitHub GFM看齐吧。

reStructuredText(*.rst)

  Python文档使用较多,写个Readme.rst也是没问题的,GitHub也可以直接渲染rstHTML预览。
rst语法很规范,对比Markdown有些语法相似,稍微复杂一点点。Python Package的标准文档格式,起初还创建了一个工具Sphinx来处理Python文档。
其实使用rst的也是大有人在。

RubyDoc(*.rdoc)

  Ruby项目的文档系统。*.rdoc也被各个代码托管平台直接像HTML那样展示。
RDoc可以生成HTMLRuby自带rdoc命令,而且可以像javadoc那样,生成整个项目的在线API文档。
不过国人用Ruby的是不是少呀?

RedCloth(*.textile)

  textile也是Ruby系的标记语言文本。由RedCloth模块处理。
它的语法同样很简洁,在各个平台上*.textile也可以直接以HTML预览。现在textile也被应用到了其他编程语言项目。
不过这后缀名太长了。

YAML(*.yml)

  YAML(YAML Ain’t Markup Language)YAML不是标记语言,但是它以ML结尾所以列出来了学习一下。
YAML生下来是作为一种所有编程语言友好的数据序列化标准的,也用于项目配置文件,如dockerswaggerhexo
顺便提一下JSONJSON也用于数据序列化和配置文件。语法格式上YAML取决于代码块缩进,而JSON由’{‘,’}’来区分。


  平时编程常用的就是上面这几个(虽然YAML不算,但也很常用),还有其他的如SGMLVRMLWMLDocBookLaTeXOPML等等太多了。有些或已过时,有些正在制定标准,各种场景又有不同格式的标记文本…

工具

Editor.md: Markdown在线编辑器
Pandoc: 支持多种格式互转
docutils: 把reStructuredText转换成其他格式
RedCloth: 把textile转成html
ChromeAtomIdeaSublime都有相应的插件。