How It Works
The full pipeline from push to published site.
1. Git Clone
When you create a site or push to your branch, GetPagemark performs a shallow clone of your repository. For private repos, your stored GitHub OAuth token is injected into the clone URL for authentication.
2. Markdown Parsing
Every .md file is parsed using gray-matter for YAML frontmatter and marked for HTML conversion. GitHub-Flavored Markdown is fully supported including tables, task lists, and fenced code blocks.
3. Navigation Generation
Your folder structure is walked recursively to build a hierarchical navigation tree. Folders become collapsible sections. Files become nav links. Use order in frontmatter to control sort position.
4. Theme Rendering
Each page is rendered into a full HTML document with your chosen theme's CSS, the sidebar navigation, a search bar, and responsive layout. The output is static HTML — no JavaScript frameworks required for the published site.
5. Search Index
A search-index.json file is generated containing page titles, headings, and content snippets. The client-side search loads this lazily and provides instant results with keyboard navigation.
6. Serving
Built files are written to a persistent volume. When a request comes in for slug.getpagemark.com, the serve layer resolves the slug to a site ID, finds the files on disk, and returns them with proper content types and caching headers.