Skip to content

sunwei/gobyexample

 
 

Repository files navigation

深入理解Hugo

代码实例来帮助 深入理解Hugo,

Overview

深入理解Hugo 站点并不是由hugo生成的。

站点生成的主要思想是一样的: templates + content - examples => site - public 既通过模板,将内容转化为静态站点。

虽然hugo提供了强大的模板功能,但主要支持的内容格式是markdown。 并不是我们examples中的*.go文件。

再加上解析方式的不同。 在我们的示例中,需要逐行解析,分别用blackfriday解析注解,和chroma来解析go代码。 这不同于Hugo现在用goldmark来解析md文件,并将文件内容作为整体来进行处理,虽然提供了一些字符处理功能函数。 readDir可以帮我们获取样例下的所有文件,readFile可以帮助我们读取文本内容,replaceRE可以帮助我们用正则来处理内容。 但没法生成高亮的go代码块。

如果想创建一个Hugo Theme来提供这些功能,做起来就会比较别扭。 最好的方式是拓展Hugo功能,让它支持编程语言的内容格式。 但这会和Hugo现在的内容体系显得格格不入,有些别扭。 说不定可以重新开启一个Hugo的分支,专门用来支持开发人员源码讲解的站点需求。 让我们在这里加一个TODO,放到深入理解Hugo的实际样例章节 - 开发人员友好的Hugo。

Building

test

安装Go,运行:

$ tools/build

支持所见既所得,持续构建:

$ tools/build-loop

启动本地服务:

$ tools/serve

可检查站点: http://127.0.0.1:8000/

Publishing

持续发布:

$ git push

Releases

No releases published

Packages

No packages published

Languages

  • Go 87.0%
  • CSS 10.7%
  • Shell 2.3%