Zolaで遊ぶ

Rust製SSGのZolaをv17.2にアップデートしました

個人的なメモ書き。LinuxMint 20.3で、Rust製SSGのZolaを、v17.2にアップデートしました。

まえがき

バージョン管理がしやすいので、snap方式から「.debの管理方式に変更」しました。

公式のパッケージをダウンロード

zola_0.17.2-1_amd64_bullseye.deb

URL: GitHub:zola-debian

ダウンロードされた.debファイルは、基本的に「ホーム/ダウンロード」にある。

公式のパッケージからアップデート

インストールと同じで、ホームディレクトリに「zola_0.17.2-1_amd64_bullseye.deb」を移動かコピー。(コピーが吉)

sudo dpkg -i zola_0.17.2-1_amd64_bullseye.deb

ターミナルで、コマンド入力をすればオッケー。(アップデートも新規インストールも同じ)

LinuxMint 20.3の右クリックで「GDebi パッケージインストーラーで開く」からもインストール可。

※補足:LinuxMint 20.3のクリーンインストールでは、zola関連ファイルが無いので右クリックのパッケージインストーラーからインストールができない。(インストールボタンは有効なので押したあとにバージョン確認が表示されないのでインストールができていない)

zolaのバージョン確認

zola --versionで、zola 0.17.2

Rust製SSGのZolaの公式サイト

URL: Zola

.debパッケージをアンインストールするコマンド

メモ書き:debパッケージの削除コマンド(zola)

sudo dpkg -r zola

Zola v0.17.2

Zola v0.16.x以前と比べて、YouTube埋め込み関係が変更されているようなので修正が必要。

ローカルチェックで記事のYouTube埋め込み関係のエラーが出たので、公式サイトの情報から修正。

URL: Shortcodes | Zola

templates/shortcodes に youtube.html の設置とコードをコピペ。(ドキュメントのやつ)

<div {% if class %}class="{{class}}"{% endif %}>
    <iframe
        src="https://www.youtube.com/embed/{{id}}{% if autoplay %}?autoplay=1{% endif %}"
        webkitallowfullscreen
        mozallowfullscreen
        allowfullscreen>
    </iframe>
</div>

補足と修正

公式のショートコードは、classなしの時に、divの後ろへ半角スペースが挿入されるので少し修正。

templates/shortcodes/youtube.html

<div{% if class %} class="{{class}}"{% endif %}>
    <iframe
        src="https://www.youtube.com/embed/{{id}}{% if autoplay %}?autoplay=1{% endif %}"
        webkitallowfullscreen
        mozallowfullscreen
        allowfullscreen>
    </iframe>
</div>

とりあえず、ローカルチェックとアップロードで正常な動きっぽいので様子見。

おわりに

個人的にZolaは、似たような静的サイトジェネレーターのHugoよりも使いやすく感じます。

Rust製SSGのZolaは日本語情報が少ないので、アップデートの内容やエラーの解決は、公式サイトのDocs・Forum・Themesを参考に、試行錯誤することがあります。