SHA256
1
0
Fork
You've already forked reese
0
No description
  • Rust 97.9%
  • HTML 2.1%
Find a file
2026年04月07日 02:20:22 +02:00
example Add support for frontmatter 2026年04月06日 02:41:26 +02:00
src Fix mixup between key and path 2026年04月07日 02:20:22 +02:00
.gitignore Initial commit 2026年04月06日 00:31:40 +02:00
Cargo.lock Add support for frontmatter 2026年04月06日 02:41:26 +02:00
Cargo.toml Add support for frontmatter 2026年04月06日 02:41:26 +02:00
COPYING Initial commit 2026年04月06日 00:31:40 +02:00
README.md Add a few ideas of features 2026年04月06日 02:40:38 +02:00

Reese

Reese is my personal static site generator, aka "SSG" or "Jamstack". It allows you to generate a set of web pages that can be easily published on the cheapest hosting providers.

Reese is named after the creator of the replicators in Stargate SG1.

This tool was hand-written without any vibecoding, by myself, for my own need, and is released to the greater public under GPLv3 or any later version.

I do not accept external contributions. But you are free to fork and copy this software according to the provisions provided by its license.

Motivation

When I started writing Reese, the standard application in this landscape was (and still is?) Hugo. Before that, I remember Jekyll being the leading tool, then Pelican.

While these are great tools, and I've used them for many other projects, I feel like they're what I expect of a hypertext content generator: they do not fight link rot.

For me, the web is an hypertext organism, and link rot is cancer. This is the main goal of Reese to prevent as much as possible link rot.

The secondary goal, granted it is minor, goal of reese is to also provide decent multi-language support. All SSGs I have tried always consider one language as "primary", and have poor multi language support. As somebody writing content in two languages, I wanted a tool that considers multilingual as a first-class feature.

I'm also annoyed by how many generic SSGs make their templating engine fully Turing-complete, and users have to do customization with an environment 100% worse than PHP. The last goal is to integrate customization directly into the SSG code, or through third party generators or shelling out.

Design & Unique Proposition

Reese design revolves around a SQLite database, where all build are store. This allows Reese to compare with the previous build, to make sure no file has been removed, thus preventing link rot.

Roadmap

Right now, I'm trying to get something really basic that works and is not too shitty. This is an unorganized, unorderd list of things I have at the top of my head:

  • Store source files in the database
  • De-duplication of blobs (generated and source files)
  • Automatic archival of third party links
  • Verification of internal links of the generated website
  • Generation of a single CDB database. (this will support custom 404, 410 pages for deletion, custom headers, etc...)
  • Incremental build: do not rebuild old pages
  • Asset rendering
  • Syntax highlighting
  • Charting/graphing engine
  • Page series ("This article is part of a series of articles")
  • Multi-titles/multi-slugs pages
  • Social media cards
  • Time based listing (i.e. /YYYY/MM/slug/)
  • Private articles (unique links that are not indexed)
  • Asset cache busting (i.e. asset.hash.ext)
  • Sitemap generation
  • MatJAX support (pre-rendering to SVG for browser that don't support)
  • Conversion of images for multi-format support
  • Internal linking