ci/woodpecker/push/test Pipeline was successful
Details
Reviewed-on: #4 |
||
---|---|---|
.woodpecker | ||
assets | ||
docs | ||
longhorn | ||
static | ||
.gitignore | ||
.readthedocs.yaml | ||
README.md | ||
poetry.lock | ||
pyproject.toml | ||
setup.cfg |
README.md
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