No description
Find a file
2026-02-07 16:10:56 -08:00
.zed Update readme, actually render drafts, and add scripts to manage drafts 2025-06-06 12:28:35 -07:00
bin Remove frontmatter conversion tooling 2026-02-07 16:10:56 -08:00
images new favicon 2014-03-02 15:58:36 -08:00
lib Remove frontmatter conversion tooling 2026-02-07 16:10:56 -08:00
posts WIP: validation 2026-02-07 15:30:02 -08:00
public WIP: different rough style 2026-02-07 15:30:02 -08:00
spec Remove frontmatter conversion tooling 2026-02-07 16:10:56 -08:00
wayback wat? 2014-04-06 22:14:56 -07:00
.gitignore Remove frontmatter conversion tooling 2026-02-07 16:10:56 -08:00
.ruby-version Migrate repository to integrated Ruby site generator 2026-02-07 16:08:26 -08:00
bake.rb Migrate repository to integrated Ruby site generator 2026-02-07 16:08:26 -08:00
Gemfile Migrate repository to integrated Ruby site generator 2026-02-07 16:08:26 -08:00
Gemfile.lock Migrate repository to integrated Ruby site generator 2026-02-07 16:08:26 -08:00
Readme.md Remove frontmatter conversion tooling 2026-02-07 16:10:56 -08:00

samhuri.net

Source code for samhuri.net, powered by a Ruby static site generator.

Overview

This repository is now a single integrated Ruby project. The legacy Swift generators (gensite/ and samhuri.net/) have been removed.

  • Generator core: lib/
  • Build tasks: bake.rb
  • CLI and utilities: bin/
  • Tests: spec/
  • Content: posts/ and public/
  • Output: www/

Requirements

  • Ruby 3.4.1 (see .ruby-version)
  • Bundler
  • rbenv recommended

Setup

bin/bootstrap

Or manually:

rbenv install -s "$(cat .ruby-version)"
rbenv exec bundle install

Build And Serve

rbenv exec bundle exec bake debug   # build for http://localhost:8000
rbenv exec bundle exec bake serve   # serve www/ locally

Other targets:

rbenv exec bundle exec bake mudge
rbenv exec bundle exec bake beta
rbenv exec bundle exec bake release
rbenv exec bundle exec bake publish_beta
rbenv exec bundle exec bake publish

Draft Workflow

bin/new-draft "Post title"
bin/publish-draft public/drafts/post-title.md

Tests And Lint

rbenv exec bundle exec rspec
rbenv exec bundle exec standardrb

Or via bake:

rbenv exec bundle exec bake test
rbenv exec bundle exec bake lint

Site Generation CLI

bin/pressa SOURCE TARGET [URL]
# example
bin/pressa . www https://samhuri.net

Notes

  • bin/watch is Linux-only and requires inotifywait.
  • Deployment uses rsync to the configured mudge host paths in bake.rb and bin/publish.