FUNDOCS

FUNDOCS is Funday’s gated developer wiki. It follows the same integration pattern as Hermes: FUNDEV owns the chrome, the content engine runs in an iframe behind nginx.

URL map

URLServesNotes
/dev/docsSvelteKit (funday-frontend)Hermes shell: drawer + iframe host
/dev/docs/wiki/Quartz (quartz-wiki.service :8080)Wiki SPA, explorer, Ask FAB, comments
/api/dev/docs-assistantSvelteKit SSERead-only OMP assistant over dev/docs/content
/api/dev/remark42-profileSvelteKit JSONNakama username + avatar for Remark42 embed

nginx (scripts/nginx/funday-traefik-subpaths.conf):

  • ^~ /dev/docs/wiki/ → Quartz (with auth_request)
  • /dev/docs (no /wiki) → Traefik → SvelteKit :3000

Quartz runtime base path: QUARTZ_RUNTIME_BASE_PATH=/dev/docs/wiki (quartz-wiki.service).

FUNDEV shell

Route: frontend/src/routes/dev/docs/+layout.svelte

  • Full-height iframe → /dev/docs/wiki/…
  • Ask docs FAB (#docs-assistant-trigger) lives inside Quartz via DocsAssistant mounted by DevDocsFrame
  • Citation links stay in-wiki (docsAssistant.inline.ts rewrites to /dev/docs/...)
  • Wiki SPA posts fundoocs-nav on navigation → parent URL stays in sync
  • AI model: /dev/ai → use case FUNDOCS Assistant (docsAssistant)

Sidebar label and breadcrumbs: FUNDOCS (devTools.ts, dev/+layout.svelte).

Quartz wiki (iframe content)

Source: funday/dev/docs/content
Config: funday/dev/docs/quartz.config.yaml

  • pageTitle: FUNDOCS, baseUrl: funday.gg/dev/docs/wiki
  • Frame: DevDocsFrame — article chrome + sticky rails; FUNDEV chrome stays outside the iframe
  • Stock Quartz page-title / header toolbar / footer chrome disabled or removed for embed; Ask is Quartz DocsAssistant
  • Explorer sidebar title: FUNDOCS (i18n/locales/en-US.ts)

Rebuild after content or Quartz changes:

cd /home/usr/funday/dev/docs
npx quartz build
sudo systemctl restart quartz-wiki

Deploy frontend after shell/assistant/API changes:

cd /home/usr/funday/frontend && npm run deploy

SPA navigation

Quartz SPA (spa.inline.ts) uses data-basepath="/dev/docs/wiki". Explorer and in-wiki links must stay under that prefix; otherwise the router falls back to full location.assign (feels like “needs refresh”).

Iframe → parent sync: on each nav event the wiki posts:

window.parent.postMessage({ type: "fundoocs-nav", slug }, origin)

Ask Docs

AI assistant to help answer questions about the documentation. Answers are read-only and cite docs/source.

Hi! How can I help you with the documentation today? Answers are read-only and cite docs/source.

Ctrl+Enter to send