blockの巣

GitHub CodesacesでZolaの記事を書く

2024/05/10 23:49 公開
GitHub Codespaces Zola

最低限の環境作りで使い易くするにはもう少しいろいろ必要になると思います。

前提

やったこと

リポジトリに.devcontainerDockerfileを追加する

リポジトリのルートに.devcontainerというディレクトリを作成し、その中にdevcontainer.jsonDockerfileを追加する。
それぞれの内容は以下の通り。

Dockerfile

FROM rust:latest
RUN apt-get update \
    && apt-get install -y git \
    && apt-get clean -y

RUN cargo install --git https://github.com/getzola/zola.git --locked

CMD [ "/bin/bash" ]

Zolaの公式ドキュメントには書いていませんがcargo install --git https://github.com/getzola/zola.git --lockedのコマンドでインストールすることができます。

.devcontainer.json

{
  "name": "zola",
  "build": {
    "dockerfile": "Dockerfile"
  },
  "extensions": [
    "tamasfe.even-better-toml",
    "yzhang.markdown-all-in-one",
  ],
}

.devcontainer.jsonの。extensionsには好みで拡張機能を追加してください。

Codespacesを開く

解説略

BashからコマンドでZolaを実行する

Codespacesのターミナルで以下のコマンドを実行する。

zola serve --base-url /

--base-urlオプションの指定がないとhttp://localhost:1111でサーバが立ち上がるので、プレビューで確認したときのページ内のリンクにアクセスしたときに手元の端末のlocalhostのlocalhostのポートにアクセスしようとしてしまう。

下書き(drafts)を表示したいのであれば以下のように--draftsを指定します。

zola serve --base-url / --drafts

プレビューの確認方法

CodespacesのPortsからPort 1111をブラウザで開きます。

あとがき

これでiPadからブログの更新がしやすくなるはず。なれ。
このDockerfileのようにFROM rust:latestからイメージを作成すると最新版のNeovimが使用できないのでそのあたり何とかしたい。