sasm


sasm is a site assembler (not generator) written in go.

If you're here I commend your sleuthing. sasm is not ready for release, but you can definitely try. It will panic due to some hardcoded paths, and the rss functionality is not ready.

sasm operates on html and very simple configuration files exclusively. It is not opinionated on your html generation toolchain, giving full freedom and composability.

More reasons on why I chose to make sasm exist can be found here.

Using sasm Is Easy!

# clone the repository
git clone https://git.sr.ht/~binkd/sasm && cd sasm/

# build the site
go run sasm.go

# serve the site from out/
go run sasm.go httpd
Now start writing. the pages found in the nav bar are found and configured in pages/, and the blog posts are found in posts/. Also, there are some globals in the top of sasm.go that you'll probably want to change.

You will notice files like posts/001-some-post.cfg. This is a very simple configuration file. When within the posts/ directory, the first line of a .cfg file refers to the title of the corresponding post, and the second line is the posts creation date. Example:

some post
2026-10-21
Similarly, a .cfg file within the pages/ directory encodes the title of a corresponding page, but not the date. Thus it is just a single line, like so:
about

Neglecting to include a .cfg file for a corresponding html file just means that the page won't be present in the nav bar.

Enjoy your new site, and please make sasm your own!


articles