Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Static site generator. Weaves HTML templates and plain text files together into low-calorie static pages.
RSRU (Really Small, Really Useful) is a static HTML page generator written in Perl that transforms plain text entry files and HTML/CSS templates into catalogue, news, or blog websites. It was created for the author's Well Made Web directory and is released under the GPLv3 licence.
RSRU is a command-line Perl script that reads text files from an entries/ directory, extracts fields such as title, description, and category, and generates static HTML pages. It outputs a homepage, category pages as tab-style tabs, image thumbnails, and RSS feeds. The generator requires Perl 5.16 or newer and has been tested on Linux and Windows (Strawberry Perl).
Four built-in templates — RSRU ships with Software Catalogue, Link Catalogue, News Website, and Bland Blog templates, each with matching configuration files and sample entries.
Entry-driven content — You write each entry as a plain text file with colon-delimited fields; RSRU reads every file in entries/ and turns them into rows on generated pages.
Automatic thumbnails — If the optional GD module is installed, RSRU generates image thumbnails and can convert PNG to JPEG.
RSS generation — With the optional XML::RSS module, RSRU produces RSS feeds for your site.
Minimal dependencies — Core functionality uses only Perl standard library modules; Time::Piece is mandatory, while XML::RSS and GD are optional additions.
Configurable via command line — Running ./rsru.pl -h prints switches for customising the build; you can pass a config file with -c for different template styles.
Small footprint — The output is simple HTML and CSS, with fewer than 300 lines of CSS in the default styles.
RSRU suits developers and hobbyists who want a low-ceremony static site generator for catalogue-style content without a heavy framework. Use it if you maintain a download directory, a link collection, a photo gallery, or a blog and prefer editing text files to working with a database. It also fits anyone who wants to learn from a small, readable Perl codebase or host a no-frills site with zero build-chain complexity.
Software authors — build a download site by listing applications with version, description, and category in entries; RSRU generates category pages and the homepage.
Photographers — create a photo gallery; the GD module produces thumbnails, and entries can hold captions and categories.
Music collectors — publish an album listing by genre with notes; the Software Catalogue template adapts easily.
Bloggers — use the Bland Blog template to publish a simple blog with RSS support.
Web enthusiasts — replicate the author's use case: an index of interesting websites, with each entry linking out and carrying a description.
RSRU scans every text file in the entries/ directory, parses key-value fields, and groups entries by category. Each category becomes a tab-style page, and the script writes an index.html plus category pages to an output/ folder. Thumbnail generation and RSS feed creation happen automatically when the optional CPAN modules are present.
Pros: GPLv3 open source; no hard CPAN dependencies; four starting templates; config files make it easy to switch styles; works on Linux and Windows.
Cons: The repository explicitly notes that pathnames are not deterministic — entries can shift to later pages, affecting link stability. It also lacks a real templating engine (planned far in the future), so complex layouts require editing the built-in template files.
RSRU is free to use and modify under the GPLv3 licence.
Jekyll — a Ruby-based static site generator with a large plugin ecosystem. Hugo — a Go-powered generator known for fast builds. Both are more full-featured than RSRU, which intentionally stays minimal.
Yes, RSRU is released under the GPLv3 open-source licence, so you can use, modify, and redistribute it freely.
RSRU needs Perl 5.16 or newer. It has been tested on Linux and Windows (Strawberry Perl), and its core functions rely on the standard library rather than external CPAN modules.
No for basic use. Time::Piece is mandatory (and is core everywhere except Fedora/Red Hat), while XML::RSS and GD are optional — they enable RSS feeds and thumbnail generation respectively.
The project includes four templates: Software Catalogue, Link Catalogue, News Website, and Bland Blog. You can adapt any of them to build download sites, galleries, album lists, or simple blogs.
Download the latest release, edit a text file in entries/ (keep the field names left of the colon), then run ./rsru.pl. Open output/index.html in a browser to preview the generated site.
