Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* chore: Fix node matrix in ci

* chore: Upgrade node lts, current in ci

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


PRPL is a lightweight library for building fast static sites. It does two things:

  • Interpolate your content into HTML files
  • Maximize your site's runtime speed with the PRPL pattern


  • Tiny HTML-based API
  • Zero configuration
  • Zero or near-zero module dependencies
  • CLI, CJS and ESM module interfaces
  • Define your own template syntax
  • Ship no client JavaScript
  • Works on Linux, MacOS and Windows


All the static site generators I have tried have one or more of these problems:

  • Built on an underlying framework like React, Vue, etc.
  • Relies on complex build tools like Webpack, Babel, etc.
  • Depends on a massive tree of modules that force constant maintenance
  • Has interfaces, source code and documentation that cannot be understood in one sitting
  • Requires that your site source be organized in a way that looks nothing like your output
  • Forces a huge leap from hello world to a real world implementation

PRPL is my answer to these gripes.


PRPL requires Node LTS or greater.

To clone the minimal starter and run it locally, run:

npx -y create-prpl@latest

Visit for full documentation, guides and design decisions.