Tasks
1. Add humanizeLabel utility to src/utils.ts
- [x] 1.1 Add
function humanizeLabel(name: string): stringthat splits on-, capitalizes the first letter of each word, and joins with a space - [x] 1.2 Verify edge cases: empty string returns
"", single word capitalizes first letter
2. Apply humanizeLabel in page generators
- [x] 2.1 In
generateSpecPage: replacespec.nameheading withhumanizeLabel(spec.name) - [x] 2.2 In
generateChangeIndexPage: replacechange.nameheading withhumanizeLabel(change.name) - [x] 2.3 In
generateSpecsIndexPage: replacespec.namelink text withhumanizeLabel(spec.name) - [x] 2.4 In
generateChangesIndexPage: replacechange.namelink text withhumanizeLabel(change.name)(both active and archived sections)
3. Apply humanizeLabel in sidebar builder
- [x] 3.1 In
generateOpenSpecSidebar: replaces.namewithhumanizeLabel(s.name)for spec items - [x] 3.2 In
generateOpenSpecSidebar: replacec.namewithhumanizeLabel(c.name)for change group text (active and archived)
4. Update tests
- [x] 4.1 Add unit tests for
humanizeLabelinsrc/__tests__/utils.test.tscovering: multi-word, single-word, empty string - [x] 4.2 Update any existing test assertions that compare against raw kebab-case headings or sidebar text to use the humanized form