文章更新历史:
-
2017/11/19 文章发布
随着代码越写越多,软件开发经验的不断积累,程序员会变得越来越“谨小慎微”。 做任何一个代码提交前,都会仔细地确认所做的修改。而这需要版本管理系统的支持才可做到。 如果所做的工作没有版本管理,那么可能会是一件很不痛快的事情。
在程序员的日常工作中,除了要编写软件的源代码,还经常需要撰写一些技术文档(包括一些架构设计图等)。 而在部分程序员眼中,“一切皆代码”是一件应当努力追求的事情,不论是技术文档还是设计图。
以自己为例,会把所有的代码、文字存于GitHub(公开信息)或者Bitbucket(非公开信息)。
在软件开发社区中,Markdown是被大家广泛接受的一个文档写作工具,其语法简单、支持工具众多。 但正因为其语法简单,支持的特性相对贫乏,无法满足稍微复杂一点的写作诉求。 于是产生了很多第三方衍生版本,其中最有名的衍生版本应该是GFM(GitHub Flavored Markdown)。 尽管有了特性更丰富的众多衍生版本,但依然有一些写作需求得不到满足。 例如,无法在节标题中添加编号,无法为代码块添加解读说明,等等。
这世界上还有很多写作工具,其目标用户和使用场景各不相同。AscciDoc就是其中一个,语法相对简单却又功能丰富。 既可以像Markdown那样简单使用,也可以用上更多特性,解决我们的绝大多数写作诉求。 幸运的是,GitHub除了支持自家的GFM,同时也还支持AsciiDoc。
那AsciiDoctor又是什么?用其官方网站的一句话解释:
A fast text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook & more.
AsciiDoc文档的文件后缀一般用 adoc
或者 asc
,在常见编辑器及GitHub中都支持。
支持AsciiDoc文档编辑与渲染(预览)的工具很多,个人推荐Atom(同样适用于Markdown),只需要安装如下插件即可:
如果想测试AsciiDoc在GitHub上的渲染效果,建议在你的GitHubGist帐户中创建一个测试文件(xxx.adoc), 可以反复修复文件,查看效果。
GitHub虽然支持AsciiDoc文档的渲染,但效果比起上面的Atom插件就差多了,不过将就看就行。
为了让你的AsciiDoc文档在GitHub上更好看一点,可以做一些配置:
-
提示、警告块的图标
在AsciiDoc文档header中添加如下设置项,即可在GitHub上为『提示』、『警告』块加上图标(默认为文字):
ifdef::env-github[] :note-caption: :paperclip: :tip-caption: :bulb: :important-caption: :exclamation: :caution-caption: :fire: :warning-caption: :warning: endif::[]
💡参见本文档header部分。
在AsciiDoc中,有三类标题:
-
文章标题
-
章节标题
-
块标题
所有标题都是可选的。
见本文第一行就是,也请关注下其下的header信息。
在AsciiDoc中,文章标题用 =
来标识,但也可以用Markdown中的 #
来标识。
💡
|
在文章标题和第一个章节标题之间的内容是序文,可有可无。 |
下面是一个无序号列表:
-
列表项
-
列表项
-
列表项
下面是一个嵌套殂:
-
列表项
-
嵌套列表项
-
嵌套列表项
-
嵌套列表项
-
-
-
列表项
-
列表项
-
列表项
-
列表项
-
列表项
-
列表项
-
列表项,这行内容有长, 需要换行
-
列表项
-
列表项
-
列表项
-
嵌套列表项, 太长,需要换行
-
嵌套列表项
-
-
列表项
- 标签1
-
标签的相关解释
- 标签2
-
标签的相关解释
标签1 |
标签的相关解释 |
标签2 |
标签的相关解释 |
- 标签1
-
标签的相关解释
- 标签2
-
标签的相关解释:
-
列表项
-
列表项
-
列名1 | 列名2 | 列名3 |
---|---|---|
row 1, column 1 |
row 1, column 2 |
row 1, column 3 |
row 2, column 1 |
row 2, column 2 |
row 2, column 3 |
列名1 | 列名2 | 列名3 |
---|---|---|
row 1, column 1 |
row 1, column 2 |
row 1, column 3 |
row 2, column 1 |
row 2, column 2 |
row 2, column 3 |
row 1, column 1 |
row 1, column 2 |
row 1, column 3, 这行有点长,需要换行哦 |
row 2, column 1 |
row 2, column 2 |
row 2, column 3 |
列名1 | 列名2 | 列名3 |
---|---|---|
row 1, column 1 |
row 1, column 2 |
这儿有一个内嵌的列表:
|
row 2, column 1 |
row 2, column 2 |
row 2, column 3 |
footer1 |
footer2 |
footer3 |
ID | Nickname | |
---|---|---|
xxx |
Tom |
|
yyy |
Cat |
在文字中有一个链接 https://github.com/yongce ,会被自动识别。
如果不想显示URI的scheme,可以在文档的header中添加如下选项:
:hide-uri-scheme:
如果想用文字来代替显示URL,可以这样做 Yongce@GitHub。
跳转到本仓库的README文档:README
当我们需要显示代码,或者希望像显示代码一样去显示内容时,就应该用『代码块』来解决。
『代码块』由两行4个或者更多 -
来限定其中的内容。
@FunctionalInterface (1)
interface OperatorTypeOne {
int operate(int value); (2)
}
-
代码解释1
-
代码解释2