feat: ✨ implement dummy page generator#60
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (85)
📒 Files selected for processing (77)
✅ Files skipped from review due to trivial changes (31)
🚧 Files skipped from review as they are similar to previous changes (19)
📝 WalkthroughWalkthroughタスク命名規約(ハイフン区切り → コロン区切り)の統一と、Faker.js を用いたダミーコンテンツ生成スクリプトの実装が中核です。スクリプトは works・posts の EN/JA ファイルを自動生成し、Picsum 画像をダウンロード。README・CLAUDE.md・Taskfile・設定ファイルが一貫性を保つよう更新されました。 Changesダミーコンテンツ生成システム実装とタスク命名規約の統一
Sequence Diagram(s)sequenceDiagram
participant User as ユーザー<br/>$ task generate:dummy
participant Main as main()<br/>(gen-dummy.ts)
participant Validate as 引数検証
participant Generate as generateWorks<br/>generatePosts
participant Faker as `@faker-js/faker`
participant FileWriter as ファイル書き込み
participant PicsumAPI as Picsum Photos<br/>(画像取得)
User->>Main: task generate:dummy works 5
Main->>Validate: --forceフラグ・引数解析
Validate-->>Main: 検証完了
Main->>Generate: generateWorks実行<br/>(count=5)
Generate->>Faker: 日付・company・credits<br/>生成要求
Faker-->>Generate: ダミーデータ返却
Generate->>Generate: EN/JA フロントマター<br/>+ 本文構築
Generate->>PicsumAPI: 画像URL(複数サイズ)<br/>リクエスト
PicsumAPI-->>PicsumAPI: 画像ダウンロード
Generate-->>Main: Markdown文字列返却
Main->>FileWriter: dummy_0000.en.md<br/>保存
Main->>FileWriter: dummy_0000.ja.md<br/>保存
Main->>FileWriter: assets/img/works/<br/>画像保存
FileWriter-->>Main: 完了
Main-->>User: 生成完了メッセージ
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
| token: ${{ secrets.GITHUB_TOKEN }} | ||
| commit-message: "chore: :paperclip: update CHANGELOG" | ||
| branch: chore/update-changelog | ||
| branch: chore/update:changelog |
There was a problem hiding this comment.
Bug: invalid git branch name
chore/update:changelog is rejected by git check-ref-format — colons are forbidden in git ref names. The peter-evans/create-pull-request action will fail every time it tries to push this branch, permanently breaking automated CHANGELOG PRs.
See:
sfz.dev/.github/workflows/changelog.yml
Lines 40 to 42 in 21749c9
| branch: chore/update:changelog | |
| branch: chore/update-changelog |
| desc: 点検 - Congoテーマのレイアウトオーバーライドを確認 | ||
| cmds: | ||
| - bash scripts/check-layout-overrides.sh | ||
| - bash scripts/check:layout-overrides.sh |
There was a problem hiding this comment.
Bug: script path does not exist
The task name rename (check-layouts → check:layouts) is valid go-task syntax, but the shell command was also changed, leaving it pointing to a nonexistent path. The actual script on disk is scripts/check-layout-overrides.sh (hyphen); scripts/check:layout-overrides.sh does not exist. task check:layouts — and task update:theme which depends on it — will both fail with exit 127.
See:
Lines 172 to 175 in 21749c9
| - bash scripts/check:layout-overrides.sh | |
| - bash scripts/check-layout-overrides.sh |
There was a problem hiding this comment.
Actionable comments posted: 15
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (5)
content/works/dummy_0018.en.md (1)
1-50:⚠️ Potential issue | 🟠 Major | ⚡ Quick win生成スクリプトでロケール固有のボディコンテンツが生成されていません。
scripts/gen-dummy.tsのgenerateWorksShared()関数(133-136行)では、ボディパラグラフがfakerEN.lorem.paragraphs()を使用して英語のプレースホルダーテキストのみで生成されています。このテキストはgenerateWorks()関数で両方の言語バージョン(英語と日本語)に使用されます(243行と255行)。コーディングガイドラインでは
content/**/*.mdについて「バイリンガルコンテンツ(日本語と英語の両方)を維持する」ことが要求されています。日本語版(.ja.md)ファイルのボディコンテンツは、実際の日本語プレースホルダーテキストが必要です。生成スクリプトを修正して、ロケール別に異なるボディコンテンツを生成するようにしてください(日本語版には日本語テキスト生成を使用)。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/works/dummy_0018.en.md` around lines 1 - 50, The body paragraphs are always generated with English-only fakerEN.lorem.paragraphs() inside scripts/gen-dummy.ts (generateWorksShared()) and then reused for both locales in generateWorks(), so Japanese files end up with English content; update generateWorksShared() to accept a locale argument (or determine locale per call) and generate locale-specific paragraphs (e.g., use a Japanese faker instance or set faker.locale='ja' and call the JA lorem generator) instead of always calling fakerEN.lorem.paragraphs(), and ensure generateWorks() passes the correct locale when creating the English and Japanese variants so .ja.md gets Japanese placeholder text.content/posts/dummy_0001.ja.md (1)
21-54:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift
ja記事本文が日本語になっておらず、バイリンガル要件を満たしていません。
.ja.mdなのに本文・見出しが日本語ではなくダミーテキストのままです。レイアウト確認用途でも、ja側は日本語文面で生成するよう修正し、再生成してください。As per coding guidelines
content/**/*.md: Maintain bilingual content (both Japanese and English) for all content files.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/posts/dummy_0001.ja.md` around lines 21 - 54, The .ja.md file currently contains placeholder Latin text; replace all paragraph and heading text (e.g., the body paragraphs and headings such as "## Tamisium deduco tertius terebro compello suscipit", "## Theologus antepono tantum caveo cohaero usitas", and "## Chirographum nihil asporto") with natural, grammatical Japanese translations that preserve the original structure and intent, keep the existing Hugo figure shortcode ({{< figure src="../img/posts/dummy_0001.jpg" alt="dummy_0001" >}}) and markdown headings intact, and save/regenerate the file so the Japanese side meets the bilingual content requirement.content/posts/dummy_0006.en.md (1)
21-48:⚠️ Potential issue | 🟠 Major | ⚡ Quick win
.en.mdの本文が英語になっていません。英語ページ向けファイルにもラテン語風プレースホルダーが入っており、言語別コンテンツとして利用しづらい状態です。
en出力時は英語本文を生成するように修正してください。As per coding guidelines:
content/**/*.md: Maintain bilingual content (both Japanese and English) for all content files🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/posts/dummy_0006.en.md` around lines 21 - 48, The file content/posts/dummy_0006.en.md currently contains Latin placeholder text instead of English; replace the body text in dummy_0006.en.md with the proper English translation for the post and ensure the content pipeline that generates language-specific files produces English for the `.en.md` output (follow the project guideline "content/**/*.md: Maintain bilingual content (both Japanese and English)"). Locate the English-language source or translation step in your content creation process and update either the source content or the generator/template so that the `.en.md` file contains the English copy rather than placeholder Latin.content/posts/dummy_0005.ja.md (1)
22-39:⚠️ Potential issue | 🟠 Major | ⚡ Quick win
.ja.mdの本文が日本語になっていません。日本語ページとして生成されるファイルで本文がラテン語風プレースホルダーのままだと、ロケール別コンテンツ要件を満たせません。
ja出力時は見出し・本文を日本語で生成するようにしてください。As per coding guidelines:
content/**/*.md: Maintain bilingual content (both Japanese and English) for all content files🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/posts/dummy_0005.ja.md` around lines 22 - 39, The .ja.md file contains Latin placeholder content (e.g., headings "## Defessus corrupti ipsum" and "## Porro corrupti testimonium appono") instead of Japanese; update dummy_0005.ja.md so that each heading and paragraph is written in Japanese and include the required bilingual content by appending or pairing English translations for each section (maintain both languages per coding guideline for content/**/*.md), ensuring headings and body text are properly translated and preserved in the same structure.README.md (1)
125-126:⚠️ Potential issue | 🟡 Minor | ⚡ Quick win
build:cssへの移行漏れがあります。タスク命名をコロン区切りへ統一している一方で、ここだけ
task build-cssのままです。task build:cssに揃えないと、READMEを見た実行が失敗します。修正案
- task build-css + task build:css- After updating, rebuild TailwindCSS with `task build-css` or restart the dev server with `task start`. + After updating, rebuild TailwindCSS with `task build:css` or restart the dev server with `task start`.Also applies to: 189-189
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@README.md` around lines 125 - 126, README に記載されているタスク名が誤って "task build-css" のままになっているため、README を参照して実行すると失敗します。"task build-css" という文字列を見つけてすべて "task build:css" に置換し(該当箇所はレビューで指摘された箇所と同様のもう一箇所もあるはずです)、タスク命名規則に合わせて表記を統一してください。特に該当トークン "task build-css" を "task build:css" に置き換えることを確認してください。
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/changelog.yml:
- Line 41: ブランチ名にコロンを使っているため create-pull-request アクションで失敗するので、workflow 内の branch
値 `chore/update:changelog` を有効なブランチ名に置き換えてください(例: `chore/update-changelog` または
`chore/update/changelog`)。対象は .github/workflows/changelog.yml の `branch:`
フィールド(現在の `chore/update:changelog` を定義している箇所)で、値をコロンを含まない文字列に変更するだけで OK です。
In `@biome.json`:
- Around line 63-72: The override in biome.json that sets suspicious.noConsole
to "off" for "scripts/**/*.ts" conflicts with project rules; remove or revert
that override (the "includes": ["scripts/**/*.ts"] override that changes
"suspicious.noConsole") so the linter rule is enforced, and update any usages in
files under scripts/**/*.ts that call console.log/warn/error to use
process.stdout.write/process.stderr.write or a project logging utility instead
(search for console.* in scripts/** and replace with appropriate
process.stdout/stderr calls or a centralized logger).
In `@CLAUDE.md`:
- Line 213: Update the CLAUDE.md pre-commit description to match lefthook.yml:
replace the listed `task test` entry with `task test:headless` (or explicitly
mention both if both run) so the doc and the actual Lefthook pre-commit hook
configuration stay consistent; check the paragraph containing "task format",
"task lint:markdown", and "task test" and change "task test" to "task
test:headless".
In `@content/posts/dummy_0009.ja.md`:
- Around line 22-40: The article content and headings (e.g., "## Praesentium
arca sublime argumentum constans" and "## Tui civitas aspicio curis ater
urbanus") are in Latin dummy text; replace all Latin paragraphs and headings in
this .ja.md variant with appropriate Japanese dummy text (headings and
corresponding body paragraphs) so the file provides Japanese content for
localization tests, mirroring the structure/meaning of the English side while
keeping the same heading structure and paragraph breaks.
In `@content/works/dummy_0002.ja.md`:
- Around line 41-49: The Japanese page dummy_0002.ja.md currently contains
English/Latin placeholder text instead of Japanese; replace the body paragraphs
(everything around the existing figure shortcode "{{< figure ... >}}") with
proper Japanese translations for the JA page, keep the figure
shortcode/attributes unchanged, ensure the .ja.md file contains only the
Japanese main copy while the corresponding .en.md retains English, then re-run
the site generator to re-output the bilingual artifacts so the generator
produces a matching JA/EN pair per the content/**/*.md guideline.
In `@content/works/dummy_0006.ja.md`:
- Around line 34-43: The ja.md file currently contains placeholder Latin/English
text; replace the body text in content/works/dummy_0006.ja.md with proper
Japanese content that mirrors the English version (preserve structure,
paragraphs and the {{< figure class="w-screen"
src="../img/works/dummy_0006_sub.jpg" alt="dummy_0006" >}} block), ensuring
Japanese wording, line breaks and layout are appropriate for ja locale and that
bilingual parity between this ja.md and its English counterpart is maintained
per the content/**/*.md guideline.
In `@content/works/dummy_0007.ja.md`:
- Around line 31-39: The ja content file dummy_0007.ja.md currently contains
non-Japanese placeholder text; replace the body text (everything under the
frontmatter and before/after the figure shortcode) with a natural Japanese
translation that preserves structure, shortcodes ({{< figure ... >}}), and
intent for UI/layout testing; ensure the generator or template that produces
dummy_0007.ja.md emits Japanese content for the main body (while keeping the
corresponding English file unchanged) so the repository maintains bilingual
content per content/**/*.md guidelines.
In `@content/works/dummy_0008.ja.md`:
- Around line 36-45: The Japanese content file dummy_0008.ja.md currently
contains non-Japanese placeholder text; replace the entire body (the paragraphs
around the figure tag {{< figure class="w-screen"
src="../img/works/dummy_0008_sub.jpg" alt="dummy_0008" >}}) with a proper
Japanese translation/localized version that preserves the existing structure
(paragraph breaks and the figure shortcode) and matches the bilingual content
guideline for content/**/*.md; ensure the Japanese text conveys the same meaning
as the English counterpart and keep the figure shortcode and alt text unchanged.
In `@content/works/dummy_0009.ja.md`:
- Around line 37-45: The file dummy_0009.ja.md currently contains Latin
placeholder text instead of Japanese; replace the body with proper Japanese
content (natural, readable Japanese) while preserving the existing structure and
shortcodes such as the image shortcode "{{< figure class=\"w-screen\"
src=\"../img/works/dummy_0009_sub.jpg\" alt=\"dummy_0009\" >}}"; ensure the
.ja.md file contains Japanese content for the main body and, per repository
guidelines, maintain the bilingual requirement by keeping or adding the English
counterpart in the corresponding .en.md file (or include a concise English
section if this repo expects both languages in one file).
In `@content/works/dummy_0010.ja.md`:
- Around line 43-53: The .ja.md body for dummy_0010 is still Latin placeholder
text; replace the Latin paragraphs in dummy_0010.ja.md with proper Japanese
content that mirrors the meaning/structure of the English variant (or a full
Japanese translation of the .en.md) while preserving existing shortcodes like
the figure blocks (e.g., {{< figure ... >}}) and any frontmatter; ensure the
file now contains valid Japanese prose so the repo's bilingual content rule
(content/**/*.md) is satisfied.
In `@content/works/dummy_0022.ja.md`:
- Around line 42-50: The paragraphs between the figure tag (the block starting
with "Uxor conqueror voluptate..." and ending with "Alter sordeo solitudo.") are
still placeholder Latin/English and must be replaced with Japanese content for
the .ja.md file; update those sentences to natural Japanese (preserve the
existing structure and the {{< figure ... >}} tag unchanged), ensuring the
.ja.md contains Japanese text corresponding to the original content while
keeping any surrounding frontmatter or metadata intact so bilingual requirements
(separate .ja.md/.en.md files) remain satisfied.
In `@scripts/gen-dummy.ts`:
- Around line 133-136: generateWorksShared() currently uses fakerEN to populate
bodyParagraphs (const bodyParagraphs: [string,string]) which causes .ja.md files
to contain English; update generateWorksShared() (and any related use in
generatePosts()) to branch by locale and use fakerJA to generate the Japanese
body paragraphs for the .ja.md output (e.g., create bodyParagraphsJA using
fakerJA.lorem.paragraphs(...) or choose faker based on a locale parameter),
ensure generatePosts() returns the correct locale-specific content fields rather
than passing English through, and keep the existing English generation for
fakerEN for the .en.md files so both JA and EN outputs are produced per the
bilingual guideline.
- Around line 10-11: VALID_TYPES currently only contains "works" and "posts", so
ContentType and any generation logic omit the required "teams" route; add
"teams" to VALID_TYPES (so type ContentType includes it) and then update all
places that branch on content type—e.g., the generator function(s) like
generateDummyContent, createContentPath or any switch/if that create
files/directories—to handle "teams" (create content/teams/ directory and the
same file structure/fixtures as for works/posts or the intended teams schema).
Ensure any mappings, filename templates, and tests that reference VALID_TYPES or
ContentType are updated accordingly.
- Around line 63-66: The downloadImage function currently calls fetch(url) with
no timeout and can hang; update downloadImage to use an AbortController with a
configurable timeout (e.g., 10s) to abort the fetch when exceeded, attach the
controller.signal to fetch, clear the timeout on success, and propagate a clear
error on timeout; ensure the existing logic that reads response.arrayBuffer()
still runs only after a non-aborted, ok response. Use the symbols downloadImage
and response (and the fetch call) to locate where to add the AbortController and
timeout handling.
In `@Taskfile.yml`:
- Line 174: Update the Taskfile.yml entry that references the script with a
colon in its name: replace the incorrect token "check:layout-overrides.sh" with
the correct token "check-layout-overrides.sh" so the bash invocation points to
the existing script; ensure the task that invokes this script (the line
currently reading bash scripts/check:layout-overrides.sh) now calls the
hyphenated filename so the check:layouts task runs successfully.
---
Outside diff comments:
In `@content/posts/dummy_0001.ja.md`:
- Around line 21-54: The .ja.md file currently contains placeholder Latin text;
replace all paragraph and heading text (e.g., the body paragraphs and headings
such as "## Tamisium deduco tertius terebro compello suscipit", "## Theologus
antepono tantum caveo cohaero usitas", and "## Chirographum nihil asporto") with
natural, grammatical Japanese translations that preserve the original structure
and intent, keep the existing Hugo figure shortcode ({{< figure
src="../img/posts/dummy_0001.jpg" alt="dummy_0001" >}}) and markdown headings
intact, and save/regenerate the file so the Japanese side meets the bilingual
content requirement.
In `@content/posts/dummy_0005.ja.md`:
- Around line 22-39: The .ja.md file contains Latin placeholder content (e.g.,
headings "## Defessus corrupti ipsum" and "## Porro corrupti testimonium
appono") instead of Japanese; update dummy_0005.ja.md so that each heading and
paragraph is written in Japanese and include the required bilingual content by
appending or pairing English translations for each section (maintain both
languages per coding guideline for content/**/*.md), ensuring headings and body
text are properly translated and preserved in the same structure.
In `@content/posts/dummy_0006.en.md`:
- Around line 21-48: The file content/posts/dummy_0006.en.md currently contains
Latin placeholder text instead of English; replace the body text in
dummy_0006.en.md with the proper English translation for the post and ensure the
content pipeline that generates language-specific files produces English for the
`.en.md` output (follow the project guideline "content/**/*.md: Maintain
bilingual content (both Japanese and English)"). Locate the English-language
source or translation step in your content creation process and update either
the source content or the generator/template so that the `.en.md` file contains
the English copy rather than placeholder Latin.
In `@content/works/dummy_0018.en.md`:
- Around line 1-50: The body paragraphs are always generated with English-only
fakerEN.lorem.paragraphs() inside scripts/gen-dummy.ts (generateWorksShared())
and then reused for both locales in generateWorks(), so Japanese files end up
with English content; update generateWorksShared() to accept a locale argument
(or determine locale per call) and generate locale-specific paragraphs (e.g.,
use a Japanese faker instance or set faker.locale='ja' and call the JA lorem
generator) instead of always calling fakerEN.lorem.paragraphs(), and ensure
generateWorks() passes the correct locale when creating the English and Japanese
variants so .ja.md gets Japanese placeholder text.
In `@README.md`:
- Around line 125-126: README に記載されているタスク名が誤って "task build-css"
のままになっているため、README を参照して実行すると失敗します。"task build-css" という文字列を見つけてすべて "task
build:css"
に置換し(該当箇所はレビューで指摘された箇所と同様のもう一箇所もあるはずです)、タスク命名規則に合わせて表記を統一してください。特に該当トークン "task
build-css" を "task build:css" に置き換えることを確認してください。
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 9e83298a-644b-4689-bd36-05e23fca7614
⛔ Files ignored due to path filters (86)
assets/img/posts/dummy_0000.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0001.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0002.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0003.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0004.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0005.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0006.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0007.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0008.jpgis excluded by!**/*.jpgassets/img/posts/dummy_0009.jpgis excluded by!**/*.jpgassets/img/works/dummy_0000_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0000_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0000_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0001_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0001_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0001_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0002_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0002_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0002_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0003_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0003_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0003_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0004_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0004_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0004_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0005_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0005_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0005_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0006_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0006_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0006_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0007_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0007_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0007_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0008_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0008_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0008_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0009_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0009_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0009_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0010_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0010_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0010_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0011_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0011_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0011_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0012_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0012_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0012_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0013_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0013_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0013_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0014_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0014_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0014_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0015_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0015_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0015_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0016_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0016_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0016_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0017_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0017_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0017_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0018_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0018_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0018_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0019_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0019_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0019_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0020_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0020_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0020_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0021_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0021_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0021_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0022_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0022_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0022_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0023_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0023_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0023_thumbnail.jpgis excluded by!**/*.jpgassets/img/works/dummy_0024_key.jpgis excluded by!**/*.jpgassets/img/works/dummy_0024_sub.jpgis excluded by!**/*.jpgassets/img/works/dummy_0024_thumbnail.jpgis excluded by!**/*.jpgpackage-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (88)
.claude/settings.local.json.github/workflows/changelog.yml.github/workflows/playwright.yml.vscode/settings.jsonCLAUDE.mdREADME.mdTaskfile.ymlbiome.jsoncontent/posts/dummy_0000.en.mdcontent/posts/dummy_0000.ja.mdcontent/posts/dummy_0001.en.mdcontent/posts/dummy_0001.ja.mdcontent/posts/dummy_0002.en.mdcontent/posts/dummy_0002.ja.mdcontent/posts/dummy_0003.en.mdcontent/posts/dummy_0003.ja.mdcontent/posts/dummy_0004.en.mdcontent/posts/dummy_0004.ja.mdcontent/posts/dummy_0005.en.mdcontent/posts/dummy_0005.ja.mdcontent/posts/dummy_0006.en.mdcontent/posts/dummy_0006.ja.mdcontent/posts/dummy_0007.en.mdcontent/posts/dummy_0007.ja.mdcontent/posts/dummy_0008.en.mdcontent/posts/dummy_0008.ja.mdcontent/posts/dummy_0009.en.mdcontent/posts/dummy_0009.ja.mdcontent/works/dummy_0000.en.mdcontent/works/dummy_0000.ja.mdcontent/works/dummy_0001.en.mdcontent/works/dummy_0001.ja.mdcontent/works/dummy_0002.en.mdcontent/works/dummy_0002.ja.mdcontent/works/dummy_0003.en.mdcontent/works/dummy_0003.ja.mdcontent/works/dummy_0004.en.mdcontent/works/dummy_0004.ja.mdcontent/works/dummy_0005.en.mdcontent/works/dummy_0005.ja.mdcontent/works/dummy_0006.en.mdcontent/works/dummy_0006.ja.mdcontent/works/dummy_0007.en.mdcontent/works/dummy_0007.ja.mdcontent/works/dummy_0008.en.mdcontent/works/dummy_0008.ja.mdcontent/works/dummy_0009.en.mdcontent/works/dummy_0009.ja.mdcontent/works/dummy_0010.en.mdcontent/works/dummy_0010.ja.mdcontent/works/dummy_0011.en.mdcontent/works/dummy_0011.ja.mdcontent/works/dummy_0012.en.mdcontent/works/dummy_0012.ja.mdcontent/works/dummy_0013.en.mdcontent/works/dummy_0013.ja.mdcontent/works/dummy_0014.en.mdcontent/works/dummy_0014.ja.mdcontent/works/dummy_0015.en.mdcontent/works/dummy_0015.ja.mdcontent/works/dummy_0016.en.mdcontent/works/dummy_0016.ja.mdcontent/works/dummy_0017.en.mdcontent/works/dummy_0017.ja.mdcontent/works/dummy_0018.en.mdcontent/works/dummy_0018.ja.mdcontent/works/dummy_0019.en.mdcontent/works/dummy_0019.ja.mdcontent/works/dummy_0020.en.mdcontent/works/dummy_0020.ja.mdcontent/works/dummy_0021.en.mdcontent/works/dummy_0021.ja.mdcontent/works/dummy_0022.en.mdcontent/works/dummy_0022.ja.mdcontent/works/dummy_0023.en.mdcontent/works/dummy_0023.ja.mdcontent/works/dummy_0024.en.mdcontent/works/dummy_0024.ja.mdlefthook.ymlnetlify.tomlpackage.jsonplaywright.config.tsscripts/check-layout-overrides.shscripts/gen-dummy.tstests/tags.en.spec.tstests/tags.ja.spec.tstests/teardown.tstsconfig.json
| const VALID_TYPES = ["works", "posts"] as const | ||
| type ContentType = (typeof VALID_TYPES)[number] |
There was a problem hiding this comment.
teams 未対応のままでは Issue #40 の受け入れ条件を満たせません。
Line 10 の VALID_TYPES が works/posts のみで、content/teams/ の生成ルートが存在しません。Issue 側のスコープに teams が含まれているため、このPRを close 対象にするなら未達です。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@scripts/gen-dummy.ts` around lines 10 - 11, VALID_TYPES currently only
contains "works" and "posts", so ContentType and any generation logic omit the
required "teams" route; add "teams" to VALID_TYPES (so type ContentType includes
it) and then update all places that branch on content type—e.g., the generator
function(s) like generateDummyContent, createContentPath or any switch/if that
create files/directories—to handle "teams" (create content/teams/ directory and
the same file structure/fixtures as for works/posts or the intended teams
schema). Ensure any mappings, filename templates, and tests that reference
VALID_TYPES or ContentType are updated accordingly.
Describe the PR
To close #40
Screenshots
(T. B. D.; If applicable, add screenshots to help explain your problem.)
Appendix
(T. B. D.; Add any other context about the problem here.)
Summary by CodeRabbit
リリースノート
Documentation
New Features
generate:dummyコマンドで記事やポートフォリオのダミーコンテンツを簡単に生成できます。Chores
build-css→build:css)。Hugo および Go のバージョンを更新しています。