hugo小玩
1. 安装
- install from source
- by brew
- install pre-built-binary
2. 下载源码
$ go get github.com/magefile/mage
$ go get -d github.com/gohugoio/hugo
$ cd ${GOPATH:-$HOME/go}/src/github.com/gohugoio/hugo
$ mage vendor
$ mage install
疑难点:
- 依赖
- 该项目依赖了贼多的外部库 可以使用
https://www.golangtc.com/download/package
辅助
- 该项目依赖了贼多的外部库 可以使用
- mage 自动更新
- mage在构建时,会自动更新 dep 工具,然而我的网络,你懂得,连不上
github.com/golang/dep
- 更新了dep之后,会报告dep构建失败,需要更新 go 版本
- mage在构建时,会自动更新 dep 工具,然而我的网络,你懂得,连不上
我的目标
我希望使用hugo来构建笔记,但我的笔记喜欢写 时序图 和 流程图
希望能在hugo上继续使用。
一番翻找,发现hugo源码里面markdown或者其它文本使用 github.com/gohugoio/hugo/tpl
子库完成。
主要关键函数
func (c ContentSpec) RenderBytes(ctx *RenderingContext) []byte {
switch ctx.PageFmt {
default:
return c.markdownRender(ctx)
case "markdown":
return c.markdownRender(ctx)
case "asciidoc":
return getAsciidocContent(ctx)
case "mmark":
return c.mmarkRender(ctx)
case "rst":
return getRstContent(ctx)
case "org":
return orgRender(ctx, c)
case "pandoc":
return getPandocContent(ctx)
}
}
实际,平常使用肯定是 markdown 格式,
hugo中解析 markdown 使用 blackfriday
库。
通过 blackfriday
渲染过后,应该会类似其它语法,
所以,理论上,应该是在 theme
中再加上几句 js
应该就能解决问题。
待明日研究。