Remove meta.yaml — use .md frontmatter as single source of truth - #46
Merged
Conversation
Jekyll requires collection directories under collections_dir to be prefixed with underscore (e.g., content/_locksounds/ not content/locksounds/). Without the prefix, Jekyll treats the markdown files as regular pages instead of collection documents, causing site[page.collection_name] to return empty and category pages to show no items. - Renamed all 5 collection dirs: _locksounds, _lightshows, _boombox, _wraps, _hornsounds - Updated scripts/build.ts to reference underscore-prefixed dirs - Updated PR templates with correct directory paths Co-Authored-By: Paperclip <noreply@paperclip.ing>
search.json was iterating site.pages which doesn't include Jekyll collection documents. Now iterates site[cat] for each content category and uses item.collection for category detection, matching the fix applied to the category template in da46884. Co-Authored-By: Paperclip <noreply@paperclip.ing>
Refactored build.ts and validate.ts to read metadata from .md frontmatter (via gray-matter) instead of meta.yaml files. Deleted all meta.yaml files from content directories. Updated category READMEs and PR templates to reference frontmatter in .md files. Co-Authored-By: Paperclip <noreply@paperclip.ing>
tallnato
commented
Mar 26, 2026
tallnato
left a comment
Member
Author
There was a problem hiding this comment.
Review: Approved ✓
Clean refactoring. Both npm run build and npm run validate pass. The gray-matter usage is correct and the meta.yaml deletion is thorough.
Minor notes (non-blocking)
-
Stale
meta.yamlcomments — 3 leftover references:_data/tags.yaml:2—# All meta.yaml tags must use values from this list.content/tags.yaml:2— samescripts/validate.ts:19—// Allowed file extensions per category (excluding meta.yaml)
These should say "frontmatter" instead of "meta.yaml". Can be cleaned up in a follow-up.
-
import * as yamlin both scripts — still needed (_config.ymlin build,tags.yamlin validate), so no dead imports.
LGTM — ship it.
- Keep meta.yaml files deleted (per PR intent) - Keep README references to .md frontmatter (not meta.yaml) - Auto-merged build.ts and PR templates cleanly Co-Authored-By: Paperclip <noreply@paperclip.ing>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/build.tsto read metadata from.mdfrontmatter (viagray-matter) instead ofmeta.yamlscripts/validate.tsto read.mdfrontmatter instead ofmeta.yaml(also fixed category directory path to use_prefix)meta.yamlfiles from content directories.mdfrontmatter instead ofmeta.yamlTest plan
npm run buildproduces catalog with all 5 itemsnpm run validatepasses with all checks greenCloses NAT-112