<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slosh.git/web/build-site, branch master</title>
<subtitle>an opinionated terminal multiplexer in C with programmable pane chrome</subtitle>
<id>https://git.sl0p.foo/slosh.git/atom/web/build-site?h=master</id>
<link rel='self' href='https://git.sl0p.foo/slosh.git/atom/web/build-site?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/'/>
<updated>2026-09-12T14:06:02Z</updated>
<entry>
<title>web: boot the demo before publishing it</title>
<updated>2026-09-12T14:06:02Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-12T14:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=3887858082dfcdc23a368a69f0ee7c6eb74a1759'/>
<id>urn:sha1:3887858082dfcdc23a368a69f0ee7c6eb74a1759</id>
<content type='text'>
v0.1.7 shipped a demo that could not start a session, and the site was
live and broken because nothing between `make` and `rsync` ever ran the
guest. The demo is the one artifact here whose build succeeding says
nothing about it working: it is a cross-compiled riscv64 binary in an
ext2 image, so the failures the rest of build-site would notice -- a
compiler error, a missing file -- are not where its failures live. A
guest that segfaults on startup links, packages and copies perfectly,
and the page then loads, draws a terminal and sits there dead.

web/demo/boot-check already boots that exact image in a native emulator
and fails if init does not reach a composed screen. It took twenty
seconds to find what the browser reported as one unexplained line, so
it runs in the build now, between `make site` and the copy into the
staging tree. NO_BOOT_CHECK=1 opts out; NO_DEMO=1 skips it with the
rest of the demo.
</content>
</entry>
<entry>
<title>web: card</title>
<updated>2026-09-02T18:18:10Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T18:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=dc72a22da1b24ffb835681a1a8e771365020041b'/>
<id>urn:sha1:dc72a22da1b24ffb835681a1a8e771365020041b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>web: the released version in the hero, linking to the release</title>
<updated>2026-09-02T13:21:52Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T13:21:52Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=670add69317750ebc62f92662ea55d2e42439334'/>
<id>urn:sha1:670add69317750ebc62f92662ea55d2e42439334</id>
<content type='text'>
Stamped by build-site from ./VERSION, which the release invariant
keeps equal to the newest tag -- so the page cannot advertise a
version that was never cut, and nothing is bumped by hand.
</content>
</entry>
<entry>
<title>web: the real site is the only site, and web/publish ships it</title>
<updated>2026-09-02T12:22:37Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:22:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=c36d7d07060f5d49a068724bc889a14460f16853'/>
<id>urn:sha1:c36d7d07060f5d49a068724bc889a14460f16853</id>
<content type='text'>
The coming-soon gate (FULL=1) and its page go: the site is finished
enough to be the default. web/publish (make www-publish) builds,
refuses to sync a tree that does not look like the site, and rsyncs
to /opt/slosh -- around /arch, which contrib/ship owns, and around
the served demo when a NO_DEMO build has none to offer.
</content>
</entry>
<entry>
<title>web: deprecate install.sh and the served dist/</title>
<updated>2026-09-02T12:19:15Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=7805e90209c59a9a4a1ff9cfdd645e45a2bb6297'/>
<id>urn:sha1:7805e90209c59a9a4a1ff9cfdd645e45a2bb6297</id>
<content type='text'>
GitHub releases host the binaries now; installing is a package
manager (brew, pacman) or a manual download from the releases page.
The curl|sh script and slosh.foo/dist are gone -- one less channel
to keep in sync, one less thing to trust.
</content>
</entry>
<entry>
<title>web: sloshcast</title>
<updated>2026-08-30T10:49:24Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-30T10:49:24Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=a3c5c69d089efd3d778e8b4ef859a6432cd3d07f'/>
<id>urn:sha1:a3c5c69d089efd3d778e8b4ef859a6432cd3d07f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>placeholder webbie</title>
<updated>2026-08-25T11:36:17Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-25T11:36:17Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=1368b7febcf5a1ef2e155a6a5759b6241484e15c'/>
<id>urn:sha1:1368b7febcf5a1ef2e155a6a5759b6241484e15c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>www: the front door says coming soon</title>
<updated>2026-08-24T10:30:02Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-24T10:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=f608fe9bac2500512775450a5dce578f1b0ce8ec'/>
<id>urn:sha1:f608fe9bac2500512775450a5dce578f1b0ce8ec</id>
<content type='text'>
The site is not finished -- the demo video is still being cut and the
public repo URL does not exist yet -- so what slosh.foo serves is one
self-contained page in the session-drawn look: tab strip, a focused
pane that runs $ slosh and prints the announcement as its output,
status line, the sl0p palette. No scripts, nothing fetched.

web/build-site assembles just that page by default now; FULL=1 builds
the real site (front page + docs + demo) while it is being finished.
Drop the gate when the real thing ships.
</content>
</entry>
<entry>
<title>slosh: the website lives in web/ -- one directory, one build, make www</title>
<updated>2026-08-19T18:11:10Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-19T18:11:10Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=76f3868cd7b775cb59b85a32c2b223732f6afc30'/>
<id>urn:sha1:76f3868cd7b775cb59b85a32c2b223732f6afc30</id>
<content type='text'>
Consolidate everything the website is made of:

- web_new/ -&gt; web/: the front page, install.sh, and build-site
- contrib/webdemo/ -&gt; web/demo/: the in-browser machine, committed for
  the first time (it had never been checked in)
- make www at the top level assembles the whole site into build/www
  (NO_DEMO=1 skips the guest cross-compile)
- web_plan.md deleted: the plan is fulfilled and web/README.md is now
  the record

Path fallout: the overlay theme symlink gains one ../ (web/demo is a
level shallower relative to contrib/themes), PYSRC in the Makefile
follows the demo scripts, contrib/README.md drops its webdemo section.
ROOT := ../.. in the demo Makefile survives unchanged -- web/demo sits
at the same depth contrib/webdemo did.

Verified: make www builds front page + docs + demo end to end,
web/demo make check boots the image to slosh, tests/test_docs.py and
make fmt-check green.
</content>
</entry>
</feed>
