Urbit Gall app for learning Sail HTML generation and web development patterns.
A minimal Gall agent that demonstrates:
- Sail HTML templating using Hoon runes
- Rudder web framework integration
- Form handling and state management
- Basic CRUD operations (add ships to a list)
Based on a stripped-down version of %pals.
desk/app/sailbox.hoon- Main Gall agent (97 lines)desk/sur/sailbox.hoon- Data structures (8 lines)desk/mar/sailbox/command.hoon- Command mark file (13 lines)desk/app/sailbox/webui/index.hoon- Sail HTML frontend (68 lines)
-
Clone this repo.
-
Boot up a ship (fakezod or moon or whatever you use).
-
Create new desk:
|new-desk %sailbox -
Install immediately (before any commits):
|install our %sailbox -
Mount to filesystem:
|mount %sailbox -
Copy sailbox files:
cp -r desk/* [ship-name]/sailbox/ -
Commit the desk:
|commit %sailbox -
Access the web interface: Visit
[ship-url]/sailboxin your browser.
For iterating on sailbox code:
-
Setup sync configuration:
cp config.example.json config.json # Edit config.json with your pier path (e.g., "/path/to/pier/sailbox/") -
Start continuous sync:
./sync.sh
-
Make changes to files in
desk/- they sync automatically -
Commit in dojo:
|commit %sailbox
The sync script watches for file changes and automatically syncs them to your ship.