Hugo-Hugo补充
1. 关于使用内联Html元素被忽略
|
|
需要添加选项
|
|
之后就能使用了,详见stackoverflow
2. 关于使用原型archetypes
archetype用于hugo new post
时使用某模板(包括markdown模板和目录模板),有两种使用方式
- 直接对content目录下一级目录的文章统一模板。
- 明确说明某目录使用目录模板或者某文章使用某markdown模板,使用
--kind xxx
选项
对于第一种情况,举个例子你在archetypes里面添加posts.md,然后content目录下的posts目录中的所有文章在使用hugo new posts/xxx
都会应用该模板
对于第二种用法,你可以hugo new xxx --kind yyy
其中xxx是你要在content种新建的目录或者新建的文章,yyy是你要使用的模板格式是archetypes目录中的相对路径,对于文章的模板不需要加.md后缀,比如我要用JavaScript.md的模板,我们只需要使用JavaScript作为模板文件名就行了。对于目录,可以直接使用目录模板,比如我要把"前端"模板目录里面的所有文件应用到新建的目录中,我们需要使用"前端"作为模板目录。
其他详见hugo官网的说明
3. 扩展Shortcodes
style
style shortcode 用来在你的文章中插入自定义样式.
style shortcode 有两个位置参数.
第一个参数是自定义样式的内容. 它支持 SASS 中的嵌套语法, 并且 & 指代这个父元素.
第二个参数是包裹你要更改样式的内容的 HTML 标签, 默认值是 div.
一个 style 示例:
|
|
|
|
4. 目录显示级数设置
添加网站设置
# 配置目录记录的等级
[markup.tableOfContents]
startLevel = 2
endLevel = 6
5. 代码高亮显示
在代码块```后面填写你需要显示的高亮语言类型
|
|
6.搜索引擎检索
- 每篇博客文章设置标题、关键词、描述
- config.toml文件设置站点描述
- 去各个搜索引擎平台进行站点搜索优化,即先添加站点,推荐使用文件添加将文件放到static即可,然后添加sitemap.xml
7.代码块设置
代码行号显示+代码拖动条
|
|
8.博文里面引用static中的图片
将图片放到static目录里面,比如image/1.png
,hugo会将static最终放到docs目录下,即直接放到静态文件的根目录下,所以我们引用的时候只需在md中写下:
|
|
注意最开始有一个/
图片放大功能
可以通过给图片加图注使得图片可以放大。
|
|
上面的"The Stormtroopocat"
就是图注
9.引用站内文章
使用超链接,以根目录相对路径的形式写出目标url,比如文章posts/golang/go-zero/教程/looklook.md
,我们的超链接地址写作/posts/golang/go-zero/教程/looklook/
,甚至可以在后面添加锚点定位,比如加上#项目架构图和业务架构图
。(当一个网页有多个重名锚点时会自动添加-n
后缀,n表示第几个重复的锚点)
能这么做的原因是hugo的文章生成静态文件后content文件夹的内容直接生成到根目录。
另外static文件夹直接放到根目录,所以static的文件也可以通过相对路径直接引用在md中。
锚点强制使用小写,且空格使用-
代替
10.评论系统
这里使用的是gitalk,它使用github issue进行评论存储,使用loveit主题,如果不是用的这个主题你需要按照知乎大佬说的配置
在github个人设置页面中,选择开发者设置
注册OAuth应用程序并填写信息,点击注册应用
记录ClientID和secret并填写到toml配置里面
如果你用的loveit主题那么到这里就结束了,不过需要你用自己的github账户打开博文才能开启issue,否则别人不能评论。
这里有一个大佬写了一个python脚本来实现自动化添加issue,个人博客 萧十一郎 Gitalk 初始化 issue
11. 添加busuanzi访问计数插件
非常简单,分3步:
- 按大佬博客添加busuanzi.html插件
- 修改config.toml使用busuanzi插件
- 在single.html或者footer.html添加你要放置访问计数的位置
12 超链接注意事项
不要在标题里面使用超链接,这样生成的目录会直接带着超链接,点击目录会直接跳转到超链接无法通过目录定位标题
13 markdown语法
代码块中显示反引号
使用两个或以上反引号围住代码,就可以显示反引号了,需要使用空格间隔围住代码的反引号,且并不会在最后显示空格:
|
|
显示结果为 val=`expr 1 + 2`