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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file longhorn-0.1.0.tar.gz.

File metadata

  • Download URL: longhorn-0.1.0.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.10 Linux/5.10.0-21-amd64

File hashes

Hashes for longhorn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2000eb13c78494b229446ebf2d8a1afbf6ef95d8af9502c9f66719e22787cc94
MD5 d467fb330543fc334cb39eafb8986225
BLAKE2b-256 6f60120fea53d7d2189332c9e8c03e2aa52cd1c54b8d5602e849da62d1f525e4

See more details on using hashes here.

File details

Details for the file longhorn-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: longhorn-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.10 Linux/5.10.0-21-amd64

File hashes

Hashes for longhorn-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1595d041fb137f33106641159d616042cf46c220e407184fcec062000a71d269
MD5 fa4f9ff3f1528ff4d6bf5fa23f0a645c
BLAKE2b-256 70101008ad9799c8f05fc414faf506f36394fce359ccdc76f32068174ba1f6a2

See more details on using hashes here.

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