The next part requires fossil, a decentralized version control system you can get at https://www.fossil-scm.org.
If you haven’t used git, it kinda like that. If you’ve used git, it’s very different. Your brain will be rewarded for know about both.
I install the single binary in
/opt, because I’m trendy.
I’m not going to cover using fossil. It took me a week of late nights bending my think, and I’m glad because I’ve always kinda hated git, and instead of “master” we have “trunk” which makes more sense to me because I belong in a tree (preferably suspended in a supportive, comfortable position, with free tree-wifi).
What you should know is that fossil is the kind of software sci-fi writes dream of, but in a non-sexy, practical way (unless you think knowledge preservation and situational awareness are sexy, in which case Bring Your Own Smelling Salts!). And it hosts it’s own website interface via CGI.
At this point if you aren’t excited, not sure I can help you, but we’ll continue.
Gonna make a fossil repo for the web config for allthe.io, and I’ll call it alltheio.fossil.
I keep my fossils in
~/.museum/, because a regular fossil contributor mentioned it on hackernews or something and I thought it was cute and I don’t like seeing directories if I don’t have to (hence the dot).
Right now if I type
fossil all list:
So I go to
fossil init alltheio.fossil:
admin-user: maiki (initial password is "UKJt6Eju7M")
I’m gonna change that password in a sec.
Fossils are SQLite databases. They work by “opening” them in a directory, and can be open in multiple directories at once so I guess there’s that git.
Let’s pop over to
~/projects/allthe.io where our Hugo config is, and open it up.
$ fossil open ~/.museum/alltheio.fossil
checkout: 0a6f1aa2ae8d24032438d7c1d89b4f9c20aaa147 2020-08-09 01:00:54 UTC
comment: initial empty check-in (user: maiki)
I like to do some prep work when I make a new fossil, which I do via the web UI. These tasks include:
- changing my password
- making the repo private; this is suggested as the default state to set a repo when putting it in online server mode, and opening up permissions as needed
- name, description
- changing default home page to README
When I type
fossil ui my web browser opens…
Say whaaaat? But I don’t have time to geek out with you!
I’m gonna do each of the things I listed, and in the future I’ll show what I did (or you can read like, 10 pages of docs and know everything about fossil).
I need to add the files to the repo before my README will show, so let’s do that real quick.
$ fossil add README.md COPYING config/_default/config.yaml
$ fossil commit -m 'hajime'
Cool, let’s check
And “home” link:
That’s the README.md text! Noice.
You’ll notice I didn’t add the
tule theme; that ought to be in it’s own repo, so we won’t track it as part of this one. Also,
tule is designed to be immediately replaced, a bootstrap theme if you will. For this process we’ll be keeping it “unversioned” for now…
Alright, but wasn’t this about, um, hosting or something? Oh yeah! Let’s do that part next!