tree is a single page app for browsing files in %clay and loading modular urbit apps, like talk.
tree is a fairly straightforward flux app. Because pages load inside of a react environment you can use JSX to invoke components found in components/ in this repo.
tree ships as compiled main.js and main.css on your urbit (in /home/web/tree). If you want to make changes or develop on top, you'll need these source files.
The desk/ folder in this repo mirrors a desk on an urbit planet. Source files live outside of this folder, we compile them in using watchify / sass and then copy the /desk onto the desk we're using for development on a planet.
Our sass depends on bootstrap mixins, so the urbit fork of bootstrap is included as a submodule.
First:
git submodule init
git submodule update --remote
Then:
npm install
npm run watch
Simple:
cp -r desk/ [$desk_mountpoint]/
If you have urbit installed in ~/urbit with a planet called sampel-sipnym and have mounted the home desk:
cp -r desk/ ~/urbit/sampel-sipnym/home/
Then use the ?dbg.nopack=true query string to test:
http://localhost:8080/some/page?dbg.nopack=true
Your Urbit links to the concatenated JS / CSS by default. This query string loads the scripts directly. See below for more information.
If you have a patch you'd like to contribute:
- Test your changes using the above instructions
- Fork this repo
- Send us a pull request
Compiled main.js and main.css get periodically shipped to the urbit core. Each time these compiled files are moved to urbit core their commit message should contain the sha-1 of the commit from this repo.