lazysite
Markdown-driven static pages for Apache. No build step, no database, no CMS.
What it is
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 alongside the source file. Every subsequent request is a plain static file served by Apache — no process, no overhead.
Write content in Markdown. Design the site in a Template Toolkit layout file. The two never touch each other.
This site is its own demonstration. The three pages are `.md` files stored in the [lazysite GitHub repository][github] and served here via `.url` files — lazysite fetches and renders them on first request.
Install
sudo bash install.sh
The installer registers a HestiaCP web template. Apply it to a domain in HestiaCP, rebuild vhosts, and the processor and starter files are in place. A standalone Apache configuration is also produced for use without HestiaCP.
Full installation instructions are in the docs.
Key features
- No build step
-
Write a
.mdfile, save it, it is live. Delete the cached.htmlto republish after edits. That is the entire workflow. - No database
- Files are the source of truth. Nothing to back up separately, nothing to migrate.
- Fast by default
- Dynamic only on the first request. Apache serves plain cached HTML after that.
- Design and content separated
-
The Template Toolkit layout owns the site design. Content authors work only in
.mdfiles. - Version control ready
- Everything is a file. The entire site lives in a git repository.
- Remote sources
-
.urlfiles pull Markdown from a remote URL — a GitHub raw file, for example — and render it through the same pipeline. Documentation lives with the code; the site always shows the current version. - Content is portable
-
Plain
.mdfiles work with any Markdown processor. Switching tools does not mean rewriting content.
Requirements
- Apache 2.4
- Three Debian packages:
libtext-multimarkdown-perl,libtemplate-perl,libwww-perl - HestiaCP (optional — standalone Apache config also provided)
Licence
MIT. Source on GitHub.