Skip to content

代码块配置

Hugo Narrow 支持代码高亮,并增强了代码块功能,包括:

  • 语言显示
  • 代码复制
  • 代码块折叠

基础代码块配置

hugo.yaml 中配置代码块样式:

yaml
markup:
  highlight:
    codeFences: true           # 启用代码围栏
    guessSyntax: true         # 自动猜测语言
    lineNos: true             # 显示行号
    lineNumbersInTable: false  # 使用表格式行号,为适配主题请设置为 false
    noClasses: false          # 使用 CSS 类而不是内联样式
    style: "monokai"          # 代码高亮主题,在此处设置无效,下有详细说明
    tabWidth: 4               # Tab 宽度

代码高亮样式

主题使用 chroma 代码高亮,并使用 github 和 github-dark 作为亮色和暗色模式下的样式。

为更好的适配主题,本主题通过 hugo gen chromastyles --style=github > ./assets/css/github.css 方式创建样式文件并适配主题。

自定义代码高亮

修改高亮样式同样需要通过命令生成样式。

bash
# 查看所有样式
hugo gen chromastyles --help

# 生成样式文件
hugo gen chromastyles --style=github > ./github.css
hugo gen chromastyles --style=github-dark > ./github-dark.css

完成后将对应的主题变量颜色在 ~/assets/css/chroma.css 中替换。

你也可以将对应的高亮变量名替换为自定义的颜色。

代码块增强

hugo.yaml中配置:

yaml
codeblock:
  collapse:
    enabled: true
    defaultState: expanded  # 默认折叠行为:expanded, collapsed
    autoCollapseLines: 30   # 超出指定行数折叠
    autoCollapseHeight: 400  # 超出指定高度折叠
    collapsedHeight: 120    # 折叠后的高度