Blog that publishes both to web, atom, and ActivityPub (as a Client)
Project description
longhorn
longhorn is meant for hosting a single blog associated with a specific ActivityPub actor. Example:
- My blog is available at https://blog.mymath.rocks/
- If you follow me, i.e.
@helge@mymath.rocks
. My blog posts will be delivered to your ActivityPub Inbox as a create article. - Public replies to that Article are displayed on the blog.
This is realized by longhorn being a bovine based ActivityPub Client.
Installation
longhorn can be installed by running
pip install longhorn
python -mlonghorn.setup
There you will be prompted for
- The host your blog will run on, e.g.
blog.mymath.rocks
- The title of your blog, e.g.
Helge's blog
- The host of your ActivityPub server, e.g.
mymath.rocks
- And be provided a did-key to add to your ActivityPub Actor following the BIN-2.
The blog can then be run, by running
hypercorn longhorn:app
Usage
Posts are written as markdown then uploaded using
python -mlonghorn.post filename.md
Todos
- Stopping the server is awkward due to the Event Source loop not stopping properly. Investigate how to fix this.
- Alternative to last todo: Separate Event Source into own process.
- Alternative: Use webhooks
- Solution: Move to mechanical bull
- Provide an RSS feed
- Enable a publish / preview endpoint
- Explain how to customize templating without hacking the package
- Support tags and other metadata
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
longhorn-0.1.0.tar.gz
(22.1 kB
view hashes)
Built Distribution
longhorn-0.1.0-py3-none-any.whl
(19.1 kB
view hashes)