Hugo博客搭建+Stack主题

Hugo 是用 Go 实现的博客工具,采用 Markdown 进行文章编辑,自动生成静态站点文件,支持丰富的主题配置,也可以通过 js 嵌入像是评论系统等插件。Hugo大大加快了网页生成的速度,而且在源文件处修改的内容可以实时地显示在网页上。

安装

brew install hugo

生成博客

找一个合适的目录,输入hugo new site "博客文件夹名字",便可以生成一个用于存放博客的文件夹。

hugo new site Blog
cd Blog

安装主题

我用的stack主题,大家根据自己的喜好选择。

git submodule add https://github.com/CaiJimmy/hugo-theme-stack.git themes/hugo-theme-stack

配置文件

themes/hugo-theme-stack/exampleSite文件夹下的config.yamlcontent.gitignore文件复制到博客根目录,并删除config.toml

themes/hugo-theme-stack/archetypes文件夹复制到博客根目录,这里面是博文模版,可以根据自己的情况自定义修改里面的内容。

生成博文

在博客根目录执行hugo new post/xxxx.md,这时候就会在文件夹 content/post形成你要的markdown文件,打开进行编辑即可。

hugo new post/blog-test.md

渲染查看效果

在博客文件夹中执行hugo server,然后打开http://localhost:1313/来查看效果。

注意,markdown文件中的front matter部分有一个draft参数代表是否是草稿,是否渲染草稿需要执行不同命令:

# 不会渲染草稿文件
hugo server
# 将草稿文件也进行渲染
hugo server -D

博客美化

修改语言

修改config.yaml里面的对应字段:

languageCode: zh-CN
DefaultContentLanguage: zh-cn
hasCJKLanguage: true

如果不需要多语言切换功能,languages里面只留zh-cn,把其它语言全删掉。

更换头像

将自己的头像图片avatar.png放在assets/img/目录即可。

使博文支持html内容

config.yaml里的unsafe配置项改为true

markup:
    goldmark:
        renderer:
            ## Set to true if you have HTML content inside Markdown
            unsafe: true

博文图片防盗链

如果有一些博文用到的外部图片加了防盗链,就会加载失败。可以在这些博文里加入<meta name="referrer" content="no-referrer"/>代码来解决。

或者将这段代码放到layout/partials/head/custom.html里,这样就是对所有博文生效的。

Hugo可以通过博文里front matterslug来实现永久链接,如果没有设置或者是为空时,将使用title代替slug

每一次都手动添加slug实在是不方便,可以在默认模板\archetypes\default.md里设置自动生成:

slug: {{ substr (md5 (printf "%s%s" .Date (replace .TranslationBaseName "-" " " | title))) 4 8 }}

其它

还有很多其它的配置可以查看官方文档,根据自己需要修改。

Built with Hugo
主题 StackJimmy 设计