Skip to content

Latest commit

 

History

History
53 lines (34 loc) · 1.93 KB

File metadata and controls

53 lines (34 loc) · 1.93 KB

開発

スタック

TypeScript / React / Vite / Tailwind CSS。GitHub Pages で base: '/WebFileTools/'

スクリプト

  • npm run dev — ローカル開発
  • npm run build — 本番ビルド + SPA 用 404.html コピー
  • npm run preview — 本番ビルドのプレビュー

環境変数

任意の Google Analytics(ビルド時に埋め込み):

VITE_GA_MEASUREMENT_ID=G-XXXXXXXX

GitHub Actions(本番)

  1. Settings → Secrets and variables → Actions
  2. New repository secret
    • Name: VITE_GA_MEASUREMENT_ID
    • Value: Google Analytics の測定 ID(G-XXXXXXXX
  3. push するか Actions を再実行し、npm run build に渡す

ローカルの .envnpm run dev 用。Pages 本番は Actions の Secret を使う。

未設定なら計測はオフです。

方針

  • ファイル処理はクライアントのみ
  • ツールは src/tools/ 配下の独立モジュール
  • src/tools/loadTool.ts に lazy 登録し registry.tsready を更新
  • 機能変更時は README(en/ja)・docs(en/ja)・UI 文言を同期

SEO / LLM 向け

ビルド時に scripts/postbuild-seo.mjs が次を生成します。

  • 英語//tools/...)と 日本語/ja/ja/tools/...)それぞれの HTML に、言語別 title / description / OG テキスト / og:locale / hreflang / canonical / JSON-LD / noscript(og:image なし)
  • sitemap.xml(日英 URL + xhtml hreflang)/ robots.txt
  • llm.txt / llm-full.txt
  • SPA 用 404.html

UI・OGP の言語は URL が正(フッタの言語切替は /…/ja/… を行き来)。クライアント遷移時は src/seo/SeoListener.tsx が同等のメタを更新。

Character Count について

OpenAI トークン数は js-tiktoken(cl100k_base)を使用します。語彙データが大きいため、当該ツールを開いたときだけ読み込みます。