📄 | .gitignore |
📄 | COPYING |
📄 | README.md |
📄 | TODO.md |
📄 | conf.py |
📄 | install.sh |
📄 | scuttleblog.py |
Summary
Scuttleblog creates a blog from a Scuttlebutt journal, using Scuttlebot and Hugo.
Story
Alice meets Bob. Bob lives somewhere remote — like, really very far away. Alice wants everyone back home to be able to read about Bob's life, and Bob wants to be able to publish a diary to the world.
Bob has a computer, but doesn't have an internet connection. Alice installs a Scuttlebutt app for Bob, and makes a note of Bob's Scuttlebutt ID. Bob uses the app to write a diary.
Later, back home, with a soothing internet connection, Alice installs Scuttleblog and tells it Bob's ID. Every so often, Alice's computer runs Scuttleblog, and uploads the output to a server Alice has lying around.
Whenever someone visits Bob, Scuttlebutt couriers Bob's updated diary until it finds its way to Alice's computer.
Charlie lives far from either Alice or Bob, and has never met either of them, even online. Charlie finds Bob's diary while browsing the web, and reads it.
Goals
- Visitors from Web 1.0 can read your blog.
- You can write your blog using a typical Scuttlebutt client, such as Patchwork.
- You can write your blog without a persistent or frequent internet connection, and without direct contact with whoever hosts your blog.
- You can manage day-to-day aspects of your blog, such as its name and description, using a typical Scuttlebutt client, such as Patchwork.
- Scuttlebutt acts as the comments section.
Semi-goals
Nice to have, but not why we're here.
- Acts as a window into the wider Scuttleverse social network.
- Gracefully handles awkwardly-formatted posts.
Use it
Set up
- On Ubuntu 17.10: install using install.sh.
- Tell conf.py your Scuttlebutt user identity.
Update the blog
Periodically:
- Run scuttleblog.py.
- (Optionally,
run
hugo server
from inside hugo/ and view a preview with Hugo's internal web server.) - Sync the contents of hugo/public/ to your server.
How it works
- Scuttleblog starts Scuttlebot, and uses it to fetch the specified identity's posts and metadata.
- It manipulates the data into the format Hugo expects for a blog.
- Then it runs Hugo to generate the blog.
Built with git-ssb-web