Docs Site (docs.arlyn.io)¶
Project: Arlyn Labs Docs (docs.arlyn.io)
Date: April 2026
Overview¶
The Arlyn Labs documentation library at docs.arlyn.io is a static site generated by MkDocs with the Material theme. Like the company website, it is hosted on Cloudflare Pages and deployed automatically on every push to the main branch of its GitHub repository.
The key difference from the company website is the build step: the company website is plain static HTML and requires no build command, whereas the docs site must run MkDocs to compile Markdown source files into a static site before Cloudflare can serve it.
How It Works¶
Source repository¶
All documentation is written in Markdown and lives in the ArlynLabs/arlyn-docs GitHub repository. The repository structure is:
arlyn-docs/
├── docs/ # Markdown source files (one per doc page)
│ ├── index.md # Home page
│ ├── hosting/ # Hosting & Deployment section
│ ├── access-control/ # Access Control section
│ └── credentials/ # Credentials & Connections section
├── mkdocs.yml # Site configuration: nav, theme, plugins
├── requirements.txt # Python dependencies (MkDocs + Material theme)
└── _worker.js # Edge worker: redirects .pages.dev → docs.arlyn.io
Build pipeline¶
When a push lands on main, Cloudflare Pages runs the following build command inside a managed build environment:
This installs MkDocs and the Material theme, then compiles all Markdown files into a complete static site in the site/ output directory. Cloudflare then deploys that directory globally across its CDN.
There is no separate CI step — the entire build happens inside Cloudflare Pages.
Custom domain¶
The site is served at docs.arlyn.io via a CNAME DNS record in the Cloudflare dashboard pointing to arlyn-docs.pages.dev. The DNS setup follows the same pattern as the company website — see Cloudflare Pages & GitHub Setup for detail on how custom domains are connected.
.pages.dev redirect¶
As with the company website, the .pages.dev URL (arlyn-docs.pages.dev) permanently redirects to the canonical domain (docs.arlyn.io) via a _worker.js edge worker in the repo root. This prevents search engines from indexing the .pages.dev URL as a duplicate. The worker pattern is identical to the one documented in Cloudflare Pages & GitHub Setup.
Adding or Updating Documentation¶
Making a change to the docs site is a two-step process: write the content, then register it in the nav.
1. Write the Markdown file¶
Add a .md file to the appropriate subdirectory under docs/. Each section has its own directory (hosting/, access-control/, credentials/). Use the existing pages as a template — every page should open with:
2. Register it in mkdocs.yml¶
Add the new file to the nav: block in mkdocs.yml:
The nav: block controls the order and grouping of pages in the sidebar. If a file exists in docs/ but is not listed in nav:, MkDocs will still build it but it won't appear in the navigation.
3. Push to publish¶
The site updates within about a minute of the push landing on main.
Local Development¶
You can preview the site locally before pushing. This requires Python 3.
# Install dependencies (once)
pip install -r requirements.txt
# Start the local dev server with live reload
mkdocs serve
The server runs at http://127.0.0.1:8000 and automatically rebuilds whenever you save a file. This is the recommended way to check formatting and navigation before committing.
Shared Infrastructure¶
The docs site shares the following infrastructure with the company website (arlyn.io):
| Component | Company website | Docs site |
|---|---|---|
| Hosting platform | Cloudflare Pages | Cloudflare Pages |
| Source control | ArlynLabs/arlyn-website | ArlynLabs/arlyn-docs |
| GitHub integration | Cloudflare GitHub App on ArlynLabs org | Same app installation |
| Cloudflare account | e3874665bc48a0819bc5be1dfbdf454d | Same account |
| Custom domain DNS | arlyn.io (CNAME @ → arlyn-website.pages.dev) | docs.arlyn.io (CNAME → arlyn-docs.pages.dev) |
| .pages.dev redirect | _worker.js → arlyn.io |
_worker.js → docs.arlyn.io |
| Build command | None (plain static HTML) | pip install -r requirements.txt && mkdocs build |
| Output directory | / (repo root) |
site/ |
| Access control | Public | JumpCloud SSO via Cloudflare Access |
The main operational difference is that the docs site is SSO-protected. Visitors to docs.arlyn.io must authenticate via JumpCloud before the page is served. The company website has no such gate. See Access Control for how that is configured.
Key References¶
| Item | Value |
|---|---|
| Live site | docs.arlyn.io |
| GitHub repository | ArlynLabs/arlyn-docs |
| Cloudflare Pages URL | arlyn-docs.pages.dev |
| Cloudflare Account ID | e3874665bc48a0819bc5be1dfbdf454d |
| MkDocs documentation | mkdocs.org |
| Material theme docs | squidfunk.github.io/mkdocs-material |
| Company website hosting guide | Cloudflare Pages & GitHub Setup |