Skip to content

feat(lism-cli): LP テンプレの HTML ビルド版を CLI 配布できるようにする #375

Closed as not planned

Description

@ddryo

背景

PR #372 で LP テンプレ(templates/lp/astro/)を CLI 配布できるようにし、
将来の HTML 版配布のために以下が先行実装済みになっている。

  • templates/manifest.ts の StaticHtmlTemplateDef 型(kind: 'static-html')
  • packages/lism-cli/src/commands/create.ts の static-html 分岐ロジック
  • packages/lism-cli/src/commands/create.test.ts のユニットテスト(lp/html/_generated/saas, lp/html/_generated/empty を sourcePath として使用)

一方、実配信のための残作業が未着手で、現状は型・ロジック・テストだけが宙に浮いている状態。
PR #372 のレビューでも「フォローアップ Issue を残しておくと忘れにくい」と指摘あり。

スコープ

LP テンプレ群(lp-astro-minimal / natural / ryokan)の HTML ビルド版を CLI 経由で
pnpm create lism --template lp-html-{variant} で配布できるようにする。

残作業

  • ビルド成果物の自動配置スクリプトを scripts/ に追加

    • templates/lp/astro/dist/{variant}/ → templates/lp/html/_generated/{variant}/ へコピー
    • 各 variant 単体プロジェクトとして成立するよう、相対パス/asset 参照の調整
    • 既存 _generated ディレクトリは毎回 clean してから再生成
  • ルート package.json に専用スクリプト追加

    • 例: build:lp-html(lp/astro を build → _generated へコピーまでを一気通貫)
  • templates/manifest.ts の TEMPLATES に以下を追加

    • lp-html-minimal / lp-html-natural / lp-html-ryokan
    • kind: 'static-html', category: 'lp', stack: 'html'
    • sourcePath: 'lp/html/_generated/{variant}'
  • apps/docs/src/config/templates.ts の docsMeta に同 slug のエントリを追加

    • title / description / thumb / previewUrl / draft 等
  • 運用メモを明記(PR feat/docs(lism-cli): templates再編+patterns化+create配布フロー再設計 #372 本文「6. ドキュメント・周辺更新」の積み残し)

    • documents/ 内 or ルート CLAUDE.md 等に「templates/lp/html/_generated/ は手編集禁止」と明記
    • 編集対象は templates/lp/astro/src/pages/{variant}/ 側のみであることを記述
  • .gitignore 方針の確定

    • _generated を git 管理対象にするか、ビルド時生成のみとするか
    • 後者なら CI(または publish 前 hook)で必ず再生成する仕組みが必要
  • 動作確認

    • pnpm build:lp-html → templates/lp/html/_generated/ が正しく生成
    • pnpm --filter lism-cli test 既存テストの通過
    • lism create --template lp-html-minimal 等の実機検証
    • 生成プロジェクトを npx serve 等で開いて表示が崩れていないこと

関連

Activity

  1. ddryo commented on Sep 30, 2026

    @ddryo
    ContributorAuthor

    HTML版の配布は見送ります。

    • Astroの出力はminify済みで、手で編集する配布物に向かない。
    • JSが<script type="module">のため、file://で開くと動かない。
    • CLIはgigetでGitHubから取得するため、生成物のコミットとsourceとのずれ検査を保守し続ける必要がある。

    HTMLが欲しい場合は、Astro版をnpm run buildしてdist/を使えば足ります。先行実装のstatic-html型などは #656 で削除します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions