smalljs$mol検索⌘ Kドキュメントプレイグラウンド比較エコシステム概要JA
ツールGetting StartedはじめにメンタルモデルはじめかたTypeScript から view.tree へプロジェクト構成ツールEssentialsインストールビュー状態とリアクティビティルーティングレンダリングテストデプロイトラブルシューティングDataデータ取得データスキーマGiper BazaMoreショーケースReact、Vue、Svelte からクックブックAdvancedプラグインモジュールのメタデータオフラインゴーストビューAboutよくある質問チームリリースAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

ツール

$mol はどのエディタでも動きますが、少数のツールを使うと .view.tree と型付きスタイルが格段に快適になります。プロジェクトのスキャフォルダ、言語サーバー、Zed と VS Code のエディタ統合、そして LLM アシスタントにフレームワークを教えるスキルです。

プロジェクトをスキャフォールドする

create-view-tree-lsp は、すぐに動く $mol モジュールを生成するので、ボイラープレートを手で組み立てる必要がありません。1npx create-view-tree-lsp bog/myapp自分の MAM チェックアウトのルートで実行してください。モジュールパスはそこを起点に解決され、プロジェクトもそこに置かれます。ワークスペースの外では、最初のビルドで気づく前にコマンドが警告します。引数はモジュールパス(namespace/name、または同等の bog_myapp)です。動作するアプリの view.treeview.tsview.css.tsindex.html に加え、それをデプロイする GitHub Actions を書き出します。スキャフォルダーが追加できるものは、すべてデフォルトで入ります。要らないものだけを挙げてください。1npx create-view-tree-lsp bog/myapp --no-tauri --no-backend--no-baza — local-first ストアの Giper Baza--no-dockerdocker-compose.yml と nginx 設定を含む Docker のセットアップ--no-tauriTauri のデスクトップシェル--no-backendnode:sqlite ストレージと共有 TypeScript アイテム型を備えた $mol_server の REST バックエンド--no-prerender--no-seo — 検索エンジンでの可視性。詳細は下の 継続的インテグレーション を参照してください知らないフラグは実行を止めます。打ち間違いで何かが黙って残ることはありません。スキャフォルダは言語サーバー内の CLI の薄いラッパーなので、npx view-tree-lsp create bog/myapp でも同じことを直接行えます。

翻訳

翻訳は自分のモジュールの隣、<module>/<name>.locale=<lang>.json に置かれます。コードには都合がよいのですが、翻訳者にはそうでもありません。文言の一覧ではなく、細かいファイルが 30 個届くことになるからです。 $yuf_localizer がその隔たりを埋めます。プロジェクトの URL と言語コードを渡せば、すべてのキーを検索可能な 1 つのリストにまとめ、まだ手つかずのものに印を付けてくれます。英語しかないキー、直したけれどコミットしていないキー、プロジェクトにもう存在しない古いキー、といった具合です。訳文はエクスポートするまでブラウザに残るので、作業を中断しても失われません。翻訳者の作業が終わったら、結果を書き出してモジュールへ振り分けます。1# MAM のルートで実行2npx view-tree-lsp locale bog/myapp/app/- --exclude=mol --update引数はフォルダでも、単一のロケールファイルでも構いません。オプションは次のとおりです。キーは自分のモジュールパスを含んでいるので、$my_page_greeting は所属するソースの隣、my/page/page.locale=ru.json に収まります。ただしそのモジュールを言い当てるのは見た目より厄介です。_ はフォルダの区切りでも単語の区切りでもあるため、「最長一致するパス」は誤った答えになります。$my_page_lang_hint ではプロパティが lang で始まり、隣に本物の my/page/lang サブモジュールがあれば、そちらがキーを飲み込んでしまいます。そこでこのコマンドは、候補となる各モジュールに「どのキーを宣言しているか」を尋ねます。MAM はまさにそれを -view.tree のロケールファイルへ書き出しているので、キーは正しい持ち主に渡ります。

継続的インテグレーション

スキャフォルダは GitHub Actions を .github/workflows/ に書き出すので、新しいプロジェクトは追加のセットアップなしにデプロイとリリースが行われます。deploy.yml はプッシュのたびに実行されます。hyoo-ru/mam_build でアプリをビルドし、main から app/-GitHub Pages に公開し、各 feature/* ブランチに専用のプレビューフォルダを与えます。ブランチが削除されると自動的に取り除かれます。

SEO

どちらもデフォルトで有効で、どちらも v* タグで動きます。--no-prerender は、挙げた画面(home など)を b-on-g/mol-prerender-action で静的 HTML にレンダリングする手順を外します。クローラーやリンクプレビューが本物の内容を見られるのは、これのおかげです。--no-seo$bog_seo ランタイムを外します。サイトマップ、robots.txtllms.txt、ページごとのメタ注入を備えた pathname ルーターです。ジョブはビルドを配信し、正規の事前レンダリング HTML を書き出し、それをデプロイに畳み込みます。両者は同じ範囲を覆い、同じフォルダーに書き込むため、deploy.yml に入るのは片方だけです。$bog_seo が有効な間はそちら、--no-seo を渡した時点でプリレンダー・アクションになります。サイトマップとページごとのメタデータが要るなら $bog_seo を残し、公開画面がひと握りで済むならプリレンダー・アクションに落としてください。

Tauri デスクトップ

GitHub でこのページを編集役に立ちましたか?はいいいえ前へプロジェクト構成次へインストール
このページの内容プロジェクトをスキャフォールドする翻訳継続的インテグレーションSEOTauri デスクトップ言語サーバーZedVS CodeLLM スキルリンク
Type to search the documentation.