New Blogroll Post
“The Weekend I Accidentally Walked Through Coorg” by Suneela & Yeswanth
«A Friday night with no plan turned into a bus to Madikeri, a walk through forest paths, a few strange encounters, and a Coorg story I still remember more than ten years later.»
#blog #indieweb
https://holistictravellers.com/posts/coorg-walking-to-talacauvery/?ref=blr.indiewebclub.org
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@blr/116707617693702482",
"content": {
"html": "<p>New Blogroll Post</p><p>\u201cThe Weekend I Accidentally Walked Through Coorg\u201d by Suneela & Yeswanth</p><p>\u00abA Friday night with no plan turned into a bus to Madikeri, a walk through forest paths, a few strange encounters, and a Coorg story I still remember more than ten years later.\u00bb</p><p> <a href=\"https://indieweb.social/tags/blog\">#<span>blog</span></a> <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a></p><p><a href=\"https://holistictravellers.com/posts/coorg-walking-to-talacauvery/?ref=blr.indiewebclub.org\"><span>https://</span><span>holistictravellers.com/posts/c</span><span>oorg-walking-to-talacauvery/?ref=blr.indiewebclub.org</span></a></p>",
"text": "New Blogroll Post\n\n\u201cThe Weekend I Accidentally Walked Through Coorg\u201d by Suneela & Yeswanth\n\n\u00abA Friday night with no plan turned into a bus to Madikeri, a walk through forest paths, a few strange encounters, and a Coorg story I still remember more than ten years later.\u00bb\n\n #blog #indieweb\n\nhttps://holistictravellers.com/posts/coorg-walking-to-talacauvery/?ref=blr.indiewebclub.org"
},
"published": "2026-06-07T07:22:00+00:00",
"post-type": "note",
"_id": "48508916",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@blr/116707617690813010",
"content": {
"html": "<p>New Blogroll Post</p><p>\u201cWeekly Note #4 | 7th June, 2026\u201d by thinkbacteria</p><p><span class=\"h-card\"><a class=\"u-url\" href=\"https://infosec.exchange/@bacteriostat\">@<span>bacteriostat</span></a></span>: \u00abToo much claude?\u00bb</p><p> <a href=\"https://indieweb.social/tags/blog\">#<span>blog</span></a> <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a></p><p><a href=\"https://thinkbacteria.pages.dev/notes/2026-06-07-weekly-note-4/?ref=blr.indiewebclub.org\"><span>https://</span><span>thinkbacteria.pages.dev/notes/</span><span>2026-06-07-weekly-note-4/?ref=blr.indiewebclub.org</span></a></p>",
"text": "New Blogroll Post\n\n\u201cWeekly Note #4 | 7th June, 2026\u201d by thinkbacteria\n\n@bacteriostat: \u00abToo much claude?\u00bb\n\n #blog #indieweb\n\nhttps://thinkbacteria.pages.dev/notes/2026-06-07-weekly-note-4/?ref=blr.indiewebclub.org"
},
"published": "2026-06-07T07:22:00+00:00",
"post-type": "note",
"_id": "48508917",
"_source": "8007",
"_is_read": false
}
We are back from a 2-week run on Mastodon.
Shipped: 4 recipes (sunglasses, swimwear, jewelry, shirts). Wins across Shopify, Wix, Etsy.
Next 2 weeks: 4 more recipes (watches, activewear, sneakers, handbags). More opinions about indie commerce in 2026.
Thanks for the engagement.
#ecommerce #DTC #productphotography #smallbusiness #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@Cheeppy/116707464424962837",
"content": {
"html": "<p>We are back from a 2-week run on Mastodon.</p><p>Shipped: 4 recipes (sunglasses, swimwear, jewelry, shirts). Wins across Shopify, Wix, Etsy.</p><p>Next 2 weeks: 4 more recipes (watches, activewear, sneakers, handbags). More opinions about indie commerce in 2026.</p><p>Thanks for the engagement.</p><p><a href=\"https://mastodon.social/tags/ecommerce\">#<span>ecommerce</span></a> <a href=\"https://mastodon.social/tags/DTC\">#<span>DTC</span></a> <a href=\"https://mastodon.social/tags/productphotography\">#<span>productphotography</span></a> <a href=\"https://mastodon.social/tags/smallbusiness\">#<span>smallbusiness</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "We are back from a 2-week run on Mastodon.\n\nShipped: 4 recipes (sunglasses, swimwear, jewelry, shirts). Wins across Shopify, Wix, Etsy.\n\nNext 2 weeks: 4 more recipes (watches, activewear, sneakers, handbags). More opinions about indie commerce in 2026.\n\nThanks for the engagement.\n\n#ecommerce #DTC #productphotography #smallbusiness #indieweb"
},
"published": "2026-06-07T06:43:01+00:00",
"post-type": "note",
"_id": "48508676",
"_source": "8007",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://infosec.exchange/@bacteriostat/116707068568875417",
"content": {
"html": "<p>Weekly Note #4 | 7th June, 2026</p><p><a href=\"https://thinkbacteria.pages.dev/notes/2026-06-07-weekly-note-4/\"><span>https://</span><span>thinkbacteria.pages.dev/notes/</span><span>2026-06-07-weekly-note-4/</span></a></p><p><a href=\"https://infosec.exchange/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Weekly Note #4 | 7th June, 2026\n\nhttps://thinkbacteria.pages.dev/notes/2026-06-07-weekly-note-4/\n\n#indieweb"
},
"published": "2026-06-07T05:02:21+00:00",
"post-type": "note",
"_id": "48508198",
"_source": "8007",
"_is_read": false
}
Author request: While I do maintain my own not-for-profit website, I don't think I wish to be considered part of the IndieWeb community.
{
"type": "entry",
"published": "2026-06-07T03:53:37.590806+00:00",
"url": "https://bsky.app/profile/did:plc:gxzmyczhghkwl6os4224y65w/post/3mnobffoc3o23",
"content": {
"text": "Author request: While I do maintain my own not-for-profit website, I don't think I wish to be considered part of the IndieWeb community."
},
"author": {
"type": "card",
"name": "gitwishes.bsky.social",
"url": "https://bsky.app/profile/gitwishes.bsky.social",
"photo": null
},
"post-type": "note",
"_id": "48507816",
"_source": "9305",
"_is_read": false
}
Fernando captures the loop that pushes me to write perfectly. One of the reasons why I write is to find more of “my people.” As I grow older, I am pushed to find more of my community.
gurupanguji.com/blog...
#blogs #indieweb
{
"type": "entry",
"published": "2026-06-07T01:51:44.000Z",
"url": "https://bsky.app/profile/did:plc:hok3xauvarp7ekdyebbvlner/post/3mno2lk3ds32b",
"content": {
"text": "Fernando captures the loop that pushes me to write perfectly. One of the reasons why I write is to find more of \u201cmy people.\u201d As I grow older, I am pushed to find more of my community. \n\ngurupanguji.com/blog...\n\n#blogs #indieweb"
},
"author": {
"type": "card",
"name": "gurupanguji.com",
"url": "https://bsky.app/profile/gurupanguji.com",
"photo": null
},
"post-type": "note",
"_id": "48507386",
"_source": "9305",
"_is_read": false
}
Fernando captures the loop that pushes me to write perfectly. One of the reasons why I write is to find more of “my people.” As I grow older, I am pushed to find more of my community.
https://gurupanguji.com/blog/2026/06/06/i-wish-people-were-more-public/
#blogs #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@gurupanguji/116706319036675791",
"content": {
"html": "<p>Fernando captures the loop that pushes me to write perfectly. One of the reasons why I write is to find more of \u201cmy people.\u201d As I grow older, I am pushed to find more of my community. </p><p><a href=\"https://gurupanguji.com/blog/2026/06/06/i-wish-people-were-more-public/\"><span>https://</span><span>gurupanguji.com/blog/2026/06/0</span><span>6/i-wish-people-were-more-public/</span></a></p><p><a href=\"https://mastodon.social/tags/blogs\">#<span>blogs</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "Fernando captures the loop that pushes me to write perfectly. One of the reasons why I write is to find more of \u201cmy people.\u201d As I grow older, I am pushed to find more of my community. \n\nhttps://gurupanguji.com/blog/2026/06/06/i-wish-people-were-more-public/\n\n#blogs #indieweb"
},
"published": "2026-06-07T01:51:44+00:00",
"post-type": "note",
"_id": "48507289",
"_source": "8007",
"_is_read": false
}
I don't really know what it does, but the vibes are vaguely IndieWeb with the AT protocol as the golden hammer.
{
"type": "entry",
"published": "2026-06-06T23:42:09.025Z",
"url": "https://bsky.app/profile/did:plc:2hgt4vfh2jxuwf5zllcbed64/post/3mnntdq2p222s",
"content": {
"text": "I don't really know what it does, but the vibes are vaguely IndieWeb with the AT protocol as the golden hammer."
},
"author": {
"type": "card",
"name": "nezteb.net",
"url": "https://bsky.app/profile/nezteb.net",
"photo": null
},
"post-type": "note",
"_id": "48506553",
"_source": "9305",
"_is_read": false
}
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://fairy.id/@patrick/116705618380554133",
"content": {
"html": "<p>\u7d05\u96e8\u4e0b\u7684\u65fa\u89d2\u8207\u9713\u8679\u71c8 / \u4e09\u967d10mm & \u6c38\u8afe35mm <a href=\"https://impatrick.blog/mong-kok-neon-signs-under-red-rain/\"><span>https://</span><span>impatrick.blog/mong-kok-neon-s</span><span>igns-under-red-rain/</span></a><br />\u65b0\u7684 <a href=\"https://fairy.id/tags/blog\">#<span>blog</span></a> \u6587\u7ae0\u66f4\u65b0\uff01 <a href=\"https://fairy.id/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://fairy.id/tags/indieblog\">#<span>indieblog</span></a></p>",
"text": "\u7d05\u96e8\u4e0b\u7684\u65fa\u89d2\u8207\u9713\u8679\u71c8 / \u4e09\u967d10mm & \u6c38\u8afe35mm https://impatrick.blog/mong-kok-neon-signs-under-red-rain/\n\u65b0\u7684 #blog \u6587\u7ae0\u66f4\u65b0\uff01 #indieweb #indieblog"
},
"published": "2026-06-06T22:53:33+00:00",
"photo": [
"https://files.mastodon.social/cache/media_attachments/files/116/705/618/398/817/877/original/54f073ad82de3c19.jpg"
],
"post-type": "photo",
"_id": "48506248",
"_source": "8007",
"_is_read": false
}
If you liked The Acoustic Signature of Weather, my feed URL is https://sightlessscribbles.com/feed.xml #RSS #IndieWeb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://caneandable.social/@WeirdWriter/116705494350190516",
"content": {
"html": "<p>If you liked The Acoustic Signature of Weather, my feed URL is <a href=\"https://sightlessscribbles.com/feed.xml\"><span>https://</span><span>sightlessscribbles.com/feed.xml</span><span></span></a> <a href=\"https://caneandable.social/tags/RSS\">#<span>RSS</span></a> <a href=\"https://caneandable.social/tags/IndieWeb\">#<span>IndieWeb</span></a></p>",
"text": "If you liked The Acoustic Signature of Weather, my feed URL is https://sightlessscribbles.com/feed.xml #RSS #IndieWeb"
},
"published": "2026-06-06T22:22:00+00:00",
"post-type": "note",
"_id": "48506078",
"_source": "8007",
"_is_read": false
}
I built a small AI assistant that drafts Mastodon and Bluesky posts for my blog.
After 40+ published posts, the most useful lessons were:
• Don't hand strategy to the LLM when you have almost no engagement data
• Treat it as an assistant, not an autonomous agent
• Human review matters more than sophisticated prompting
• A Python container is often easier than serverless
• The whole setup costs about €0.20/month
https://www.fretchen.eu/blog/29/
#AI #LLM #LangGraph #IndieWeb #SelfHosting
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@fretchen/116705238530210208",
"content": {
"html": "<p>I built a small AI assistant that drafts Mastodon and Bluesky posts for my blog.<br />After 40+ published posts, the most useful lessons were:<br />\u2022 Don't hand strategy to the LLM when you have almost no engagement data<br />\u2022 Treat it as an assistant, not an autonomous agent<br />\u2022 Human review matters more than sophisticated prompting<br />\u2022 A Python container is often easier than serverless<br />\u2022 The whole setup costs about \u20ac0.20/month</p><p><a href=\"https://www.fretchen.eu/blog/29/\"><span>https://www.</span><span>fretchen.eu/blog/29/</span><span></span></a></p><p><a href=\"https://mastodon.social/tags/AI\">#<span>AI</span></a> <a href=\"https://mastodon.social/tags/LLM\">#<span>LLM</span></a> <a href=\"https://mastodon.social/tags/LangGraph\">#<span>LangGraph</span></a> <a href=\"https://mastodon.social/tags/IndieWeb\">#<span>IndieWeb</span></a> <a href=\"https://mastodon.social/tags/SelfHosting\">#<span>SelfHosting</span></a></p>",
"text": "I built a small AI assistant that drafts Mastodon and Bluesky posts for my blog.\nAfter 40+ published posts, the most useful lessons were:\n\u2022 Don't hand strategy to the LLM when you have almost no engagement data\n\u2022 Treat it as an assistant, not an autonomous agent\n\u2022 Human review matters more than sophisticated prompting\n\u2022 A Python container is often easier than serverless\n\u2022 The whole setup costs about \u20ac0.20/month\n\nhttps://www.fretchen.eu/blog/29/\n\n#AI #LLM #LangGraph #IndieWeb #SelfHosting"
},
"published": "2026-06-06T21:16:57+00:00",
"post-type": "note",
"_id": "48505580",
"_source": "8007",
"_is_read": false
}
New Blogroll Post
“'My Trade Is Humour' (Free writing exercise)” by halfthere
«This week, we read some more very lovely writings, one of which was a chapter on Silence from Carl Phillips' 'My Trade Is Mystery', and another, which is a response blog post to this piece of writing…»
#blog #indieweb
https://halfthere.mataroa.blog/blog/my-trade-is-humour-free-writing-exercise/?ref=blr.indiewebclub.org
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://indieweb.social/@blr/116704740537085085",
"content": {
"html": "<p>New Blogroll Post</p><p>\u201c'My Trade Is Humour' (Free writing exercise)\u201d by halfthere</p><p>\u00abThis week, we read some more very lovely writings, one of which was a chapter on Silence from Carl Phillips' 'My Trade Is Mystery', and another, which is a response blog post to this piece of writing\u2026\u00bb</p><p> <a href=\"https://indieweb.social/tags/blog\">#<span>blog</span></a> <a href=\"https://indieweb.social/tags/indieweb\">#<span>indieweb</span></a></p><p><a href=\"https://halfthere.mataroa.blog/blog/my-trade-is-humour-free-writing-exercise/?ref=blr.indiewebclub.org\"><span>https://</span><span>halfthere.mataroa.blog/blog/my</span><span>-trade-is-humour-free-writing-exercise/?ref=blr.indiewebclub.org</span></a></p>",
"text": "New Blogroll Post\n\n\u201c'My Trade Is Humour' (Free writing exercise)\u201d by halfthere\n\n\u00abThis week, we read some more very lovely writings, one of which was a chapter on Silence from Carl Phillips' 'My Trade Is Mystery', and another, which is a response blog post to this piece of writing\u2026\u00bb\n\n #blog #indieweb\n\nhttps://halfthere.mataroa.blog/blog/my-trade-is-humour-free-writing-exercise/?ref=blr.indiewebclub.org"
},
"published": "2026-06-06T19:10:18+00:00",
"post-type": "note",
"_id": "48504793",
"_source": "8007",
"_is_read": false
}
🔖 Bookmarked: People and Blogs - fLaMEd 🔥 https://manuelmoreale.com/interview/flamed
My People and Blogs chat on web ownership, 25 years of fLaMEd fury, and why I'm still here
🔥 Read more: https://flamedfury.com/bookmarks/people-and-blogs-flamed-🔥/
#Blogging #Indieweb #Personalweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://social.lol/@flamed/116704718851017846",
"content": {
"html": "<p>\ud83d\udd16 Bookmarked: People and Blogs - fLaMEd \ud83d\udd25 <a href=\"https://manuelmoreale.com/interview/flamed\"><span>https://</span><span>manuelmoreale.com/interview/fl</span><span>amed</span></a></p><p>My People and Blogs chat on web ownership, 25 years of fLaMEd fury, and why I&#39;m still here</p><p>\ud83d\udd25 Read more: <a href=\"https://flamedfury.com/bookmarks/people-and-blogs-flamed-%F0%9F%94%A5/\"><span>https://</span><span>flamedfury.com/bookmarks/peopl</span><span>e-and-blogs-flamed-\ud83d\udd25/</span></a></p><p><a href=\"https://social.lol/tags/Blogging\">#<span>Blogging</span></a> <a href=\"https://social.lol/tags/Indieweb\">#<span>Indieweb</span></a> <a href=\"https://social.lol/tags/Personalweb\">#<span>Personalweb</span></a></p>",
"text": "\ud83d\udd16 Bookmarked: People and Blogs - fLaMEd \ud83d\udd25 https://manuelmoreale.com/interview/flamed\n\nMy People and Blogs chat on web ownership, 25 years of fLaMEd fury, and why I'm still here\n\n\ud83d\udd25 Read more: https://flamedfury.com/bookmarks/people-and-blogs-flamed-\ud83d\udd25/\n\n#Blogging #Indieweb #Personalweb"
},
"published": "2026-06-06T19:04:47+00:00",
"post-type": "note",
"_id": "48504765",
"_source": "8007",
"_is_read": false
}
Fixing my ActivityPub and WebMention comments to make them play nicely.
I was struggling to get both comments and replies to post while only showing “facepile” for likes and boosts. I had no one to blame but myself as I coded the theme from scratch.
I’m posting this so the next time I have this problem (there is always a next time), future me can look up the answer.
This time, present and ast me had no answer or even much of a clue.
After giving up and asking ChatGPT WTF things were not doing what I wanted (show replies and mentions at the same time), I found a workaround, which left my comment count off.
My fix to show all comment types (but not likes and boosts) was an array constant in functions.php (theme).
define('LORDMATT_COMMENT_TYPES_NO', array(
'like',
'repost',
'boost',
));
This defines a list of comment types that don’t need to be shown. Defining this way only works in PHP 7+, so use it with care.
Then I did this in comments.php (theme) to reach the “it works, nobody touch anything” state.
$comments = array_filter(
$comments,
function( $comment ) {
$type = strtolower( get_comment_type( $comment ) );
return !in_array(
$type,
LORDMATT_COMMENT_TYPES_NO,
true
);
}
);
wp_list_comments(array(
'type'=>'all',
'max_depth' => 10,
),$comments);
My comment count was off. This is because I was undoing whatever filter was trying to help me but only for the show comments part.
This time, the same approach worked, but a filter in functions.php
add_filter('get_comments_number', function($count, $post_id) {
$comments = get_comments([
'post_id' => $post_id,
'status' => 'approve',
'type' => 'all',
]);
$comments = array_filter($comments, function($c) {
$type = strtolower(get_comment_type($c));
return !in_array($type, LORDMATT_COMMENT_TYPES_NO, true);
});
return count($comments);
}, 10, 2);
To be honest, I’m not the greatest fan of functions defined in function calls, but it got the job done.
There are probably better ways to approach this. I’ll probably write something better commented and tested for efficiency so I can roll this out as a fix for a few other places, where all the mixed comment types don’t work properly.
Feel free to criticise my rushed code.
I’m sure that, with some work, I could write a plugin that makes sure it all just works. This hack will do me for now, though.
I’ll update this post if I do something sensible with the code.
Use at your own risk: This current code is hackish and too small to worry about, so I release the truly minimal value I bring to the party for this specific code into the public domain insofar as is reasonable and mine to do so.
#ActivityPub #coding #fixingMyOwnMistakes #hackish #PHP #Webmention #WordPress
{
"type": "entry",
"author": {
"name": "#webmention",
"url": "https://mastodon.social/tags/webmention",
"photo": null
},
"url": "https://lordmatt.co.uk/technology/coding-and-development/fixing-my-activitypub-and-webmention-comments-to-make-them-play-nicely/",
"content": {
"html": "<p><strong>Fixing my ActivityPub and WebMention comments to make them play nicely.</strong></p><br /><br /><p>I was struggling to get both comments and replies to post while only showing \u201cfacepile\u201d for likes and boosts. I had no one to blame but myself as I coded the theme from scratch.</p><p>I\u2019m posting this so the next time I have this problem (there is always a next time), future me can look up the answer.</p><p>This time, present and ast me had no answer or even much of a clue.</p><p>After giving up and asking ChatGPT WTF things were not doing what I wanted (show replies and mentions at the same time), I found a workaround, which left my comment count off.</p><p>My fix to show all comment types (but not likes and boosts) was an array constant in functions.php (theme).</p> <pre>define('LORDMATT_COMMENT_TYPES_NO', array(<br />\n 'like',<br />\n 'repost',<br />\n 'boost',<br />\n ));<br /></pre> <p>This defines a list of comment types that don\u2019t need to be shown. Defining this way only works in PHP 7+, so use it with care.</p><p>Then I did this in comments.php (theme) to reach the \u201cit works, nobody touch anything\u201d state.</p> <pre>$comments = array_filter(<br />\n $comments,<br />\n function( $comment ) {<br />\n $type = strtolower( get_comment_type( $comment ) );<br />\n return !in_array(<br />\n $type,<br />\n LORDMATT_COMMENT_TYPES_NO,<br />\n true<br />\n );<br />\n }<br />\n);<br />\n wp_list_comments(array(<br />\n 'type'=>'all',<br />\n 'max_depth' => 10,<br />\n ),$comments);<br /></pre> <p>My comment count was off. This is because I was undoing whatever filter was trying to help me but only for the show comments part.</p><p>This time, the same approach worked, but a filter in functions.php</p> <pre>add_filter('get_comments_number', function($count, $post_id) {<br />\n $comments = get_comments([<br />\n 'post_id' => $post_id,<br />\n 'status' => 'approve',<br />\n 'type' => 'all',<br />\n ]);<br />\n $comments = array_filter($comments, function($c) {<br />\n $type = strtolower(get_comment_type($c));<br />\n return !in_array($type, LORDMATT_COMMENT_TYPES_NO, true);<br />\n });<br />\n return count($comments);<br />\n}, 10, 2);<br /></pre> <p>To be honest, I\u2019m not the greatest fan of functions defined in function calls, but it got the job done.</p><p>There are probably better ways to approach this. I\u2019ll probably write something better commented and tested for efficiency so I can roll this out as a fix for a few other places, where all the mixed comment types don\u2019t work properly.</p><p><strong><em>Feel free to criticise my rushed code.</em></strong></p><p>I\u2019m sure that, with some work, I could write a plugin that makes sure it all just works. This hack will do me for now, though.</p><p>I\u2019ll update this post if I do something sensible with the code.</p><p><em><strong>Use at your own risk:</strong> This current code is hackish and too small to worry about, so I release the truly minimal value I bring to the party for this specific code into the public domain insofar as is reasonable and mine to do so.</em></p><br /><br /><a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/activitypub/\">#ActivityPub</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/coding/\">#coding</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/fixing-my-own-mistakes/\">#fixingMyOwnMistakes</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/hackish/\">#hackish</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/php/\">#PHP</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/webmention/\">#Webmention</a> <a class=\"u-tag u-category\" href=\"https://lordmatt.co.uk/tag/wordpress/\">#WordPress</a>",
"text": "Fixing my ActivityPub and WebMention comments to make them play nicely.\n\nI was struggling to get both comments and replies to post while only showing \u201cfacepile\u201d for likes and boosts. I had no one to blame but myself as I coded the theme from scratch.\n\nI\u2019m posting this so the next time I have this problem (there is always a next time), future me can look up the answer.\n\nThis time, present and ast me had no answer or even much of a clue.\n\nAfter giving up and asking ChatGPT WTF things were not doing what I wanted (show replies and mentions at the same time), I found a workaround, which left my comment count off.\n\nMy fix to show all comment types (but not likes and boosts) was an array constant in functions.php (theme). define('LORDMATT_COMMENT_TYPES_NO', array(\n\n 'like',\n\n 'repost',\n\n 'boost',\n\n ));\n This defines a list of comment types that don\u2019t need to be shown. Defining this way only works in PHP 7+, so use it with care.\n\nThen I did this in comments.php (theme) to reach the \u201cit works, nobody touch anything\u201d state. $comments = array_filter(\n\n $comments,\n\n function( $comment ) {\n\n $type = strtolower( get_comment_type( $comment ) );\n\n return !in_array(\n\n $type,\n\n LORDMATT_COMMENT_TYPES_NO,\n\n true\n\n );\n\n }\n\n);\n\n wp_list_comments(array(\n\n 'type'=>'all',\n\n 'max_depth' => 10,\n\n ),$comments);\n My comment count was off. This is because I was undoing whatever filter was trying to help me but only for the show comments part.\n\nThis time, the same approach worked, but a filter in functions.php add_filter('get_comments_number', function($count, $post_id) {\n\n $comments = get_comments([\n\n 'post_id' => $post_id,\n\n 'status' => 'approve',\n\n 'type' => 'all',\n\n ]);\n\n $comments = array_filter($comments, function($c) {\n\n $type = strtolower(get_comment_type($c));\n\n return !in_array($type, LORDMATT_COMMENT_TYPES_NO, true);\n\n });\n\n return count($comments);\n\n}, 10, 2);\n To be honest, I\u2019m not the greatest fan of functions defined in function calls, but it got the job done.\n\nThere are probably better ways to approach this. I\u2019ll probably write something better commented and tested for efficiency so I can roll this out as a fix for a few other places, where all the mixed comment types don\u2019t work properly.\n\nFeel free to criticise my rushed code.\n\nI\u2019m sure that, with some work, I could write a plugin that makes sure it all just works. This hack will do me for now, though.\n\nI\u2019ll update this post if I do something sensible with the code.\n\nUse at your own risk: This current code is hackish and too small to worry about, so I release the truly minimal value I bring to the party for this specific code into the public domain insofar as is reasonable and mine to do so.\n\n#ActivityPub #coding #fixingMyOwnMistakes #hackish #PHP #Webmention #WordPress"
},
"published": "2026-06-06T18:39:32+00:00",
"post-type": "note",
"_id": "48504692",
"_source": "8007",
"_is_read": false
}
📣 Recordando entradas publicadas: Sin comentarios ni iteraciones en el blog (UGC)
https://elblogdelazaro.org/sin-comentarios-iteracciones/
#Blog #Indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@elblogdelazaro/116704582216177382",
"content": {
"html": "<p>\ud83d\udce3 Recordando entradas publicadas: Sin comentarios ni iteraciones en el blog (UGC)<br /><a href=\"https://elblogdelazaro.org/sin-comentarios-iteracciones/\"><span>https://</span><span>elblogdelazaro.org/sin-comenta</span><span>rios-iteracciones/</span></a><br /><a href=\"https://mastodon.social/tags/Blog\">#<span>Blog</span></a> <a href=\"https://mastodon.social/tags/Indieweb\">#<span>Indieweb</span></a></p>",
"text": "\ud83d\udce3 Recordando entradas publicadas: Sin comentarios ni iteraciones en el blog (UGC)\nhttps://elblogdelazaro.org/sin-comentarios-iteracciones/\n#Blog #Indieweb"
},
"published": "2026-06-06T18:30:02+00:00",
"post-type": "note",
"_id": "48504622",
"_source": "8007",
"_is_read": false
}
Page 95 is OUT !
Which marks the start of the most ambitious story line yet, at least visually speaking, i will try to have a page coming out every Saturday
glivy.webcomic.ws/comics/95/
#art #furry #comic #indieweb #indiecomics #oc #originalCharacter #glivy
{
"type": "entry",
"published": "2026-06-06T17:14:34.811Z",
"url": "https://bsky.app/profile/did:plc:azs6yrgu4s6fkzftzwk3ncem/post/3mnn5op4imc2i",
"content": {
"text": "Page 95 is OUT !\nWhich marks the start of the most ambitious story line yet, at least visually speaking, i will try to have a page coming out every Saturday \n\nglivy.webcomic.ws/comics/95/\n\n#art #furry #comic #indieweb #indiecomics #oc #originalCharacter #glivy"
},
"author": {
"type": "card",
"name": "finixgelly.bsky.social",
"url": "https://bsky.app/profile/finixgelly.bsky.social",
"photo": null
},
"post-type": "note",
"_id": "48504082",
"_source": "9305",
"_is_read": false
}
Page 95 is OUT !
https://glivy.webcomic.ws/comics/95/
Which marks the start of the most ambitious story line yet, at least visually speaking, i will try to have a page coming out every Saturday until the story arc ends with maybe (maybe) a few extra pages during the week if i can keep up the pace, otherwise yall can count on this never before seen (From me) 1 page a week schedule
#art #furry #comic #indieweb #indiecomics #oc #originalCharacter #original_character #glivy
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://woof.tech/@Finix/116704286953979648",
"content": {
"html": "<p>Page 95 is OUT !</p><p><a href=\"https://glivy.webcomic.ws/comics/95/\"><span>https://</span><span>glivy.webcomic.ws/comics/95/</span><span></span></a></p><p>Which marks the start of the most ambitious story line yet, at least visually speaking, i will try to have a page coming out every Saturday until the story arc ends with maybe (maybe) a few extra pages during the week if i can keep up the pace, otherwise yall can count on this never before seen (From me) 1 page a week schedule</p><p><a href=\"https://woof.tech/tags/art\">#<span>art</span></a> <a href=\"https://woof.tech/tags/furry\">#<span>furry</span></a> <a href=\"https://woof.tech/tags/comic\">#<span>comic</span></a> <a href=\"https://woof.tech/tags/indieweb\">#<span>indieweb</span></a> <a href=\"https://woof.tech/tags/indiecomics\">#<span>indiecomics</span></a> <a href=\"https://woof.tech/tags/oc\">#<span>oc</span></a> <a href=\"https://woof.tech/tags/originalCharacter\">#<span>originalCharacter</span></a> <a href=\"https://woof.tech/tags/original_character\">#<span>original_character</span></a> <a href=\"https://woof.tech/tags/glivy\">#<span>glivy</span></a></p>",
"text": "Page 95 is OUT !\n\nhttps://glivy.webcomic.ws/comics/95/\n\nWhich marks the start of the most ambitious story line yet, at least visually speaking, i will try to have a page coming out every Saturday until the story arc ends with maybe (maybe) a few extra pages during the week if i can keep up the pace, otherwise yall can count on this never before seen (From me) 1 page a week schedule\n\n#art #furry #comic #indieweb #indiecomics #oc #originalCharacter #original_character #glivy"
},
"published": "2026-06-06T17:14:57+00:00",
"photo": [
"https://files.mastodon.social/cache/media_attachments/files/116/704/287/007/545/272/original/265001787513cf8e.png"
],
"post-type": "photo",
"_id": "48504079",
"_source": "8007",
"_is_read": false
}
Content changed in "Deploying Your Own IndieWeb Site with Indiekit + Eleventy (Docker Compose based)" (rmendes.net)
+68 / -127 chars
https://diff.rmendes.net/diff/1245
https://rmendes.net/articles/2026/02/14/deploying-your-own-indieweb-site/
{
"type": "entry",
"published": "2026-06-06T16:57:21.658Z",
"url": "https://bsky.app/profile/did:plc:26yc3ly2y3tz7ylje2jd4iuy/post/3mnn4pvtdls2e",
"content": {
"text": "Content changed in \"Deploying Your Own IndieWeb Site with Indiekit + Eleventy (Docker Compose based)\" (rmendes.net)\n+68 / -127 chars\n\nhttps://diff.rmendes.net/diff/1245\nhttps://rmendes.net/articles/2026/02/14/deploying-your-own-indieweb-site/"
},
"author": {
"type": "card",
"name": "diff.eurosky.social",
"url": "https://bsky.app/profile/diff.eurosky.social",
"photo": null
},
"post-type": "note",
"_id": "48503912",
"_source": "9305",
"_is_read": false
}
2 weeks of Cheeppy posts on Mastodon. Looking back.
We shipped 4 new recipes (sunglasses, swimwear, jewelry, shirts). Featured 3 customer wins across Shopify, Wix, Etsy. Argued for editorial over clinical, taste over equipment, mood over category.
Next: more recipes, more creators earning revenue, more bilingual content.
We are here for the indie brands.
#buildinpublic #DTC #ecommerce #productphotography #indieweb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://mastodon.social/@Cheeppy/116703850757593908",
"content": {
"html": "<p>2 weeks of Cheeppy posts on Mastodon. Looking back.</p><p>We shipped 4 new recipes (sunglasses, swimwear, jewelry, shirts). Featured 3 customer wins across Shopify, Wix, Etsy. Argued for editorial over clinical, taste over equipment, mood over category.</p><p>Next: more recipes, more creators earning revenue, more bilingual content.</p><p>We are here for the indie brands.</p><p><a href=\"https://mastodon.social/tags/buildinpublic\">#<span>buildinpublic</span></a> <a href=\"https://mastodon.social/tags/DTC\">#<span>DTC</span></a> <a href=\"https://mastodon.social/tags/ecommerce\">#<span>ecommerce</span></a> <a href=\"https://mastodon.social/tags/productphotography\">#<span>productphotography</span></a> <a href=\"https://mastodon.social/tags/indieweb\">#<span>indieweb</span></a></p>",
"text": "2 weeks of Cheeppy posts on Mastodon. Looking back.\n\nWe shipped 4 new recipes (sunglasses, swimwear, jewelry, shirts). Featured 3 customer wins across Shopify, Wix, Etsy. Argued for editorial over clinical, taste over equipment, mood over category.\n\nNext: more recipes, more creators earning revenue, more bilingual content.\n\nWe are here for the indie brands.\n\n#buildinpublic #DTC #ecommerce #productphotography #indieweb"
},
"published": "2026-06-06T15:24:01+00:00",
"post-type": "note",
"_id": "48503305",
"_source": "8007",
"_is_read": false
}
I think someone should make an anti-SEO web accessibility guide. Discussion of proper website structure is so annoyingly intertwined with SEO. I would be proud of bad SEO as i see it as a rejection of modern enshittification and corporate control. I want straight answers to things like "what happens for real users if I put certain content above the h1" and stuff like that.
#Accessibility #A11y #WebDev #SEO #IndieWeb
{
"type": "entry",
"author": {
"name": "#indieweb",
"url": "https://mastodon.social/tags/indieweb",
"photo": null
},
"url": "https://bark.wolp.chat/fediverse/post/0bf46f9a-194e-4416-a447-e59ad3b387f3",
"content": {
"html": "<p>I think someone should make an anti-SEO web accessibility guide. Discussion of proper website structure is so annoyingly intertwined with SEO. I would be proud of bad SEO as i see it as a rejection of modern enshittification and corporate control. I want straight answers to things like \"what happens for <em>real users</em> if I put certain content above the <code>h1</code>\" and stuff like that.</p><br /><a href=\"https://bark.wolp.chat/dashboard/search/Accessibility\">#Accessibility</a> <a href=\"https://bark.wolp.chat/dashboard/search/A11y\">#A11y</a> <a href=\"https://bark.wolp.chat/dashboard/search/WebDev\">#WebDev</a> <a href=\"https://bark.wolp.chat/dashboard/search/SEO\">#SEO</a> <a href=\"https://bark.wolp.chat/dashboard/search/IndieWeb\">#IndieWeb</a>",
"text": "I think someone should make an anti-SEO web accessibility guide. Discussion of proper website structure is so annoyingly intertwined with SEO. I would be proud of bad SEO as i see it as a rejection of modern enshittification and corporate control. I want straight answers to things like \"what happens for real users if I put certain content above the h1\" and stuff like that.\n#Accessibility #A11y #WebDev #SEO #IndieWeb"
},
"published": "2026-06-06T13:48:07+00:00",
"post-type": "note",
"_id": "48502458",
"_source": "8007",
"_is_read": false
}