Loom
Template engine & flat-file site engine
Jinja-style tags, layout inheritance, Markdown pages, a responsive admin with page CRUD and a media manager. It is serving this page.
Core Perl only · zero CPAN dependencies
Five dependency-free Perl libraries, and the site they build.
This site is not a description of the libraries — it is them. The page you are reading is a flat file rendered by Loom, the visit was counted by Tally, and every demo below runs the real library code on this server. There are 8 entries in the navigation above, counted by a template tag in this very page.
Template engine & flat-file site engine
Jinja-style tags, layout inheritance, Markdown pages, a responsive admin with page CRUD and a media manager. It is serving this page.
Visitor tracker & stats
Server-side recording, a JS beacon, access-log import, and fully offline IP→country geolocation. No third-party calls, ever.
Read, write, delete HTTP cookies
Injection-safe by default, RFC 6265 name validation, flexible expiry, and
correct __Secure- / __Host- prefix semantics.
MIME composition & address validation
Local address validation with no third-party service, MIME with attachments, header-injection sanitising, sendmail or SMTP transport.
Hardened multipart parsing & storage
Streaming parser, magic-byte sniffing, double-extension defence,
O_NOFOLLOW writes. Loom's media manager is built on it.
Log in and edit this site
Sign in as demo / demodemo and edit these pages for
real. Everything resets to pristine at the top of every hour.