記事数が少ないうちはあまり恩恵はないと思いますが……。

Hugo で File変数 からフルパス取得し、サーバーで動作してる間、 シングルページに Visual Studio Code で開くリンクを表示させたら、記事数が今後増えてきたときにもしかしたら編集がちょっと便利になるかもしれない。

現在当サイトでは hugo-PaperMod をテーマとして使用しています。

導入

vscode://file/{full path to file}

というURLにアクセスすると Visual Studio Code でそのファイルを起動することが出来る機能を使います。 詳しくは The Visual Studio Code command-line options をご覧ください。

Partial Template を作成

layouts/partials/admin.html を作成します。ファイルの中身は下。

<div class="footer">
    <p>
        Hugo {{ hugo.Version }} : Server Mode
        {{ if .Page.IsPage }}
            : Edit: <a class="m_open-markdown_link"
            href="vscode://file/{{ .File.Filename }}">{{ .File.Path }}</a>
        {{ end }}
    </p>
</div>
{{ hugo.Version }}
使用している Hugo のバージョン
{{ .File.Filename }}
フルパス出力
{{ .File.Path }}
相対パス出力
{{ if .Page.IsPage }} ~ {{ end }}
シングルページ判定

layouts/_default/baseof.html の変更

Themeフォルダから、baseof.html を layout/_default/ の下にコピーします。

そして、コピーしてきた baseof.html の </body> 直前に次を追加。

{{ if .Site.IsServer }}
    {{- partial "admin.html" . }}
{{ end }}
{{ if .Site.IsServer }} ~ {{ end }}
サーバー動作中かどうかを判定

参考記事