検索

#ActivityPub support in #Madblog https://blog.fabiomanganiello.com/article/Madblog-federated-blogging-from-markdown I am glad to announce that Madblog has now officially joined the #Fediverse family. If you want to test it out, search for this URL on your Fediverse client. 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
# My first post

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 @[email protected] 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 @[email protected]. 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: @[email protected] (it used to run WriteFreely before, so if you followed it you may need to unfollow it and re-follow it) The #Platypush blog: @[email protected]
返信 0 · Renote 0
📢 New #blog article

Buiding custom voice assistants, 2024 edition This is the third article I write on #voice #technology in #Platypush. I wrote the latest one in 2020, but unfortunately all the voice products I described there (Snowboy, DeepSpeech, Mycroft, AVS…) are now gone.

assistant.google is still there (but I don’t know for how long, as the underlying Assistant library was deprecated back in 2019), but Platypush 1.0 has also added two more integrations to the mix:
assistant.openai
assistant.picovoice These are based on the OpenAI voice+GPT APIs and the Picovoice products respectively, and can be combined to provide a very modern and flexible voice assistant interface. The article also describes how to create your custom action hooks to control your devices and services, train assistants with context, customize voice models, play custom conversation sounds, handle voice intents and offline transcriptions, and run multiple assistants on the same device. Happy read! https://blog.platypush.tech/article/The-state-of-voice-assistant-integrations-in-2024
返信 0 · Renote 0
I guess it’s again #introduction time, as I’ve just moved over from @[email protected] So there we go: 🇮🇹 geek in his mid-thirties, based in 🇳🇱 👔 My job involves solving problem at scale, one line of code at the time, with varying degrees of success. ⚙️ My hobbies often involve automating everything around me. :linux: #Linux user since 2001. Like many in my age group, I also used to run a forum and a wiki on an old Pentium 1 repurposed as a Slackware-based server under my bed. :arch: #Arch Linux and rolling release evangelist. 🛠 Creator and main developer of Platypush, an open-source, general-purpose platform/framework to automate everything. With hundreds of available integrations, you can think of #Platypush as IFTTT+Tasker+SmartThings on steroids, scriptable, and runnable on almost any device. Or maybe like HomeAssistant’s smaller and even more hackish brother. 🤖 Machine-learning enthusiast. I have written a book on it, with simple computer vision exercises that can be run on a #RaspberryPi, and I did some academic research back in a day where neural networks were still a cool new thing. I’ve also won a couple of awards from Hackernoon for my articles on IoT, AI, distributed systems and proof-of-stake. 🎵 Music addict, decent guitar player, not-so-decent player of many other instruments, and occasional composer/producer of boring music. You can find some of my music on my Funkwhale server or on Spotify.


🛹 Surf/skate/bike guy.


🍺 Craft beer lover.


👪 Full-time Dad.
返信 0 · Renote 0