私の最初のポスト

Astroで何か作ってみたくなったのでブログを作った。

構成

Astroで静的サイトとしてビルドしてCloudflare Workersにデプロイしている。

特にサーバサイドの処理はないけど、最近のCloudflareは静的サイトでもPagesではなくWorkersを使うことを推奨しているらしい。

使ってるフレームワーク、ツールなど

Astro

静的サイト生成に使用している。

他の類似フレームワークのことはよく知らないけど以下のようなところが好き。

  • クライアントサイドのJavaScriptが不要
  • 標準でMarkdownサポートが手厚い
  • JSX風のテンプレート、コンポーネントが使える

ReactなどのUIライブラリと組み合わせることが可能だが今のところは使っていない。

コンテンツのmdファイルや画像は全てGitに入れる運用を想定してている。 ただ画像はあんまりリポジトリに入れたくないので別の方法を考えたいところ。

Tailwind CSS

CSSを書きたくないのでTailwind CSSを使ってみている。
最初はドン引きしたけど使ってみると悪くない。

デフォルトスタイルがリセットされるので、Markdownから生成したコンテンツのスタイルを用意する必要がある。
一から作るのは大変なのでgithub-markdown-cssを一部修正 (背景色を削除するなど) して使っている。

Devbox

Node.jsのローカル開発環境構築にNixベースのツールであるDevboxを試してみている。
(Macの構成管理・パッケージ管理にNixを導入してみたので)

使ってみると色々問題が見つかっており使い続けるかは微妙。
一応解消はしたが以下のような問題が起きた。

  • 一部のNode.jsバージョンが使用できない
    • 関連issue: https://github.com/jetify-com/devbox/issues/2834
    • Nixhubの情報が古く、最新バージョンが使えない
    • Nix Flakesパッケージを使えば一応使えるが、DevboxのNode.js向け機能が自動適用されなくなる
  • npm CLIのバージョンアップに一手間必要
    • corepackを使うことが推奨されている
    • Node.jsバージョンの問題と絡んで面倒だった
  • CommandLineToolsに含まれるツール (python3など) が使えなくなる

Nix devShellで良いのでは、という気がしている。