About Rouault
静かに読むための、独立したページ骨格
Rouaultはどういうものなのか
Snapshot
- 個人的なメモ帳
- Litを本格的に使うために作成したサイト
このページについて
Rouaultは、 Ruo Miyataの個人的なメモ帳です。プログラミングから文学や経済学など様々なコンテンツをまとめるために存在しています。
基本的に私自身が理解できるような形で記述しますが、 Webサイトとして公開する以上閲覧しやすいように記述する予定です。
著作権について
当サイトの文章は特記がない限り、Creative Commons Attribution 4.0 International License(CC BY 4.0)のもとで利用を許諾します。
ただし、引用部分、第三者著作物、外部サイトのスクリーンショット、ロゴ・商標、埋め込みコンテンツその他個別注記のある素材は、各権利者に権利が帰属し、上記 CC BY 4.0 の対象外です。
個別の注記がある場合は、当該注記を優先します
技術詳細
このサイトは、個人的な知的蓄積を長期的に整理・公開するためのナレッジベースとして設計されています。構成の中核には静的生成を据え、コンテンツの可搬性と配信時の軽量性を確保しつつ、必要な箇所にのみ動的な振る舞いを与える方針を採っています。基盤には Eleventy 、コンテンツ管理には Velite 、UI実装には Lit と TypeScript を用いています。
レンダリングは、単純な静的HTML配信にとどまるものではありません。ビルド時には Eleventy によって各ページを生成し、その過程で @lit-labs/ssr を通じてLit製の Web Components を事前描画しています。これにより、初期表示時には静的サイトとしての応答性を保ちながら、閲覧後に必要となる操作性のみをクライアント側で補完する構成を実現しています。静的生成の安定性と、コンポーネント指向UIの柔軟性を両立させるための設計です。
コンテンツは Markdown を中心に管理しつつ、数式、コード、対訳、楽譜など、専門的な記述形式に対応できるよう拡張しています。コードハイライトは Shiki によりビルド時に生成し、検索には Pagefind を採用しています。また、日本語検索においては Intl.Segmenter を前処理に利用することで、英語圏中心の既定挙動に依存しない検索体験を整えています。
開発環境と品質保証においても、責務は比較的明確に分離しています。コンポーネントの開発・検証には Storybook と Vitest を、よりブラウザ寄りの検証には Web Test Runner を、E2E テストには Playwright を用いています。加えて、ESLint と Prettier により記述の一貫性を保ち、ビルドおよびデプロイは GitHub Actions を介して Cloudflare Pages へ接続しています。UI設計、実装、検証、配信までを、できる限り一続きの再現可能な工程として扱うことを重視しています。
ホスティングは Cloudflare Pages を中心とし、必要に応じて Cloudflare R2 をアーカイブ用途に組み合わせる構成を視野に入れています。そのため、このサイトは一般的なブログのように単発の記事を時系列で積み上げるというよりも、永続的な参照、再編集、再構成に耐える知識基盤として設計されています。結果として、執筆者にとっては拡張しやすく、閲覧者にとっては高速で予測可能かつ安定した読書体験を提供することを目標としています。