個人のWebサイトを楽に運用しようと考えた。
noteなどのプラットフォームを使うのも、最近は面白さが薄れてきている。
Obsidianに日々書き溜めて、それをそのまま静的サイトに仕立てればいい。
ローカルで生成し、rsyncで手持ちのサーバにアップする仕組があればいいだろう。
Antigrravityに命じたところ、以下の様に動いた。
Obsidian静的サイトジェネレーター更新計画
目標
PHPベースの静的サイトジェネレーターを更新し、Obsidian VaultをレスポンシブなHTMLウェブサイトに変換します。 主な機能:
- 特定のメタデータ解析 (`:filename:`, `:description:`)
- Tailwind CSSを使用したレスポンシブレイアウト
- ディレクトリベースのナビゲーションとインデックスページ
- 固定フッターとテンプレートの分割
- ホームページへの最新記事表示
ユーザーレビュー事項
IMPORTANT
Tailwind CSSの導入: ビルドプロセスを簡素化するため、Tailwind CSSのCDNを使用します。
変更内容
設定
[MODIFY]
site.config
- `rsync`設定、`directoryDescriptions`、メニューマッピングルールのフィールドを追加します。
ビルドロジッ
build.php
- 以下を行ごとの解析で実装します:
- 1行目: `:filename:custom_name` -> `custom_name.html`
- `:description:` タグ -> メタディスクリプションおよびページ概要
- SimpleMarkdownParserを更新します(制約に従いシンプルなまま維持)。
- 各ディレクトリに `index.html` を生成するロジックを追加します。
- ホームページ用に直近5件の記事を収集するロジックを追加します。
テンプレート
header.php
- Tailwind CDNを含めます。
- レイアウト: サイトタイトルと説明(左寄せ)。
- サイドバーナビゲーションロジック(ビルドスクリプトから渡される)。
footer.php
- コピーライトを含む固定フッター
layout.php
- コンテンツのメインラッパー。
あっという間にそれらしいものができたので、試験運用してみながら、調整していく。