代码

代码语法高亮

在技术文档、教程或任何包含代码示例的博客文章中,清晰的代码语法高亮是提升可读性的关键。Hugo 内置了对代码语法高亮的支持,通常通过 Chroma 代码语法高亮器实现。

启用语法高亮

大多数 Hugo 主题默认启用了语法高亮。如果你的主题没有,或者你想自定义,通常有以下几种方式:

  1. 全局启用(在 config.toml 中):

    [params]
      highlight = true
    
  2. 主题配置: 检查你所使用主题的文档,它可能提供了特定的配置选项来启用或禁用语法高亮。

Markdown 中的代码块

Hugo 支持标准的 Markdown 代码块语法:

  • 围栏代码块 (Fenced Code Blocks): 使用三个反引号(```)来包裹代码块。你可以在开头的反引号后指定语言,以获得正确的语法高亮。

    ```go
    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, Hugo!")
    }
    
    
    ```markdown
    ```python
    def greet(name):
        print(f"Hello, {name}!")
    
    greet("World")
    
  • 缩进代码块 (Indented Code Blocks): 将代码块的每一行缩进四个空格。这种方式通常不如围栏代码块灵活,并且指定语言高亮的功能有限。

        package main
    
        import "fmt"
    
        func main() {
            fmt.Println("Hello, Hugo!")
        }
    

支持的语言

Chroma 支持大量的编程语言。你可以在 Hugo 的文档或 Chroma 的官方文档中找到支持的语言列表。如果你的主题支持,通常会有一个 chromastyles.Go 文件,其中定义了可用的样式。