Skip to content

Add human-readable name fields to Chapter and Module types #48

@raisedadead

Description

@raisedadead

Summary

Chapters and Modules (v9 curriculum structures) only expose dashedName via API. They need human-readable name fields for consistency with other primitives.

Current State

Primitive Human-readable name
Superblock name (PR #39)
Block name
Challenge title
Chapter ❌ only dashedName
Module ❌ only dashedName

Expected Transformation

dashedName: "html"                  → name: "HTML"
dashedName: "basic-html"            → name: "Basic HTML"
dashedName: "html-forms-and-tables" → name: "HTML Forms And Tables"

Implementation Checklist

Follow the Superblock pattern from PR #39:

  • Add optional name to RawChapter and RawModule interfaces
  • Add required name to ChapterData and ModuleData interfaces
  • Update normalizeChapter() and normalizeModule() to generate names via dashedNameToTitle()
  • Add name: String! to GraphQL Chapter and Module types
  • Regenerate types

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions