[{"data":1,"prerenderedAt":264},["ShallowReactive",2],{"content-/nuxt-content-mdx-requirements":3,"all-pages-for-dir":243,"related-/nuxt-content-mdx-requirements":244,"og-image-/nuxt-content-mdx-requirements":263},{"id":4,"title":5,"body":6,"category":227,"concepts":227,"description":228,"extension":229,"meta":230,"navigation":231,"ogImage":227,"path":232,"project_name":227,"published":233,"publishedAt":234,"seo":235,"source":227,"stem":236,"tags":237,"todo":227,"unpublished":233,"updatedAt":227,"__hash__":242},"pages/2025-10/2025-10-01/nuxt-content-mdx-requirements.md","Nuxt Content + MDX サイトの要件整理",{"type":7,"value":8,"toc":216},"minimark",[9,13,26,29,40,43,83,86,145,148,169,172,202,205],[10,11,12],"h2",{"id":12},"プロジェクトの目的",[14,15,16,20,23],"ul",{},[17,18,19],"li",{},"個人メモを素早く公開し、後日バックエンド機能を追加できる柔軟な構成を維持する。",[17,21,22],{},"Markdown / MDX を中心に据え、Vue コンポーネントを埋め込むことで高度な表現を可能にする。",[17,24,25],{},"ドキュメント駆動のワークフローを採用し、トラブル対応も Markdown で記録する。",[10,27,28],{"id":28},"想定ユーザーとユースケース",[14,30,31,34,37],{},[17,32,33],{},"自分自身および関係者がサイト運用・ノウハウ共有のために利用。",[17,35,36],{},"タグや日付で分類されたナレッジベースとして参照する。",[17,38,39],{},"将来的に UI コンポーネント集や API 仕様書を同一プラットフォームで公開する。",[10,41,42],{"id":42},"技術スタックと要件",[14,44,45,52,63,77],{},[17,46,47,51],{},[48,49,50],"strong",{},"フロントエンド",": Nuxt 3（ドキュメント駆動モード） + @nuxt/content。",[17,53,54,57,58,62],{},[48,55,56],{},"データストア",": 開発環境では Node.js 22.6 + ",[59,60,61],"code",{},"node:sqlite","。将来は Cloudflare D1 や外部 DB に接続できるよう抽象化。",[17,64,65,68,69,72,73,76],{},[48,66,67],{},"ビルド/デプロイ",": Cloudflare Pages。GitHub Actions で CI/CD を組み、",[59,70,71],{},"web","・",[59,74,75],{},"api"," を個別ワークスペースとして扱う。",[17,78,79,82],{},[48,80,81],{},"認証・権限",": 現段階では公開サイト、将来は JWT またはセッションベースを検討。",[10,84,85],{"id":85},"コンテンツルール",[14,87,88,94,120,142],{},[17,89,90,93],{},[59,91,92],{},"content/"," 直下に Markdown / MDX ファイルを配置。ディレクトリ構造がそのまま URL になる。",[17,95,96,97,100,101,100,104,100,107,100,110,100,113,100,116,119],{},"フロントマターには ",[59,98,99],{},"title",", ",[59,102,103],{},"description",[59,105,106],{},"tags",[59,108,109],{},"publishedAt",[59,111,112],{},"updatedAt",[59,114,115],{},"status",[59,117,118],{},"visibility"," を推奨。",[17,121,122,124,125,128,129,132,133,124,135,128,138,141],{},[59,123,115],{}," は ",[59,126,127],{},"draft"," / ",[59,130,131],{},"published","、",[59,134,118],{},[59,136,137],{},"public",[59,139,140],{},"private"," を想定。リスト表示でフィルタリングできるようにする。",[17,143,144],{},"コードスニペットは Markdown のフェンスコードを使用し、ハイライト言語を明示する。",[10,146,147],{"id":147},"共有パッケージと拡張",[14,149,150,156,162],{},[17,151,152,155],{},[59,153,154],{},"packages/ui"," で共有コンポーネントを管理し、Nuxt アプリから import できるようビルド設定を整備。",[17,157,158,161],{},[59,159,160],{},"packages/config"," を作成して ESLint / Prettier 設定を共通化することを検討。",[17,163,164,165,168],{},"API サーバーは Nitro, NestJS, Fastify などから選択し、",[59,166,167],{},"apps/api"," に配置できるようにする。",[10,170,171],{"id":171},"運用フロー",[173,174,175,185,192,195],"ol",{},[17,176,177,178,181,182,184],{},"メモやドキュメントを ",[59,179,180],{},"memo/"," に作成し、必要に応じて ",[59,183,92],{}," にコピー。",[17,186,187,188,191],{},"フロントマターを更新し、",[59,189,190],{},"pnpm dev"," で動作確認。",[17,193,194],{},"Git でコミットし、Pull Request でレビュー後にデプロイ。",[17,196,197,198,201],{},"トラブルが発生した場合は、",[59,199,200],{},"memo/YYYY-MM-DD/"," に原因と対処を記録し、共通メモへ反映する。",[10,203,204],{"id":204},"今後の課題",[14,206,207,210,213],{},[17,208,209],{},"Content DB を SQLite から Cloudflare D1 へ切り替える際の移行手順の整備。",[17,211,212],{},"UI コンポーネントの Storybook 化、あるいは同等のカタログ化。",[17,214,215],{},"検索機能（全文検索 / タグ検索）の導入検討。",{"title":217,"searchDepth":218,"depth":218,"links":219},"",2,[220,221,222,223,224,225,226],{"id":12,"depth":218,"text":12},{"id":28,"depth":218,"text":28},{"id":42,"depth":218,"text":42},{"id":85,"depth":218,"text":85},{"id":147,"depth":218,"text":147},{"id":171,"depth":218,"text":171},{"id":204,"depth":218,"text":204},null,"コンテンツ運用と拡張を見据えた技術要件と運用ルールのまとめ","md",{},true,"/nuxt-content-mdx-requirements",false,"2025-10-01T00:00:00.000Z",{"title":5,"description":228},"2025-10/2025-10-01/nuxt-content-mdx-requirements",[238,239,240,241],"nuxt","content","mdx","requirements","Kauknsxc8eD5s7b95H40rw0a3wjIzMs9pw1skrMZX6E",[],[245,249,252,256,260],{"title":246,"path":247,"publishedAt":248},"Nuxt Content + Pages ハイブリッドアーキテクチャ：プロジェクト要件定義書","/nuxt-hybrid-content-architecture","2025-11-29T00:00:00.000Z",{"title":250,"path":251,"publishedAt":234},"Nuxt Content + MDX サイトの初期構築手順","/nuxt-content-mdx-setup-guide",{"title":253,"path":254,"publishedAt":255},"Nuxt ContentでMDXが使えない理由","/nuxt-content-mdx-investigation","2025-12-16T00:00:00.000Z",{"title":257,"path":258,"publishedAt":259},"Nuxt Content: ファイル監視と自動更新の仕組み","/nuxt-content-file-watch-and-auto-update","2025-10-04T00:00:00.000Z",{"title":261,"path":262,"publishedAt":259},"Nuxt Content: SQLite フィールドマッピング仕様","/nuxt-content-sqlite-field-mapping","https://log.eurekapu.com/og/blog/nuxt-content-mdx-requirements.png?v=2025-10-01T00%3A00%3A00.000Z&title=Nuxt%20Content%20%2B%20MDX%20%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E8%A6%81%E4%BB%B6%E6%95%B4%E7%90%86&author=Kei%20Komatsu&sig=5020222104b60d05",1785654654364]