# Static Site Generators

- Page: https://shared.btbytes.com/p/static-sitegen
- Date: 2020-05-13
- Tags: markdown, static-sitegen, markup-language

Some notes and links on Static Site Generators (SSG).

> A "hello world" program for the 2010's (and 2020s).


## Articles

[Why You Should Write Your Own Static Site Generator](https://arne.me/articles/write-your-own-ssg); Nov 2023.

[The understated innovation of static site generators](https://www.contentful.com/blog/2018/07/17/understated-potential-static-site-generators/)

[Smaller Static Sites with New Formats](https://hypirion.com/musings/smaller-static-sites-with-new-formats) - 2022. Optimizing Fonts, Images etc using newer formats and tools.

[Elements Of a Great Markup Language](https://matklad.github.io/2022/10/28/elements-of-a-great-markup-language.html#where-do-we-stand-now)

> "... static site generator which takes a bunch of input documents, a custom conversion script, and outputs a bunch of HTML files."

## low touch - hosted SSG

- [prose.sh -- a blog platform for hackers](https://prose.sh/). `scp blog.md pros.sh:/` and boom. First create an account by logging in to `ssh new@prose.sh`.

## Desktop SSG

[Publii - Open-Source CMS for Static Site](https://getpublii.com/)

## Static site generators

[roman-kashitsyn/mmapped.blog](https://github.com/roman-kashitsyn/mmapped.blog) that powers [mmapped.blog](https://mmapped.blog) is a Go program that implements? subset of [latex](https://shared.btbytes.com/p/latex) and converts it to [HTML](https://shared.btbytes.com/p/html). See the "blogware" [source code](https://github.com/roman-kashitsyn/mmapped.blog/tree/main/blogware).

[Kitten: Home](https://kitten.small-web.org/)  A 💕 [Small Web](https://ar.al/2020/08/07/what-is-the-small-web/) development kit. Build using #html, #css , and #javascript . Progressively enhance with [Streaming HTML](https://kitten.small-web.org/tutorials/streaming-html) and #htmx

[jemdoc] -- light text-based markup language designed for creating
websites. Based on Asciidoc.  Has #latex  support for math, but the
equations are rendered as static images, not MathJax etc.,. Appears to
be popular with academics.

[JBake - Java based open source static site/blog generator](http://jbake.org/) -- this is actually surprisingly smooth.

[nuex/zodiac: A static website generator written in awk and sh.](https://github.com/nuex/zodiac)


[Makefile-Based Static Website Generator](http://web.archive.org/web/20170606043928/http://datagrok.github.io/makebakery/)

[Makefile and discount powered blog](https://github.com/apg/more-modest)

[Static site generator with rsync and lowdown - Roman Zolotarev](https://www.romanzolotarev.com/ssg.html) [SSG]


[kambrium/dssg: A static site generator written in D](https://github.com/kambrium/dssg)


[sysgears/grain: Static Web Site Building Framework For Groovy](https://github.com/sysgears/grain) that uses ASCIIdoctor


[Static site generators need less rigid content APIs | Hacker News](https://news.ycombinator.com/item?id=18191532)

[Hammer for Mac 6.9 - Available Now](https://hammerformac.com/)


[jeremycw/mfbg: Mother F*ing Blog Generator](http://web.archive.org/web/20190822102102/https://github.com/jeremycw/mfbg) -- a `Makefile` + pandoc.


[Home - Styx Static Site Generator](https://styx-static.github.io/styx-site/) -- The Purely Functional Static Site Generator. Styx is a functional static site generator based on the Nix package manager.

[srid/rib-sample: Sample site for the Rib static site generator](https://github.com/srid/rib-sample)

[Pelican 4.2.0 — Pelican 4.2.0 documentation](https://docs.getpelican.com/en/stable/) with [m.css](https://mcss.mosra.cz/) looks very good.


[bastibe/org-static-blog: A static site generator using org-mode](https://github.com/bastibe/org-static-blog)

[Lume, the static site generator for Deno - Lume](https://lume.land/)

[jorge](https://jorge.olano.dev/)  is a personal (small + opinionated) site generator inspired by [Jekyll](https://jekyllrb.com/), written in Go, with [org-mode](https://orgmode.org/) and markdown support.

[Static site generator for Django - Django Distill](https://django-distill.com/)


## Headless SSG


- [Rspress](https://rspress.rs/blog/rspress-v2) -- Rust based.
-
* [ponzu-cms/ponzu: Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.](https://github.com/ponzu-cms/ponzu)

	go get -u github.com/ponzu-cms/ponzu/...


## Deployments


**[surge.sh](https://surge.sh)**:

- [Build and automatically deploy a React site – Joshua Tjhin – Medium](https://medium.com/@xueeey/build-and-automatically-deploy-a-react-site-4d5d6f07e4e8)

Examples of surge.sh sites:

- <http://reasonablern.surge.sh/>

- See [my surge.sh](https://www.btbytes.com/surge_sh.html) pages

## Commenting systems


* [Various ways to include comments on your static site](https://darekkay.com/blog/static-site-comments/); Jan 2018.
* [utterances](https://utteranc.es/) -- A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments.
* [umputun/remark: comment engine](https://github.com/umputun/remark) - Social login via Google, Twitter, Facebook, GitHub and Yandex. Markdown support with friendly formatter toolbar. Moderator can remove comments and block users


## Search for static sites

- [tinysearch/tinysearch](https://github.com/tinysearch/tinysearch) 🔍 Tiny, full-text search engine for static websites built with Rust and Wasm


## Not exactly SSG

* [vhodges/stitcherd: Dynamic content for mostly static sites.](https://github.com/vhodges/stitcherd)


## Crazy / Fun static site generators

- <https://github.com/technomancy/technomancy.us> - built using `m4` macros, and a Makefile.
- [this](http://web.archive.org/web/20191018061639/https://code.causal.agency/june/text.causal.agency/src/branch/master/Makefile) uses `mdoc`, `install` etc., to produce <https://text.causal.agency/001-make.txt>.
- [soupault](https://soupault.neocities.org/) -- is a static website generator based on HTML rewriting.

## Typst

[Rheo?](https://rheo.ohrg.org/why-is-rheo) is an typesetting and static site engine for Typst.


[jemdoc]: http://jemdoc.jaboc.net/
