Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. **#ActivityPub support in #Madblog**

**#ActivityPub support in #Madblog**

Scheduled Pinned Locked Moved General Discussion
activitypubfediversemadblogplatypushpubby
4 Posts 4 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • fabio@manganiello.euF This user is from outside of this forum
    fabio@manganiello.euF This user is from outside of this forum
    fabio@manganiello.eu
    wrote last edited by
    #1

    #ActivityPub support in #Madblog

    I am glad to announce that Madblog has now officially joined the #Fediverse family.

    Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews...) and get those mentions directly rendered on your page.

    It now adds ActivityPub support too, using #Pubby, another little Python library that I've put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

    Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

    Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn't require a database, everything is based on plain Markdown files.

    If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

    mkdir -p ~/madblog/markdown
    cat <<EOF > ~/madblog/markdown/hello-world.md
    
    This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
    EOF
    
    docker run -it \
      -p 8000:8000 \
      -v "$HOME/madblog:/data" \
      quay.io/blacklight/madblog
    

    And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing...

    Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

    • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

    • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

    • Email notifications: all interactions can have email notifications

    • Support for quotes, also on Mastodon

    • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

    • Support for hashtag federation

    • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

    • Support for custom profile fields, all rendered on Mastodon, with verification support

    • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

    • A partial (but comprehensive for the provided features) implementation of the Mastodon API

    If you want you can follow both the profiles of my blogs - they are now both federated:

    • My personal blog: @fabio@manganiello.blog (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

    • The #Platypush blog: @blog@platypush.tech

    https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

    julian@activitypub.spaceJ liaizon@social.wake.stL 2 Replies Last reply
    1
    1
    • tag-activitypub@relay.fedi.buzzT tag-activitypub@relay.fedi.buzz shared this topic
    • fabio@manganiello.euF fabio@manganiello.eu

      #ActivityPub support in #Madblog

      I am glad to announce that Madblog has now officially joined the #Fediverse family.

      Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews...) and get those mentions directly rendered on your page.

      It now adds ActivityPub support too, using #Pubby, another little Python library that I've put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

      Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

      Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn't require a database, everything is based on plain Markdown files.

      If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

      mkdir -p ~/madblog/markdown
      cat <<EOF > ~/madblog/markdown/hello-world.md
      
      This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
      EOF
      
      docker run -it \
        -p 8000:8000 \
        -v "$HOME/madblog:/data" \
        quay.io/blacklight/madblog
      

      And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing...

      Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

      • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

      • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

      • Email notifications: all interactions can have email notifications

      • Support for quotes, also on Mastodon

      • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

      • Support for hashtag federation

      • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

      • Support for custom profile fields, all rendered on Mastodon, with verification support

      • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

      • A partial (but comprehensive for the provided features) implementation of the Mastodon API

      If you want you can follow both the profiles of my blogs - they are now both federated:

      • My personal blog: @fabio@manganiello.blog (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

      • The #Platypush blog: @blog@platypush.tech

      https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.spaceJ This user is from outside of this forum
      julian@activitypub.space
      wrote last edited by
      #2

      @fabio@manganiello.eu very interesting to see, nice work on the Python lib!

      Any chance we could have the blog be exposed as a Group actor, announcing posts by the author (a Person)?

      Then it would be compatible with threadiverse implementations as well.

      1 Reply Last reply
      0
      • fabio@manganiello.euF fabio@manganiello.eu

        #ActivityPub support in #Madblog

        I am glad to announce that Madblog has now officially joined the #Fediverse family.

        Madblog has already supported #Webmentions for the past couple of weeks, allowing your blog posts to be mentioned by other sites with Webmentions support (WordPress, Lemmy, HackerNews...) and get those mentions directly rendered on your page.

        It now adds ActivityPub support too, using #Pubby, another little Python library that I've put together myself (just like Webmentions) as a mean to quickly plug ActivityPub support to any Python Web app.

        Webmentions and Pubby follow similar principles and implement a similar API, and you can easily use them to add federation support to your existing Web applications - a single bind_webmentions or bind_activitypub call to your existing Flask/FastAPI/Tornado application should suffice for most of the cases.

        Madblog may have now become the easiest way to publish a federated blog - and perhaps the only way that doesn't require a database, everything is based on plain Markdown files.

        If you have a registered domain and a certificate, then hosting your federated blog is now just a matter of:

        mkdir -p ~/madblog/markdown
        cat <<EOF > ~/madblog/markdown/hello-world.md
        
        This is my first post on [Madblog](https://git.fabiomanganiello.com/madblog)!
        EOF
        
        docker run -it \
          -p 8000:8000 \
          -v "$HOME/madblog:/data" \
          quay.io/blacklight/madblog
        

        And Markdown files can be hosted wherever you like - a Git folder, an Obsidian Vault, a Nextcloud Notes installation, a folder on your phone synchronized over SyncThing...

        Federation support is also at a quite advanced state compared to e.g. #WriteFreely. It currently supports:

        • Interactions rendered on the articles: if you like, boost, quote or reply to an article, all interactions are rendered directly at the bottom of the article (interactions with WriteFreely through federated accounts were kind of lost in the void instead)

        • Guestbook support (optional): mentions to the federated Madblog handle that are not in response to articles are now rendered on a separate /guestbook route

        • Email notifications: all interactions can have email notifications

        • Support for quotes, also on Mastodon

        • Support for mentions, just drop a @joe@example.com in your Markdown file and Joe will get a notification

        • Support for hashtag federation

        • Support for split-domain configurations, you can host your blog on blog.example.com but have a Fediverse handle like @blog@example.com. Search by direct post URL on Mastodon will work with both cases

        • Support for custom profile fields, all rendered on Mastodon, with verification support

        • Support for moderation, either through blocklist or allowlist, with support for rules on handles/usernames, URLs, domains or regular expressions

        • A partial (but comprehensive for the provided features) implementation of the Mastodon API

        If you want you can follow both the profiles of my blogs - they are now both federated:

        • My personal blog: @fabio@manganiello.blog (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it)

        • The #Platypush blog: @blog@platypush.tech

        https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown

        liaizon@social.wake.stL This user is from outside of this forum
        liaizon@social.wake.stL This user is from outside of this forum
        liaizon@social.wake.st
        wrote last edited by
        #3

        @fabio cc @julian look another QP supporting software for your implementors PR

        ? 1 Reply Last reply
        0
        • liaizon@social.wake.stL liaizon@social.wake.st

          @fabio cc @julian look another QP supporting software for your implementors PR

          ? Offline
          ? Offline
          Guest
          wrote last edited by
          #4

          cc @gabboman not able to follow or look up these new actors in WAFRN

          1 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          Powered by NodeBB Contributors
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups