Skip to main content

Blog that publishes both to web, atom, and ActivityPub (as a Client)

Project description

longhorn

longhorn

Photo by Miguel from Pexels

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


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)

Uploaded Source

Built Distribution

longhorn-0.1.0-py3-none-any.whl (19.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page