Fabio Manganiello
Author photo Fabio Manganiello

@elettrona@poliversity.it @fabio@manganiello.eu welcome onboard πŸ™‚

the title and authors are set into the docker-compose.yaml as variables, while the config.yaml isn't there. I mean, on madblog/config there is "config.yaml" which is a folder instead of a text file as it should.

You can set title and authors either through environment variables or config.yaml.

Environment variables way:

services:
    madblog:
        # ...
        environment:
            - MADBLOG_TITLE="My Blog"
            - MADBLOG_DESCRIPTION="This is my blog"
            - MADBLOG_AUTHOR="My Name"
            - MADBLOG_AUTHOR_URL="https://..."
            - MADBLOG_AUTHOR_EMAIL="..."

config.yaml:

title: "My Blog"
description: "This is my blog"
author: "My Name"
author_url: "https://..."
author_email: "..."

is there a way to create a nav bar, such as an "about" page residing in the header? "social networks" are in the external links section you set up in the yaml.

I'm working on that right now and it should be available in the next Docker release (you can just do a docker pull quay.io/blacklight/madblog when ready and restart your container).

And categories? You create a folder, or add the category name into yaml configuration file?

A list of categories is supported on the config.yaml:

categories:
    - category1
    - category2

But it's purely for SEO purposes - it'll add <meta> links in the home page to help search engines categorize your blog.

Otherwise folders are probably the most straightforward way - folders under markdown/ are rendered on the blog index.

I didn't understand the whole activitypub part though, how to check if I have installed the correct python libraries for it.

The Pubby library is installed by default, but federation is not enabled by default. You need to enable it explicitly with enable_activitypub in the config.yaml (or the MADBLOG_ENABLE_ACTIVITYPUB env var).

enable_activitypub: true

# differs from the domain name you want to expose to ActivityPub, e.g.
# your blog is on madblog.plusbrothers.net but you want your Fediverse
# domain to be @plusbrothers.net
activitypub_link: https://plusbrothers.net
activitypub_domain: plusbrothers.net

# The username to expose to ActivityPub - in this configuration's case
# your user will be @elena@plusbrothers.net
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">@me@mastodon.social</a>'
⭐

Reactions

How to interact with this page

Webmentions

To interact via Webmentions, send an activity that references this URL from a platform that supports Webmentions, such as Lemmy, WordPress with Webmention plugins, or any IndieWeb-compatible site.

ActivityPub

  • Follow @fabio@manganiello.blog on your ActivityPub platform (e.g. Mastodon, Misskey, Pleroma, Lemmy).
  • Mention @fabio@manganiello.blog in a post to feature on the Guestbook.
  • Search for this URL on your instance to find and interact with the post.
  • Like, boost, quote, or reply to the post to feature your activity here.
⭐ 5 πŸ” 5 ✍️ 1
Nando161 ⭐
Kruku πŸ”
dibi58 πŸ”
Omar Zeyada πŸ”
Omar Zeyada ⭐
Rania rizq ⭐
Fabio Manganiello Author

Support for About Me and custom nav links

@elettrona@poliversity.it @fabio@manganiello.eu 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: me@example.com)
 [//]: # (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: @me@example.social|https://example.social/@me, Github|https://github.com/me, LinkedIn|https://www.linkedin.com/in/me/, XMPP|xmpp://me@example.com, Matrix|https://matrix.to/#/@me:example.com)

You can add them now to your config.yaml.

# 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. @elena@plusbrothers.net). Otherwise
# it'll be @elena@madblog.plusbrothers.net
activitypub_link: https://plusbrothers.net
activitypub_domain: plusbrothers.net

# The username to expose to ActivityPub - in this configuration's case
# your user will be @elena@plusbrothers.net
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">@me@mastodon.social</a>'
⭐ 5 πŸ” 5
Tom Casavant ⭐
Fabio Manganiello πŸ”