Kevin Wallace 48740ea8cb Allow templates to be overridden in data/templates/
I'd like to customize my instance's theme beyond what's possible with
_theme.scss.  This patch would allow me to do that, and keep my changes
self-contained in data/ without maintaining a local patchset over
app/templates/.

For utils.html, I've also added scoped blocks around the body of every
macro.  This allows the macros to be overridden individually in
data/templates/utils.html, without copying the whole file.  For example,
to only override the display of a specific actor's name/icon:

    {% extends "app/utils.html" %}
    {% block display_actor %}
    {% if actor.ap_id == "https://me.example.com" %}
    <!-- custom actor display -->
    {% else %}
    {{ super() }}
    {% endif %}
    {% endblock %}
2022-11-07 18:46:21 +01:00
2022-10-30 17:50:59 +01:00
2022-10-18 21:39:09 +02:00
2022-07-30 08:48:13 +02:00
2022-06-22 20:11:22 +02:00
2022-07-28 19:28:18 +02:00
2022-06-22 21:21:50 +02:00
2022-07-28 20:28:53 +02:00
2022-09-18 21:33:50 +02:00
2022-08-05 19:32:22 +02:00
2022-10-23 16:40:56 +02:00
2022-11-01 19:11:47 +01:00
2022-10-10 11:05:36 +02:00

microblog.pub

A self-hosted, single-user, ActivityPub powered microblog.

builds.sr.ht status AGPL 3.0

Instances in the wild:

There are still some rough edges, but the server is mostly functional.

Features

  • Implements the ActivityPub server to server protocol
    • Federate with all the other popular ActivityPub servers like Pleroma, PixelFed, PeerTube, Mastodon...
    • Consume most of the content types available (notes, articles, videos, pictures...)
  • Exposes your ActivityPub profile as a minimalist microblog
    • Author notes in Markdown, with code highlighting support
    • Dedicated section for articles/blog posts (enabled when the first article is posted)
  • Lightweight
    • Uses SQLite, and Python 3.10+
    • Can be deployed on small VPS
  • Privacy-aware
    • EXIF metadata (like GPS location) are stripped before storage
    • Every media is proxied through the server
    • Strict access control for your outbox enforced via HTTP signature
  • No Javascript
    • The UI is pure HTML/CSS
    • Except tiny bits of hand-written JS in the note composer to insert emoji and add alt text to images
  • IndieWeb citizen
  • Easy to backup
    • Everything is stored in the data/ directory: config, uploads, secrets and the SQLite database.

Getting started

Check out the online documentation.

Credits

Contributing

All the development takes place on sourcehut, GitHub is only used as a mirror:

Contributions are welcomed, check out the documentation for more details.

License

The project is licensed under the GNU AGPL v3 LICENSE (see the LICENSE file).

Description
A self-hosted, single-user, ActivityPub powered microblog.
Readme AGPL-3.0 2.1 MiB
Languages
Python 86.2%
HTML 11.1%
SCSS 1.5%
JavaScript 0.6%
Makefile 0.3%
Other 0.2%