Skip to content

Telqo/lyno-docs

Repository files navigation

Lyno documentation

The documentation site for Lyno PBX, built with Docusaurus 3.

npm install
npm start        # dev server on http://localhost:3000 (no search — see below)
npm run build    # production build into build/
npm run serve    # serve the production build
npm run typecheck

Layout

docs/
  intro.md, quick-start.md
  concepts/       multi-tenancy, call flow, architecture
  configuration/  files and paths, tenants, accounts, trunks
  routing/        inbound, outbound, inter-tenant
  dialplans/      overview, steps, ring groups, time conditions, audio
  operations/     cli, dashboard, configure, docker, nat, troubleshooting
  reference/      lyno.yaml, tenant.yaml, extension files
src/
  css/custom.css  the theme: tokens, navbar, sidebar, tables, code, footer
  pages/index.tsx the landing page
sidebars.ts       hand-written — reading order matters, so it is not generated
static/img/       Lyno logo, favicon, social card and the telqo footer
                  wordmark (SVG, no binaries)

Search

Search is offline: @easyops-cn/docusaurus-search-local builds a Lunr index at build time and ships it as build/search-index.json, so there is no Algolia account, no crawler and no request leaving the reader's browser.

The index only exists in a production build. npm start shows no search bar at all — to try search, use npm run build && npm run serve.

Navigation

Three things carry navigation, and they are configured in three places:

  • the navbar (docusaurus.config.ts) — quick start, the sidebar, and dropdowns for reference and operations, for readers who already know the name of what they want;
  • the sidebar (sidebars.ts) — reading order, concepts first;
  • category landing pages — every sidebar category is also a page, so its heading is a link rather than only a collapse toggle. Most are generated-index pages (/docs/concepts, /docs/configuration, /docs/routing, /docs/operations, /docs/reference); Dialplans points at its hand-written overview instead. A generated-index slug is relative to the docs routeBasePath, so it is written /concepts, not /docs/concepts.

Conventions

  • The source is the truth. Every behavioural claim should be checked against the lyno source tree, not against older prose.
  • Never paste real credentials. The source repository's configs/ holds real SIP passwords and a real carrier; examples here use placeholders.
  • The sidebar is hand-written. A new page needs an entry in sidebars.ts.
  • Links are relative .md paths. onBrokenLinks and onBrokenAnchors are set to throw, so npm run build is the cross-reference check.
  • Prose pages explain why; reference pages are exhaustive tables. When a fact appears in both, they must agree.

Keeping it in sync

Run /update-docs in Claude Code from either this repository or the lyno source tree. The full procedure lives in .claude/commands/update-docs.md.

Theme

The telqo house style, taken from telqo.nl: Mulish (800/900) for headings, Hind Madurai for body text, the brand gradient (#0f172a → #1e3a8a → #3b82f6) on hero and CTA surfaces, blue-500 accents and 12–16px corners. All tokens are declared at the top of src/css/custom.css; both colour schemes are defined there, so changing the palette is one block, not a sweep.

Nothing is fetched at runtime: fonts are self-hosted via @fontsource/mulish and @fontsource/hind-madurai, and every image is a local SVG.

Notes

  • showLastUpdateTime is commented out in docusaurus.config.ts; enable it once this directory has at least one commit.
  • url and baseUrl in docusaurus.config.ts are placeholders — set them to the real hostname before deploying.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages