lazysite

lazysite

Markdown-driven pages for any CGI-capable web server. No build step, no database, no CMS. Drop a .md file in your docroot and it is served as a fully rendered HTML page. The first request generates the HTML and caches it; every subsequent request is a plain static file.

Features

Content - Markdown pages with YAML front matter - Template Toolkit variables in pages and views - Fenced divs, oEmbed, content includes - Remote pages (.url files that fetch Markdown from a URL) - Page scan for blog/news index pages - Registry files: sitemap.xml, llms.txt, RSS, Atom - TTL-based cache and API/raw output modes

Views and themes - Template Toolkit view templates (view.tt) - Themes live under lazysite/themes/THEME/ with their own assets - Built-in fallback view so sites work with zero configuration

Manager - Browser-based admin at /manager - Config, Files, Nav, Plugins, Themes, Users, and Cache pages - Admin bar on site pages for manager users

Authentication - Built-in cookie auth (lazysite-auth.pl) with users and groups - Drop-in replacement by any proxy that sets X-Remote-* headers - Per-page auth: and auth_groups: front matter

Forms - Inline :::form blocks with field validation - Named dispatch handlers (SMTP, file storage, webhooks) - Honeypot, HMAC timestamp token, and rate limiting built in

Payment - x402 payment flow support via payment: front matter

Plugins - Auto-discovery of CGI scripts and tools via --describe JSON - Enable, disable, and configure from the manager

Operations - Structured logging (text or JSON, env or config) - Link audit (orphaned pages, broken internal links) - Static site generation for GitHub Pages, Netlify, etc.

Quick start

git clone https://github.com/OpenDigitalCC/lazysite.git
cd lazysite
perl tools/lazysite-server.pl

Open http://localhost:8080/ to browse the starter site.

Installation

sudo bash install.sh --docroot /path/to/public_html \
                     --cgibin /path/to/cgi-bin \
                     --domain example.com

HestiaCP users: see installers/hestia/. Docker: see installers/docker/.

Full installation details in starter/docs/install.md.

Documentation

Browse locally via the dev server, or read the Markdown directly:

AI-assistant briefings:

Views and themes

Ready-to-use themes live in the companion repo lazysite-views. Install a theme zip via the manager Themes page, or unpack manually under lazysite/themes/.

Requirements

Licence

MIT. See LICENSE.