Madblog: A Markdown Folder That Federates Everywhere. #madblog
Posted into POST-ENSHITTIFICATION BLOGGING @post-enshittification-blogging-mobileatom
Is there a complete documentation of all configuration variables? In the config yaml example I didn't find the nav_links variable.
It's in the example - but I've added it today, the timing was perfect because I also needed it to migrate my personal website.
A full reference of the configuration parameters is on the README too.
if I want to link to a specific blog's article?
If you link to a blog article from another blog article a Webmention will be automatically sent out, so you can see the comment under the original page.
If you or anyone replies to a post from Mastodon and enable_activitypub is true then the reply will also be rendered automatically under the original page.
If you instead you mean "adding a link to another article in the nav bar", that should be possible always with nav_links:
nav_links:
- name: Some Important Post
url: /article/some-important-post
icon: https://madblog.plusbrothers.net/img/myicon.png
If I want to place the guestbook page into the nav bar, should I link the whole http URL or just /guestbook?
Both should work. But you don't need to explicitly add the guestbook to the nav bar - it's automatically added if either Webmentions or ActivityPub are enabled and enable_guestbook is not set to false.
Then - on WriteFreely, if I publish a post and pin it, it goes to header's links.
Proper support for pinned collections hasn't yet been implemented (it requires implementing ActivityPub collections on Pubby too).
The workaround for now is simply to add links to nav_links.
But every markdown post I upload on madblog, gets into the Rss I think, like normal posts, even if it's not a post but a "static" page
Everything #markdown file you put under markdown on #madblog is also included in the RSS feed - unless you set default_visibility to non-public in the configuration or set e.g. [//]: # (visibility: unlisted) (or followers, direct or draft) in the Markdown headers.
Support for About Me and custom nav links
@[email protected] @[email protected] I've had a bit of time today to put together a new #madblog version 🙂
About Me
Now you can just drop an ABOUT.md in your pages directory. If you provide the right metadata in the #markdown header you also get a nicely rendered semantic h-card as a bonus.
An example from the header of my site's about page (trim the initial spaces, otherwise Madblog interprets these as true headers and messes up this post):
[//]: # (title: My Name)
[//]: # (name: My Name)
[//]: # (given-name: My)
[//]: # (family-name: Name)
[//]: # (url: https://example.com)
[//]: # (photo: https://example.com/photo.jpg)
[//]: # (email: [email protected])
[//]: # (job-title: Cat herder)
[//]: # (org: My Company|https://example.com, My Side Project|https://another-example.com)
[//]: # (note: Some brief description)
[//]: # (key: https://pgp.example.com/key.txt|FINGERPRINT)
[//]: # (links: @[email protected]|https://example.social/@me, Github|https://github.com/me, LinkedIn|https://www.linkedin.com/in/me/, XMPP|xmpp://[email protected], Matrix|https://matrix.to/#/@me:example.com)
External Links
You can add them now to your config.yaml.
# rel_me links are only for verification /
# Mastodon-double linking purposes, but
# they are not rendered on the HTML
rel_me:
- https://example.social/@me
- https://goto.social/@name
# External links are automatically rendered
# on the about page
external_links:
- url: https://example.social/@me
display_name: Mastodon
# nav_links are automatically rendered
# on the navigation panel
nav_links:
- url: https://example.social/@me
display_name: Mastodon
icon: https://example.social/favicon.ico
Also remember to specify enable_activitypub: true (and also link, or federation may break) if you want to make the blog handle discoverable on Mastodon:
# link is required for Webmentions and ActivityPub
link: https://madblog.plusbrothers.net/
enable_activitypub: true
# Only set these two if you want to use a different
# domain (e.g. plusbrothers.net) for your federated
# handles (e.g. @[email protected]). Otherwise
# it'll be @[email protected]
activitypub_link: https://plusbrothers.net
activitypub_domain: plusbrothers.net
# The username to expose to ActivityPub - in this configuration's case
# your user will be @[email protected]
activitypub_username: elena
# Additional profile fields that you want to add to your ActivityPub profile
# when visited on Mastodon (supports verification)
activitypub_profile_fields:
"Powered by Madblog": https://git.fabiomanganiello.com/madblog
"Main Profile": '<a href="https://mastodon.social/@me" rel="me">@[email protected]</a>'
Madblog: A Markdown Folder That Federates Everywhere. #madblog
Posted into POST-ENSHITTIFICATION BLOGGING @post-enshittification-blogging-mobileatom
Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly review of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism. We aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional benefit of weakening authoritarianism.
IMHO, the best way to do […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-20-march-2026/ #ActivityPub #Akkoma #ATProto #bluesky #Buttondown #CSS #Drupal #DrupalCMS #fediverse #Friendica #GNOME #Gutenberg #Holos #HTML #HTMX #Hubzilla #Inkwell #javascript #Joplin #Linux #Madblog #Markdown #Mastodon #MicroBlog #NodeBB #nodejs #OMN #OpenProject #PostmarketOS #Sigil #Tangled #Twig #WebComponents #WordPress@elettrona maybe this article can help.
If you need a docker-compose for #Madblog it should be relatively straightforward.
Then, quoting the original article:
Install the Reverse Proxy app YunoHost app store | Reverse Proxy, choose the domain and then in the field Redirect destination path (unix:/file for socket) add the port, in this case 127.0.0.1:8000

Update 14.2.2024, nearly two years later: As you can see in the comments to my original post (see below), there are far more easier ways to install apps with Docker. First, docker compose makes installation and updating easier, and we have the Redirect and the Reverse Proxy apps! So this how I do it in 2024: Add a new subdomain for Trilium with Let’s Encrypt cert in the Webadmin Create a folder for Trilium mkdir /home/TheNomad11/trilium add a docker compose file: sudo nano docker-compose.yml ...
New post: The Markdown Link no. 10
Among today’s links are code editor Voiden, minimal blog framework Madblog, and markdown editors uFocus, Notebooks, Inkdrop and Dumbnote.
https://md-handbook.com/blog/markdown-link-no-10
#markdown #markdowneditors #codeeditors #Voiden #Madblog #uFocus #Notebooks #Inkdrop #Dumbnote
https://blog.fabiomanganiello.com/reply/unlisted-posts
The latest version of #madblog introduces a separate page, under /unlisted, for posts that the author can send to the Fediverse (or simply keep in a separate area of their blog) without publishing them on the index.
This is useful for quick thoughts and interactions. Worth enough to mention, but not enough to deserve their own dedicate article on the blog frontpage.
To create an unlisted post, simply create a Markdown file under /replies/ with no like-of and reply-to metadata headers:
cd $MADBLOG_DATADIR
mkdir -p replies
cat <<EOF > replies/unlisted-post.md
# My first unlisted post
I thought that it'd be cool to share with my followers on Mastodon that now I can trace likes and replies with git bisect.
I'll also tag @[email protected] because he'll probably think it's cool.
EOF
Save the file, then you will find your post on the /unlisted page.
Example on my blog: https://blog.fabiomanganiello.com/unlisted.
https://blog.fabiomanganiello.com/reply/git-up-your-blog
That oddly satisfying feeling of browsing your blogging and social media history with git log and git grep #madblog #activitypub #indieweb