3.3 其它标记语言 #
Hugo本身就支持Markdown和用于内容标记的HTML。 这些语言的解析器是用Go编写的,并嵌入到Hugo中,得到了Hugo团队的特别关照,以确保出色的表现。 Hugo还支持用于提供内容的AsciiDoc、PanDoc和reStrucureText。 这些语言在Hugo中不可用,而是通过外部帮助支持。 外部帮助是Hugo通过命令行调用的软件程序,用于解析一些内容。 因为他们在Hugo之外,Hugo无法保证他们的表现。 表3.1比较了Hugo支持的不同标记语言。
Table 3.1 Hugo中的内容标记语言
- Markdown将简单性和易用性置于功能之上。 对于跨度不超过几页的网站内容来说,它是一种完美的语言。 Hugo的Markdown解析器速度快,功能强大。 对于Hugo的新用户,建议从Markdown格式开始,除非他们已经掌握其它多种标记语言。
- 超文本标记语言(HyperText Markup Language)也是一种标记语言。 因为这是web浏览器理解的格式,所以当我们以这种语言提供内容时,不需要翻译。 与DOC或PDF之类的格式相比,原生格式的HTML更易于阅读,而且它提供的功能也比大多数其它标记语言更强大。 我们可以直接在Hugo中编写HTML,并且仍然可以利用Hugo的模板功能,我们将在接下来的章节中讨论这些功能。 不过,编写纯HTML语言确实会带来不利影响。 在编写基本的HTML时,我们倾向于将页面布局和结构与内容混为一谈。 像Markdown这样的语言迫使我们将重点放在内容上,但严格遵守纪律的人可以通过在Hugo中使用纯HTML来尽力获得更好的性能。
- AsciiDoc专注于具有数百页的文档,并且是书籍作者中最受欢迎的标记语言。 它提供了比Markdown更多的功能,尽管这是以不支持许多编程语言和框架为代价的。 这本书的源代码由AsciiDoc生成。
- pandocc是一个文件格式转换器,支持Markdown的超集,Hugo可以使用其命令行将其转换为HTML。
- reStructuredText专注于生成文档项目。 它是正式定义的,并且具有更严格的语言,以牺牲简单性为代价提供了更容易的解析。
请注意,Hugo不断添加对新格式的支持。 在写这本书的时候,Hugo正在积极讨论如何在原生支持AsciiDoc。 有了原生支持,AsciiDoc将获得性能提升,我们将可以选择用于内容的语言,而缺点却很少。