markdown语法详解
Markdown 是一种轻量级标记语言。它允许人们”使用易读易写的纯文本格式编写文档, 然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
个人在平时非常喜欢用markdown写文档,完全就是程序员的福音,因为几个非常简单的语法就能实现漂亮的文字排版。 另外各种工具和网址对于它的支持也是非常好,github博客就是用markdown写的。 还可以利用版本管理,非常方便的管理写过的文章,这篇文章总结一下它的用法。
基本用法
代码
如果你只想高亮语句中的某个函数名或关键字,可以使用 `function_name()` 实现
你也可以用下面的格式指定一种语言
1 | ''' python |
支持的语言:
actionscript, apache, bash, clojure, cmake, coffeescript, cpp, cs, css, d,
delphi, django, erlang, go, haskell, html, http, ini, java, javascript, json, lisp, lua,
markdown, matlab, nginx, objectivec, perl, php, python, r, ruby, scala, smalltalk, sql,
tex, vbscript, xml
也可以使用 4 空格缩进,再贴上代码,实现相同的的效果
1 | def greet(name): |
标题
对于标题的分段语法为:
1 | 标题1 |
粗斜体
1 | *斜体文本* _斜体文本_ |
链接
常用链接方法
1 | 文字链接 [链接名称](http://链接网址) |
高级链接技巧
1 | 这个链接用 1 作为网址变量 [Google][1]. |
列表
普通无序列表
1 | - 列表文本前使用 [减号+空格] |
普通有序列表
1 | 1. 列表前使用 [数字+空格] |
列表嵌套
1 | 1. 列出所有元素: |
引用
普通引用
1 | > 引用文本前使用 [大于号+空格] |
嵌套引用
1 | > 最外层引用 |
引用里嵌套列表
1 | > - 这是引用里嵌套的一个列表 |
引用里嵌套代码块
1 | > 同样的,在前面加四个空格形成代码块 |
图片
跟链接的方法区别在于前面加了个感叹号 !
1 | ![图片名称](http://图片网址) |
也可以像网址那样对图片网址使用变量
1 | 这个链接用 1 作为网址变量 [Google][1]. |
也可以使用 HTML 的图片语法来自定义图片的宽高大小
1 | <img src="htt://example.com/sample.png" width="400" height="100"> |
换行
如果另起一行,只需在当前行结尾加 2 个空格,或者用<br/>
,我个人更喜欢用<br/>
,
因为我喜欢用pycharm写markdown,这个IDE喜欢把行末空格自动删了。
1 | 在当前行的结尾加 2 个空格或用<br/> |
如果是要起一个新段落,只需要空出一行即可
1 | 这是一个段落 |
分隔符
如果你有写分割线的习惯,可以新起一行输入三个减号-。当前后都有段落时,请空出一行:
1 | 前面的段落 |
高级技巧
行内 HTML 元素
目前只支持部分段内 HTML 元素效果,包括 <kdb> <b> <i> <em> <sup> <sub> <br>
,如
代码块
1 | 使用 <pre></pre> 元素同样可以形成代码块 |
粗斜体
1 | <b> Markdown 在此处同样适用,如 *加粗* </b> |
符号转义
如果你需要用到 markdown 的符号,比如 _ # *
等,但又不想它被转义,
这时候可以在这些符号前加反斜杠,如 \_ \# \*
进行避免。
1 | \_不想这里的文本变斜体\_ |
扩展
支持 jsfiddle、gist、runjs、优酷视频,直接填写 url,在其之后会自动添加预览点击会展开相关内容。
1 | http://{url_of_the_fiddle}/embedded/[{tabs}/[{style}]]/ |
公式
当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。 提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。如:
1 | $$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $$ |
同时也支持 HTML 属性,如:
1 | $$ (x+1)^2 = \class{hidden}{(x+1)(x+1)} $$ |
markdown编辑器
目前有很多好用的md编辑器,基本都实现了所见即所得功能,比如简书,Atom,MarkdownPad等等。
OK了,关于markdown的使用总结就差不多了。你大概花一天时间就能熟悉,然后就可以开始你的神奇之旅了。 还等什么赶紧开搞啊!~~