超级文本标记语言,标准通用标记语言概念

  超级文本标记语言,标准通用标记语言概念

  一只熊在天上飞知不如行,乐不如好第7页

  Markdown是一种轻量级标记语言,由raphaelzhang于2012年3月4日发布。

  Reply Markdown是一种轻量级的标记语言,对于编写简单的技术文档非常方便。它是由约翰格鲁伯发明的,现在已经在Stack Overflow、BitBucket和Github网站上使用。Markdown是文本格式的,语法非常简洁明了。

  使用Markdown可以方便技术人员编写技术文档。我以前用Word写文档,HTML写文档,当然还有无格式文本文件写文档,UML图做文档。但是现在,我觉得用Markdown来写技术文档比所有的都更合适。

  原因是:

  Markdown是文本格式的,非常适合保存在版本控制软件中,比较版本也很方便。写文档也很简单。不需要特殊的软件。任何文本编辑器都可以做到。Markdown是格式化的,比未格式化的文本文件结构化得多。Markdown不需要非常繁琐的类似HTML的标签来控制格式。这些标签写的时候很麻烦,看的时候也会干扰视线。人不能流畅的读写。当你使用BitBucket或者GitHub托管你的代码时,一般可以在根目录下添加一个README.markdown,这样当别人通过浏览器查看你的项目时,BitBucket或者GitHub就会在项目首页显示这个文件转换而来的HTML,非常实用。

  我们来比较一下同一个文档是如何用HTML和Markdown编写的,比如下面的Markdown片段:

  我的软件

  ====================

  降价

  -

  Markdown是编写技术文档的好语言,因为:

  *是文本

  *很清楚

  *它有清晰的读写格式

  运行python MD 2 html . py-I input . MD-o output.html将markdown文档转换为html。

  对应的HTML文档是:

  可扩展的超文本标记语言

  12345678910111213 h1我的软件/h1

  h2降价/h2

  p Markdown是编写技术文档的好语言,因为:/p

  保险商实验所

  李:这是正文/李

  李天气晴朗/李

  它有清晰的读写格式/li

  /ul

  p运行代码python MD 2 html . py-I input . MD-o output.html/code把一个markdown变成一个html。/p

  当然,Markdown也有一个缺点。直接浏览它的文本格式可能不太美观,尤其是要作为文档发布给别人看。转换成HTML或者PDF格式会更方便。市面上有一些免费软件可以做到这一点,比如Pandoc。Pandoc可以读取markdown、reStructureText、textile、HTML、LaTeX格式的文档,并转换成PDF、DocBook、ePub、Microsoft docx、HTML、groff手册页、OpenDocument、RTF、markdown、reStructureText、textile、AsciiDoc等大量文档格式,功能非常强大。我还做了一个pandoc.css,用于将markdown转换成html。我用的时候只需要pandoc your-Markdown-file-o your-output . html-s-h pandoc . CSS

  另外,Markdown当然不能实现HTML的每一个标签。为了简洁,也损失了很多HTML的功能,但是对于技术文档写作来说完全够用。

  Markdown也有很多在线编辑器,比如这个和这个。

  就普通编辑器而言,vim有许多用于markdown的语法高亮插件,比如这个。但是,我在Windows上常用的编辑器记事本不支持Markdown。虽然Github上有个插件勉强可用,但是这个插件只能随便用,不好用。当然,最主要的原因还是记事本的自定义语言功能有限,至少没有vim那么强。还有一个好的编辑器Sublime Text。虽然它支持markdown,但它也有微弱的支持,不支持GBK。

  除此之外,Python、Perl、Java、PHP、C#等语言都有相应的Markdown解析或转换模块。Python的这个Markdown模块不错,但是因为它只生成HTML的片段,而我们需要给里面的代码添加CSS样式,所以我做了一个md2html模块来封装它。得到的HTML是一个完整的HTML文件,编码使用UTF8。对应的CSS代码是:

  CSS 123456789101112131415161718 code { border:# dfdfdf 1 px solid;填充:1px 3px背景:# ffffe8颜色:# 444;字体:0.8em Monaco, Courier New , DejaVu Sans Mono , Bitstream Vera Sans Mono ,monospace-WebKit-border-radius:3px;-moz-border-radius:3px;边框半径:3px-moz-background-clip:填充;-WebKit-background-clip:padding-box;背景剪辑:填充框;显示:内嵌-块;边距:0px} pre { margin-left:4em;}

  下面是转换文章开头的markdown文件后由md2html生成的页面。

  除了markdown,还有一些类似的轻量级标记语言,比如reStructureText、textile和AsciiDoc。不过,从简洁和功能的平衡来说,markdown更令人满意。此外,markdown现在似乎被更广泛地使用。

  P.S .用markdown做文本文档,有时候需要画图怎么办?可以从文本文件生成图形吗?这时候我们就需要Graphviz了,它可以通过自定义的脚本语言生成图形,比如下面这个脚本:

  有向图git

  graph[rank dir= LR ];

  node [shape=ellipse ,fontcolor=gray ,color=gray] master branch1。

  node [shape=circle ,fontcolor=black ,color= black ];

  c0 - c1 - c2 - c3 - c4 - c5 -

  C3-C7[label= git check out-b branch 1 ,font color= gray ];

  c7 - c8 -

  master-C4[color= gray ];

  branch 1-C7[color= gray ];

  您可以生成这样的图像:

  但是,Graphviz在精细排版方面无能为力。我们还是不能指望它做出商业图纸。我们只能用Graphviz做技术交流图。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: