valaxy について
Valaxyは、Markdownベースのサイトを構築するVue 3・Viteの静的ブログフレームワークです。ファイルベースルーティングとテーマ・アドオン設定を備え、ユーザーコンポーネントでテーマやコアのコンポーネントを上書きできます。
主な機能
- 01Markdownによる静的サイト生成
- 02Vue 3とViteを基盤に採用
- 03ファイルベースルーティング
- 04frontmatterによる投稿メタデータ設定
- 05テーマとアドオンの設定
- 06コンポーネントとスタイルのカスタマイズ
活用シーン
- 01Markdown投稿を使った静的ブログの作成
- 02タグやカテゴリーによる投稿整理
- 03複数言語オプションを使ったコンテンツ構築
- 04テーマのコンポーネントやスタイルの上書き
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yunyoujun/ valaxy --skill valaxyインストール後、Claude Code で/valaxyを入力して読み込まれたか確認します。
同梱ファイルreferences/architecture.mdreferences/theme-addon-dev.md
詳細
Valaxy
次世代の静的ブログフレームワーク:Vue 3 + Vite + UnoCSS + ファイルベースルーティング + markdown-it。
クイックリファレンス
pnpm create valaxy # scaffold new site
pnpm i # MUST use pnpm
pnpm dev # dev server at localhost:4859
pnpm build # SSG build to dist/
設定ファイルは2つです:
site.config.ts—defineSiteConfig()を使ったサイトメタデータ(タイトル、作者、ソーシャル、検索、コメント)valaxy.config.ts—defineValaxyConfig<ThemeConfig>()を使ったフレームワーク設定(テーマ、アドオン、Markdown、Vite)- 任意の
theme.config.ts—defineThemeConfig()を使ったテーマ固有の設定
投稿は pages/posts/*.md に配置します。フロントマターでタイトル、日付、タグ、カテゴリー、カバー画像、下書き、暗号化、レイアウトなどを設定します。
主なパターン
設定のマージ
設定ソースは defu を使ってマージされます(ユーザー設定が優先):デフォルト → テーマ → アドオン → ユーザー。
ファイル解決(ルーツシステム)
roots = [clientRoot, themeRoot, ...addonRoots, userRoot]
ユーザーのコンポーネント/レイアウト/スタイルは、ファイル名の一致により、テーマのものより優先され、テーマのものはコアのものより優先されます。
ルーティング
vue-router/vite によるファイルベースのルーティングです。pages/ 内のファイルがルートになります。レイアウトは自動的に割り当てられます:
pages/posts/**→postレイアウトpages/tags/**→tagsレイアウトpages/categories/**→categoriesレイアウト
フロントマターで layout: xxx を指定すると上書きできます。
コレクション
defineCollection() を使って pages/collections/{name}/index.ts に定義します:
import { defineCollection } from 'valaxy'
export default defineCollection({
key: 'hamster',
title: 'Hamster Stories',
items: [
{ title: 'Chapter 1', key: '1' },
],
})
i18n
- CSS ベースのバイリンガル対応:Markdown 内の
::: zh-CN/::: enコンテナ - ファイルベース:
locales/*.yml - フロントマター:
title: { en: 'Title', 'zh-CN': '标题' } - タグ:
$locale:tag.notes構文
カスタムスタイル
styles/index.ts(または .scss/.css)を作成すると、自動的に読み込まれます。テーマ設定では CSS 変数を上書きします。
カスタムコンポーネント
.vue ファイルを components/ に配置すると自動登録され、名前に基づいてテーマ/コアのコンポーネントを上書きします。
モノレポ開発
Valaxy コアフレームワーク自体を開発する場合:
pnpm i # install all workspace deps
pnpm run build # build core: utils → valaxy → devtools
pnpm dev:lib # watch core packages
pnpm demo # run demo site
pnpm docs:dev # run docs site
pnpm test # unit tests (vitest)
pnpm e2e # E2E tests (playwright)
pnpm lint # eslint
pnpm typecheck # type check
リポジトリ URL の正規化
package.json のリポジトリ URL を表示する場合は、@valaxyjs/utils から normalizeRepositoryUrl() をインポートして使用し、git+ プレフィックスを削除します。
参考資料
-
概要からテーマを生成または再設計する:このリポジトリの専用
valaxy-themeスキルを使用します(pnpm dlx skills add YunYouJun/valaxy --skill valaxy-theme)。実行可能なテーマ/デモ、UI ライブラリとの統合、検証について説明しています。 -
フレームワークのアーキテクチャ、仮想モジュール、コンポーザブル、コンポーネント:references/architecture.md をお読みください
-
テーマ/アドオンの開発、投稿のフロントマター、アドオンギャラリー:references/theme-addon-dev.md をお読みください