Cosmos / SkyCMS

Starter Designs

Example site layouts and page templates you can import into Cosmos CMS (SkyCMS). Each layout includes a build script that stitches together shared components and page content into ready-to-use HTML.

Requirements

  • Node.js (to run each layout's build-templates.js)
  • Optional: VS Code Static Web Apps extension for local static-site workflows

Build workflow (per layout)

Run the build script inside any layout folder:

cd src/Layouts/<layout-folder>
node build-templates.js

The script:

  • Cleans generated .html files in the layout root (keeps _source/ and ckeditor-content.css).
  • Merges _source/base-template.html with shared components in _source/layout-components/ and page content in _source/content/<page>/.
  • Supports optional head.html and end.html in each page folder for page-specific head/end injections.
  • Writes <page>.html files next to the script and warns if required Cosmos/SkyCMS elements are missing.

Build all layouts at once

From the repo root, run the helper PowerShell script to execute every layout build:

pwsh -File build-layouts.ps1

It walks each src/Layouts/<layout> folder, runs its build-templates.js, and returns you to the root when done. Any layout errors are shown inline.

Add or edit a page

  1. Create a folder in _source/content/ (e.g., _source/content/about/).
  2. Add content.html (required) plus optional head.html and end.html for page-specific head/end markup.
  3. Add the page entry to that layout's catalog.json.
  4. Run node build-templates.js from the layout folder to regenerate the compiled HTML.

Add a new design

  1. Fork the repo and copy src/Layouts/template-starter/ to a new folder under src/Layouts/.
  2. Update _source/layout-components/head.html with your CSS framework or custom styles.
  3. Add or edit pages in _source/content/.
  4. Run node build-templates.js inside your new layout folder to generate the outputs.
  5. Open a pull request when ready; once merged, your design joins the catalog.

Questions?

Email support@moonrise.net.