技術スタック
- Astro:静的サイトジェネレーター(SSG)。記事はMarkdownで執筆し、ビルド後は軽量な完全静的ページとなるため、非常に高速に表示されます。
- UIフレームワーク不使用(Zero-dep):ReactもTailwindも使わず、ピュアなCSS変数を手書き。カラーパレットや文字サイズはAppleのデザインガイドラインを意識して設計しています。
- モーション:トップページのオープニングアニメーションは、解析的物理スプリングで各プロパティをリアルタイム計算する
seek(t)純粋関数。ページ遷移にはブラウザネイティブの View Transitions API を採用しています。
新規コンテンツの投稿手順
すべてのコンテンツは src/content/ 配下に格納されています。新しい .md ファイルを作成するだけで公開できます:
| 投稿したいコンテンツ | 格納先 | 必須フィールド |
|---|---|---|
| 記事 | src/content/posts/ |
title、description、date、category(ai / code / life) |
| プロンプト | src/content/prompts/ |
title、date、model(本文がプロンプト原文) |
| 作品 | src/content/works/ |
title、date、image、tool |
画像は public/ 配下に配置し、本文やフロントマターからは /works/xxx.jpg のように参照します。
X(旧Twitter)からの同期
Xに投稿した長文ポスト、プロンプト、作品は、コマンド1つでブログへインポートできます:
npm run import:x
公開ポストを取得し、記事・プロンプト・作品のどれに該当するかを自動判定。画像や動画をローカルにダウンロードした上で、対応するMarkdownファイルを自動生成します。分類を修正したい場合は scripts/x-import.config.json で手動指定可能です。
ローカルプレビュー
npm run dev
ブラウザで http://localhost:4321 を開くとリアルタイムに確認できます。ファイルを編集するとホットリロードで自動更新されます。
