サムネイル画像

hugoにソースコードを掲載するためのショートコードを作成した

2020.11.5 1 views

コードを記事に載せるとき、実行可能なファイルの内容を記事にしたほうがメンテナンスしやすいなと思い、作ってみました。

使い方

{{< code python “./path/to/hello.py” >}}

※hugoの記事にshortcodeの呼び出しコードを書くの難しいなぁ。

コード

shortcodeの中身は次のようになります。

ソースファイルを読み込んだあとは、もともと用意されているhighlightを使ってシンタックスハイライトを行うようにしています。

なので、highlightに対応するパラメータを渡すようにしています。

ファイルは./layouts/shortcodes/code.htmlという名前にしました。

{{ $type := .Get 0  }}
{{ $file := .Get 1 }}
{{ $opt := .Get 2 }}
{{ $code := readFile $file }}
{{ highlight $code $type $opt }}