Hugo 的使用&配置中有那些技巧与坑?

我的博客查看更多好文章,本文的博客地址

零、安装

这里以 Windows 下安装为例。

直接在 Release 页面 下载对应平台压缩包,解压后将路径添加到系统 PATH 中,或者直接将 hugo.exe 扔进 C:\Windows\System 中。

一、使用

新建网站:hugo new site myblog

新建文章:hugo new posts/xxxx.md

本地服务器预览:hugo server,随后可以通过访问本地端口预览。

生成静态文件:hugo,随后可在 public 文件夹中得到渲染好的静态文件。

二、配置

下载主题 Coder,将其以文件夹形式解压至 themes 文件夹下,并复命名为 hugo-coder,随后将其中 exampleSite 文件夹下的文件复制到博客文件夹下。

代码高亮配置

官方文档:Syntax Highlighting

Hugo 中集成了 Chroma 来进行代码高亮。

TLDR:将下列设置复制到配置文件中(以 TOML 为例)

[markup]
  [markup.highlight]
    anchorLineNos = false
    codeFences = true
    guessSyntax = false
    hl_Lines = ''
    lineAnchors = ''
    lineNoStart = 1
    lineNos = false
    lineNumbersInTable = true
    noClasses = true
    noHl = false
    style = 'algol'
    tabWidth = 4

三、踩坑

1. 国内无法使用 Built-in Shortcode 导致的 Hugo 超时

找到 content 目录下所有的和 Youtube、Twitter、Instagram 有关的内容,删干净就行了。

比如 content/posts/rich-content.md 中的 Shortcode 介绍,如果保留的话,由于国内网络问题,hugo server 命令会超时随后报错。

2. 主题配置文件默认开启了 CSP 导致的外部文件无法引用

有些主题 exampleSite 中的配置文件,会默认开启 Content-Security-Policy(CSP),以保证网站开发的安全和规范,但是在这种规范下,未加入 stylesrcscriptsrc 的文件就会出现无法引用的情况。

解决方式有两种,推荐是将需要引用的外部文件的域名加入配置文件的 sytlesrcscriptsrc 中,如若该过程比较麻烦(比如需要引用大量外部文件),则可以直接将配置文件中的 [params.csp] 部分全部注释或删除。

补充:在后续内容创作过程中,可能还会出现引用外部图片出错的情况,大概率也是因为这里 CSP 设置的原因。尽量推荐还是不要去关闭 CSP,而是在需要添加来源时,根据浏览器的报错信息,在 config.toml 中搜索对应的 src 添加即可。

补充:在 src 的添加中,可以使用通配符来简化大量外部文件或复杂地址的引入。

四、技巧

1. 聚合文章&使用模板

其实 hugo 在新建文章时,不一定要 hugo new posts/xxxx.md

可以 hugo new xxxx.md,这样会在 content 目录下新建文件 xxxx.md,网站中可以通过 /xxxx 来访问。

还可以 hugo new <name>/xxxx.md,这样会在 content 目录下的 <name> 目录下新建文件 xxxx.md(若文件夹 <name> 不存在则会自动新建),网站中可以通过 /<name>/xxxx 来访问。此时,在网站中访问 /<name> 即可显示目录下所有文章的列表,实现文章聚合。

对于每一个 <name> 的聚合,我们可以在网站目录下的 archetypes 目录中,新建一个 <name>.md 文件,则可创建该类聚合的模板,后续的每一次 hugo new <name>/xxxx.md 都会以 <name>.md 为模板。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值