[
  {
    "file": "pages/about.md",
    "title": "About",
    "section-id": null,
    "keywords": "",
    "description": "",
    "author": null,
    "created": "",
    "modified": "",
    "language": "en",
    "body": "# About\n\nThis is a sample page for Phase 7 PWA testing. Navigate here from the sidebar, then go offline and reload — this page should still be available from the service worker cache.\n"
  },
  {
    "file": "pages/docs.md",
    "title": "Docs",
    "section-id": null,
    "keywords": "",
    "description": "",
    "author": null,
    "created": "",
    "modified": "",
    "language": "en",
    "body": "# Docs\n\nAnother sample page for Phase 7 PWA testing. Visit this page while online, then go offline — it should remain accessible from the cache.\n"
  },
  {
    "file": "pages/home.md",
    "title": "Home",
    "section-id": null,
    "keywords": "",
    "description": "",
    "author": null,
    "created": "",
    "modified": "",
    "language": "en",
    "body": "# Phase 7 — PWA Test\n\nThis page verifies the service worker and manifest generated by `mdcms build` when `pwa: yes` is set in `config.yml`.\n\n## Test procedure\n\n1. Run `python3 mdcms.py build --path app/` — confirm `manifest.json` and `service-worker.js` appear in `app/`\n2. Load `http://localhost:8800` — service worker registers on first load\n3. Navigate to the **About** and **Docs** pages so they are fetched and cached\n4. Stop the HTTP server (`Ctrl+C` in its terminal)\n5. Reload — site should load fully from the service worker cache\n6. Navigate between pages — all should work offline\n7. Check that a page not yet visited shows the offline message\n\n## What to look for\n\n- `manifest.json` and `service-worker.js` exist after build\n- DevTools → Application → Service Workers: status **activated and running**\n- DevTools → Application → Cache Storage: cache named `mdcms-xxxxxxxx` with all files listed\n- Site loads fully with server stopped\n- Offline message (`config.yml: offline-message`) appears for uncached pages\n"
  },
  {
    "file": "pages/tabs-accordions.md",
    "title": "Tabs & Accordions",
    "section-id": null,
    "keywords": "",
    "description": "",
    "author": null,
    "created": "",
    "modified": "",
    "language": "en",
    "body": "# Tabs & Accordions\n\n## Tab — Underline variant\n\n```mdcms tab-underline\nitems:\n  - title: Install\n    default: selected\n    content: |\n      Install with `npm i mdcms` or `pnpm add mdcms`.\n  - title: Configure\n    content: |\n      Drop a `mdcms.config.yaml` next to your content folder.\n  - title: Deploy\n    content: |\n      Any static host. The build emits plain HTML.\n```\n\n## Tab — Filled variant\n\n```mdcms tab-filled\nitems:\n  - title: Overview\n    default: selected\n    content: |\n      MD-CMS is a markdown-based static site system with no build step.\n  - title: Features\n    content: |\n      - Sidebar navigation with sections\n      - Full-text search via Fuse.js\n      - PWA support with offline caching\n      - Dark / light theme toggle\n  - title: Architecture\n    content: |\n      Two parts: `mdcms.py` (CLI) and `app/index.html` (browser renderer).\n```\n\n## Accordion — Underline variant\n\n```mdcms accordion-underline\nitems:\n  - title: What is MD-CMS?\n    default: open\n    content: |\n      MD-CMS is a single-file browser renderer that reads markdown, config,\n      and nav at runtime entirely client-side. No build pipeline, no compilation.\n  - title: How do I install it?\n    content: |\n      Run `pip install mdcms` or download a binary from the GitHub releases page.\n  - title: Does it work offline?\n    content: |\n      Yes — run `mdcms fetch-deps` to bundle all vendor assets locally, then\n      enable `pwa: yes` in `config.yml` for full offline support.\n```\n\n## Accordion — Filled variant\n\n```mdcms accordion-filled\nitems:\n  - title: Can I use custom themes?\n    default: open\n    content: |\n      Yes. Create a `theme.yml` file and point to it with `theme: theme.yml` in\n      your `config.yml`. The theme controls colours, fonts, and layout.\n  - title: What markdown features are supported?\n    content: |\n      GFM (GitHub Flavored Markdown): tables, task lists, fenced code blocks,\n      strikethrough, and autolinks. Syntax highlighting via highlight.js.\n  - title: Can I nest categories?\n    content: |\n      Categories are flat (no nesting), but nav sections support a `parent:`\n      key for two-level sidebar grouping.\n```\n"
  }
]