Source of truth
Improve static site generator settings without redesigning the static-site protocol. The current first slice is backend validation and persistence: generated sites should use normalized settings, reject invalid static-site names, keep custom CSS bounded, and store the exact normalized options used for rendering.
Scope
- Normalize numeric render settings before generation: post title length, post description length, and posts per page.
- Validate nested
site.name, not only legacy top-level name.
- Bound
stylesCss to a string payload with a size limit before appending it to generated CSS.
- Create group static-site records after group defaults are merged, so generated pages and stored options use the same settings object.
- Preserve custom CSS support and persist normalized render options in
StaticSite.options.
- Return
static_site_not_found for missing static-site updates instead of dereferencing a missing record.
- Update
docs/todo.md with the active settings slice.
Verification
- Static-site generator tests for normalized settings, custom CSS persistence, invalid names, and missing update targets.
npm run test:docker
Source of truth
Improve static site generator settings without redesigning the static-site protocol. The current first slice is backend validation and persistence: generated sites should use normalized settings, reject invalid static-site names, keep custom CSS bounded, and store the exact normalized options used for rendering.
Scope
site.name, not only legacy top-levelname.stylesCssto a string payload with a size limit before appending it to generated CSS.StaticSite.options.static_site_not_foundfor missing static-site updates instead of dereferencing a missing record.docs/todo.mdwith the active settings slice.Verification
npm run test:docker