シンタックスハイライト

シンタックスハイライト

Hugoは、純粋なGoで書かれた汎用シンタックスハイライターであるChromaを使用してシンタックスハイライトを行います。 Markdownコンテンツ内のコードブロックにはバッククォートを使用することを推奨します。例えば:

Markdown
```python
def say_hello():
    print("Hello!")
```

は次のようにレンダリングされます:

def say_hello():
    print("Hello!")

機能

ファイル名

コードブロックにファイル名やタイトルを追加するには、filename属性を設定します:

Markdown
```python {filename="hello.py"}
def say_hello():
    print("Hello!")
```
hello.py
def say_hello():
    print("Hello!")

ファイルへのリンク

New in v0.9.2

base_url属性を使用して、ファイル名と組み合わせてリンクを生成するベースURLを提供できます。

ファイル名には、ベースパス内のファイルの場所を指定する相対パスを含めることができます。

Markdown
```go {base_url="https://github.com/imfing/hextra/blob/main/",filename="exampleSite/hugo.work"}
go 1.20
```

行番号

行番号を設定するには、linenos属性をtableに設定し、オプションでlinenostartを開始行番号に設定します:

Markdown
```python {linenos=table,linenostart=42}
def say_hello():
    print("Hello!")
```
42
43
def say_hello():
    print("Hello!")

行のハイライト

行をハイライトするには、hl_lines属性に行番号のリストを設定します:

Markdown
```python {linenos=table,hl_lines=[2,4],linenostart=1,filename="hello.py"}
def say_hello():
    print("Hello!")

def main():
    say_hello()
```
hello.py
1
2
3
4
5
def say_hello():
    print("Hello!")

def main():
    say_hello()

コピーボタン

デフォルトでは、コードブロックにコピーボタンが有効になっています。その動作はサイト設定ファイルを変更することで変更できます:

hugo.yaml
42
43
44
45
46
47
params:
  highlight:
    copy:
      enable: true
      # hover | always
      display: hover

サポートされている言語

サポートされている言語のリストについては、Chromaのドキュメントを参照してください。

最終更新日