yamanoku archive contents. (Japanese text only)
Markdown 記事を Vite + @ox-content/vite-plugin で静的サイトにビルドし、Vercel へ配信する構成。
flowchart TB
subgraph content["Content (ox-content)"]
MD["src/archives/*.md<br/>frontmatter + Markdown"]
PUBLIC["public/<br/>favicon, og-images, …"]
STYLES["src/styles/global.css"]
CONFIG["src/config.ts"]
end
subgraph tools["Offline tools"]
OGP["tools/ogp<br/>OG 画像生成"]
CAT["tools/categories<br/>カテゴリ分類"]
end
subgraph build["Build (Vite)"]
OX["@ox-content/vite-plugin<br/>MD → HTML / SSG / search-index"]
SITE["plugins/archives-site<br/>pretty URL / CSS / feeds"]
THEME["theme/<br/>Home · Article · NotFound"]
SEARCH["src/search-client.ts<br/>クライアント検索"]
XF["transformers<br/>footnotes · MD link rewrite"]
end
subgraph dist["dist/ (static)"]
HTML["/{slug}/index.html"]
ASSETS["assets/ · styles.css"]
FEEDS["rss.xml · sitemap*.xml<br/>llms.txt · search-index.json"]
end
HOST["Vercel<br/>archives.yamanoku.net"]
MD --> OX
CONFIG --> OX
THEME --> OX
XF --> OX
OX --> HTML
OX --> FEEDS
SITE --> HTML
SITE --> ASSETS
SITE --> FEEDS
PUBLIC --> SITE
STYLES --> SITE
SEARCH --> ASSETS
OGP -.->|og-images| PUBLIC
CAT -.->|frontmatter| MD
HTML --> HOST
ASSETS --> HOST
FEEDS --> HOST
| レイヤ | 役割 |
|---|---|
src/archives/ |
アーカイブ記事本体(Markdown) |
theme/ |
ページレイアウトと共通コンポーネント |
plugins/ |
ox-content プラグイン(設定・脚注・フィード・ビルド後処理) |
tools/ |
OG 画像生成・カテゴリ分類 |
dist/ |
静的成果物 |
# install dependencies
$ npm ci
# setup serve
$ npm run dev
# generate static project
$ npm run build