diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 9b1c2913..1830d8c3 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -5,7 +5,7 @@ on: - cron: "0 6 * * 0" workflow_dispatch: jobs: - webmentions: + weekly: runs-on: ubuntu-latest steps: - name: Check out repository diff --git a/content/weeknotes/2025/15.md b/content/weeknotes/2025/15.md deleted file mode 100644 index 857ddc46..00000000 --- a/content/weeknotes/2025/15.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Week Note Nº 15/2025" -date: "2025-04-16T09:00:00+01:00" -lastmod: "2025-04-16T09:00:00+01:00" -draft: true -tags: ["week note"] -type : "weeknote" -summary: "Random notes for week 15 of 2025" ---- - -- I clean my personal feed reader and update the blogroll of my blog. I need more time for cleaning ALL my personal feed reader but making some cleaning every day my feed reader will be without dead ones -- Add a Series page in my blog where I list all the posts interconnected. I will make a post about it and pot some Series into the photos posts, for sorting and collect them. - -## Suggested Links/Posts -- [stow thy dotfiles](https://eugene-babichenko.github.io/blog/stow-thy-dotfiles/) -- [How audible is this URL? | James' Coffee Blog](https://jamesg.blog/2025/04/12/how-audible-is-this-url) -- [Rubenerd: Does your site refresh still have RSS?](https://rubenerd.com/does-your-site-refresh-have-rss/) -- [Rubenerd: Using “Re:” in blog titles](https://rubenerd.com/using-re-in-blog-titles/) -- [Rubenerd: Replacing the blogroll with an aggregator](https://rubenerd.com/replacing-the-blogroll-with-an-aggregator/) -- [Shorthand Shop Visit — The Pen Addict](https://www.penaddict.com/blog/2025/4/9/shorthand-shop-visit) -- [!r (a conversion flag) in f-strings](https://rusingh.com/python-conversion-flags-in-f-strings/) -- [Winnie Lim » taipei after 7 years](https://winnielim.org/journal/taipei-after-7-years/) -- [Moritz F. Fürst – How Silica Gel Took Over the World](https://moritzfuerst.net/micro/6210174447892903) -- [Did you know, that you can style RSS Feeds? | BLEEPBLOOP.studio](https://bleepbloop.studio/posts/did-you-know-you-can-style-rss-feeds) -## New post from my blog -- [Re:Using 'Re:' in Blog Titles](https://fundor333.com/post/2025/re-using-re-in-blog-titles/) -- [DMC by Netflix Has Mine Spotify Playlist](https://fundor333.com/micro/2025/40/dmc-by-netflix-has-mine-spotify-playlist/) -- [Devil May Cry by Netflix](https://fundor333.com/micro/2025/40/devil-may-cry-by-netflix/) -- [Week Note Nº 14/2025](https://fundor333.com/weeknotes/2025/14/) - -## My Links -- [My blog](https://www.fundor333.com) -- [My newsletter](https://newsletter.digitaltearoom.com) -- [Support me](https://ko-fi.com/fundor333) - -## Currently Reading -[![Guildpact (Magic: The Gathering: Ravnica Cycle, #2)](https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1328330416l/8372385._SY160_.jpg)](https://www.goodreads.com/review/show/7292099460?utm_medium=api&utm_source=rss) [![Cromorama: Come il colore ha cambiato il nostro sguardo](https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1505808761l/36266532._SX98_.jpg)](https://www.goodreads.com/review/show/5993206761?utm_medium=api&utm_source=rss) - -## Anime and manga's stats - -### **Anime** -- Total anime watched: **79** -- Total anime watched time: **594h 12m** -- Total anime watched episodes: **1432** -- Top 5 anime genres: 🏷️ Action, 🏷️ Adventure, 🏷️ Fantasy, 🏷️ Supernatural, 🏷️ Drama - -### **Manga** -- Total manga read: **239** -- Total manga read chapters: **24544** -- Total manga read volumes: **617** -- Top 5 manga genres: 🏷️ Fantasy, 🏷️ Action, 🏷️ Adventure, 🏷️ Comedy, 🏷️ Drama diff --git a/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json b/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json index fc8d3e2c..f0622e76 100644 --- a/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json +++ b/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Simone Cortesi \ud83c\uddea\ud83c\uddfa", "photo": "https://avatars.webmention.io/pbs.twimg.com/a9aeb33d7425c8786c4d3ee84094da4dc7ee0d04a846021a61b3a9c78b49a20e.jpg", "url": "https://twitter.com/simonecortesi"}, "url": "https://twitter.com/simonecortesi/status/1450542958713966592", "published": "2021-10-19T19:22:45+00:00", "wm-received": "2021-10-19T19:37:35Z", "wm-id": 1293476, "wm-source": "https://brid.gy/comment/twitter/fundor333/1446460514364710916/1450542958713966592", "wm-target": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-protocol": "webmention", "content": {"html": "Yo!\n\n", "text": "Yo!"}, "in-reply-to": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\ud83d\udc0dFundor 333\ud83d\udc33\ud83d\udc68\u200d\ud83d\udcbb", "photo": "https://avatars.webmention.io/pbs.twimg.com/c3d085f0266cb157220a9e6312c26ccaeb56e5c4d2d501cf0d6426f05c36890e.jpg", "url": "https://twitter.com/fundor333"}, "url": "https://twitter.com/fundor333/status/1446460514364710916#favorited-by-2687984266", "published": null, "wm-received": "2021-10-19T12:10:15Z", "wm-id": 1293235, "wm-source": "https://brid.gy/like/twitter/fundor333/1446460514364710916/2687984266", "wm-target": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 1, "comments": [{"content": "Yo!", "link": "https://brid.gy/comment/twitter/fundor333/1446460514364710916/1450542958713966592", "author_name": "Simone Cortesi \ud83c\uddea\ud83c\uddfa", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/a9aeb33d7425c8786c4d3ee84094da4dc7ee0d04a846021a61b3a9c78b49a20e.jpg", "author_url": "https://twitter.com/simonecortesi"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "\ud83d\udc0dFundor 333\ud83d\udc33\ud83d\udc68\u200d\ud83d\udcbb", "photo": "https://avatars.webmention.io/pbs.twimg.com/c3d085f0266cb157220a9e6312c26ccaeb56e5c4d2d501cf0d6426f05c36890e.jpg", "url": "https://twitter.com/fundor333"}, "url": "https://twitter.com/fundor333/status/1446460514364710916#favorited-by-2687984266", "published": null, "wm-received": "2021-10-19T12:10:15Z", "wm-id": 1293235, "wm-source": "https://brid.gy/like/twitter/fundor333/1446460514364710916/2687984266", "wm-target": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Simone Cortesi \ud83c\uddea\ud83c\uddfa", "photo": "https://avatars.webmention.io/pbs.twimg.com/a9aeb33d7425c8786c4d3ee84094da4dc7ee0d04a846021a61b3a9c78b49a20e.jpg", "url": "https://twitter.com/simonecortesi"}, "url": "https://twitter.com/simonecortesi/status/1450542958713966592", "published": "2021-10-19T19:22:45+00:00", "wm-received": "2021-10-19T19:37:35Z", "wm-id": 1293476, "wm-source": "https://brid.gy/comment/twitter/fundor333/1446460514364710916/1450542958713966592", "wm-target": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-protocol": "webmention", "content": {"html": "Yo!\n\n", "text": "Yo!"}, "in-reply-to": "https://fundor333.com/post/2021/from-devops-to-gitops/", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 1, "comments": [{"content": "Yo!", "link": "https://brid.gy/comment/twitter/fundor333/1446460514364710916/1450542958713966592", "author_name": "Simone Cortesi \ud83c\uddea\ud83c\uddfa", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/a9aeb33d7425c8786c4d3ee84094da4dc7ee0d04a846021a61b3a9c78b49a20e.jpg", "author_url": "https://twitter.com/simonecortesi"}]}} \ No newline at end of file diff --git a/data/webmentions/136a3c6a977f33b13ee0dd52d2e2288c.json b/data/webmentions/136a3c6a977f33b13ee0dd52d2e2288c.json index 23a811c0..f5325e4d 100644 --- a/data/webmentions/136a3c6a977f33b13ee0dd52d2e2288c.json +++ b/data/webmentions/136a3c6a977f33b13ee0dd52d2e2288c.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Christian Engel", "photo": "https://chringel.dev/img/vqjxFKbWTk-200.webp", "url": "https://chringel.dev/about/"}, "url": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "published": "2022-07-22T02:00:00+02:00", "wm-received": "2022-08-01T11:48:39Z", "wm-id": 1447004, "wm-source": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "wm-target": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-protocol": "webmention", "name": "Indiewebify me! And don't forget my webmentions!", "syndication": ["https://twitter.com/DeEgge/status/1550547785279234050", "https://fosstodon.org/web/@chringel/108692404350645632", "https://indieweb.xyz/en/indieweb", "https://news.indieweb.org/en"], "content": {"html": "

I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).

\n

There wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.

\n\n

What's IndieWeb?

\n#\n
\n

The IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org

\n
\n

That's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?

\n

In my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.

\n\n

How does it work?

\n#\n

Alright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.

\n

I already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.

\n\n

1. Set up Web Sign In

\n#\n

In order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.

\n

Just add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.

\n

Hint: All code excerpts are reduced to a minimal working example.

\n
<div>
{{ range .Site.Menus.social }}
<a rel=\"me\" href=\"{{ .URL }}\" title=\"{{ .Name }}\"> {{ .Name }} </a>
{{ end }}
</div>
\n

Next, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.

\n\n
{{ with .Site.Params.indieweb }} <link rel=\"authorization_endpoint\" href=\"{{
.authorizationEndpoint | default \"https://indieauth.com/auth\" }}\" /> <link
rel=\"token_endpoint\" href=\"{{ .tokenEndpoint | default
\"https://tokens.indieauth.com/token\" }}\" /> {{ end }}
\n

I also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.

\n\n

2. Add author markup

\n#\n

Next step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.

\n\n
<div class=\"h-card\">
<p>
<a class=\"u-url\" href=\"{{ .Site.BaseURL }}\">{{ .Site.Title }}</a>
{{ with .Site.Params.Hcard.Avatar }}
<img class=\"u-photo\" alt=\"\" src=\"{{ . | absURL }}\" />
{{ end }}
<span class=\"p-name\" rel=\"me\"> {{ .Site.Params.Hcard.FullName }} </span>
</p>
{{ with .Site.Params.Hcard.Biography }}
<p>
<span class=\"p-note\">{{ . | markdownify }}</span>
</p>
{{ end }}
</div>
\n

Again, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.

\n

\"Valid

Valid h-card entry parsed by IndieWebify.me

\n

\n\n

3. Add content markup

\n#\n

If you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.

\n

In this example, I add the following h-entry properties:

\n
{{ define \"main\" }}
<article class=\"h-entry\">
<h1 class=\"p-name\">{{ .Title }}</h1>
<p class=\"e-content\">{{ .Content }}</p>
<div>
<span>Posted By:</span>
<a rel=\"author\" class=\"p-author h-card\" href=\"{{ \"about\" | relURL }}\">
{{ .Params.author }}
</a>
</div>
<div class=\"pb-2\">
<span>Posted:</span>
<time class=\"dt-published\" datetime=\"{{ .PublishDate.Format \"January 2, 2006\" }}\">
<a class=\"u-url\" href=\"{{ .Permalink }}\">{{ $publishDate }}</a>
</time>
</div>
<div class=\"pb-2\">
<span>Categories:</span>
{{ range $idx, $category := . }}
{{- if ne $idx 0 }}{{ end }}
<a class=\"p-category\" href=\"{{ \"categories/\" | relURL }}{{ $category | urlize }}\">
{{ $category }}
</a>
{{- end }}
</div>
</article>
{{ end }}
\n

\"Valid

Valid h-card parsed by IndieWebify.me

\n

\n

At this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.

\n\n

4. Add Webmentions

\n#\n

After I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?

\n

Webmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.

\n

For example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.

\n

Sounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.

\n

I found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.

\n

This would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.

\n

After Go-Jamming was running on my server, I added the Webmention endpoints.

\n
<link rel=\"webmention\" href=\"https://jam.chringel.dev/webmention\" />
<link rel=\"pingback\" href=\"https://jam.chringel.dev/pingback\" />
\n

Now all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.

\n

Two commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).

\n

My current (semi-automatic) workflow for parsing Webmentions goes like this:

\n
  1. (Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)
  2. \n
  3. When my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API
  4. \n
  5. Hugo processes the JSON file while building my site
  6. \n
\n

5. Syndication and Backfeed

\n#\n

One last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.

\n

The first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.

\n

The latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.

\n

Adding syndication markup is easy, it's just another microformat.

\n\n
{{ with .Params.syndication }} {{ range $silo, $url := . }}
<a href=\"{{ $url }}\" class=\"u-syndication\" rel=\"syndication\"
>
{{ title $silo }}</a
>

{{ end }} {{ end }}
\n

And add the links where you syndicated your post in the front matter.

\n\n
---
...
syndication:
mastodon: https://fosstodon.org/web/@chringel/...
twitter: https://twitter.com/DeEgge/status/...
...

---
\n

To achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.

\n\n

Next steps

\n#\n

What I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.

\n\n

Final thoughts

\n#\n

At this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.

\n

As I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.

\n

Also, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.

\n

Syndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.

\n

But in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!

", "text": "I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).\nThere wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.\n\nWhat's IndieWeb?\n#\n\nThe IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org\n\nThat's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?\nIn my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.\n\nHow does it work?\n#\nAlright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.\nI already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.\n\n1. Set up Web Sign In\n#\nIn order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.\nJust add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.\nHint: All code excerpts are reduced to a minimal working example.\n
\n {{ range .Site.Menus.social }}\n {{ .Name }} \n {{ end }}\n
\nNext, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.\n\n{{ with .Site.Params.indieweb }} {{ end }}\nI also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.\n\n2. Add author markup\n#\nNext step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.\n\n
\n

\n{{ .Site.Title }}\n {{ with .Site.Params.Hcard.Avatar }}\n\"\"\n {{ end }}\n {{ .Site.Params.Hcard.FullName }} \n

\n {{ with .Site.Params.Hcard.Biography }}\n

\n{{ . | markdownify }}\n

\n {{ end }}\n
\nAgain, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.\nValid h-card entry parsed by IndieWebify.me\n\n\n3. Add content markup\n#\nIf you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.\nIn this example, I add the following h-entry properties:\np-name - the post's title\ne-content - the post's content\np-author - who wrote the post\ndt-published - when the post was published\nu-url - the permalink to the post\np-category - categories or tags for the post\n{{ define \"main\" }}\n
\n

{{ .Title }}

\n

{{ .Content }}

\n
\nPosted By:\n\n {{ .Params.author }}\n\n
\n
\nPosted:\n\n
\n
\nCategories:\n {{ range $idx, $category := . }}\n {{- if ne $idx 0 }}{{ end }}\n \n {{ $category }}\n\n {{- end }}\n
\n
\n{{ end }}\nValid h-card parsed by IndieWebify.me\n\nAt this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.\n\n4. Add Webmentions\n#\nAfter I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?\nWebmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.\nFor example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.\nSounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.\nI found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.\nThis would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.\nAfter Go-Jamming was running on my server, I added the Webmention endpoints.\n\n\nNow all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.\nTwo commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).\nMy current (semi-automatic) workflow for parsing Webmentions goes like this:\n(Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)\nWhen my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API\nHugo processes the JSON file while building my site\n5. Syndication and Backfeed\n#\nOne last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.\nThe first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.\nThe latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.\nAdding syndication markup is easy, it's just another microformat.\n\n{{ with .Params.syndication }} {{ range $silo, $url := . }}\n{{ title $silo }}\n{{ end }} {{ end }}\nAnd add the links where you syndicated your post in the front matter.\n\n---\n...\nsyndication:\nmastodon: https://fosstodon.org/web/@chringel/...\ntwitter: https://twitter.com/DeEgge/status/...\n...\n---\nTo achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.\n\nNext steps\n#\nWhat I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.\n\nFinal thoughts\n#\nAt this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.\nAs I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.\nAlso, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.\nSyndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.\nBut in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!"}, "mention-of": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-property": "mention-of", "wm-private": false, "rels": {"canonical": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/"}}, {"type": "entry", "author": {"type": "card", "name": "jbschirtzinger", "photo": "", "url": "https://jbschirtzinger.com/"}, "url": "https://jbschirtzinger.com/post/2023new/", "published": "2023-01-02T15:30:00", "wm-received": "2023-02-02T22:15:54Z", "wm-id": 1614159, "wm-source": "https://www.jbschirtzinger.com/post/2023new/", "wm-target": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-protocol": "webmention", "name": "Site Features and Prophecies", "content": {"html": "

\"alby\"

\n

New Technologies

\n

Some time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.

\n

IndieAuth Blogs

\n

Also, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.

\n

I strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!

\n

Geek Technical Stuff

\n

In order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.

\n

Alby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.

\n

Technology Prophecy Stuff

\n

Implementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?

\n

In thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:

\n
\n

\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)

\n

\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)

\n
\n

source: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/

\n

Helpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.

\n

Any of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.

\n

So I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?

", "text": "New Technologies\nSome time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.\nIndieAuth Blogs\nAlso, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.\nI strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!\nGeek Technical Stuff\nIn order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.\nAlby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.\nTechnology Prophecy Stuff\nImplementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?\nIn thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:\n\n\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)\n\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)\n\nsource: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/\nHelpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.\nAny of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.\nSo I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?"}, "mention-of": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).\nThere wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.\n\nWhat's IndieWeb?\n#\n\nThe IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org\n\nThat's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?\nIn my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.\n\nHow does it work?\n#\nAlright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.\nI already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.\n\n1. Set up Web Sign In\n#\nIn order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.\nJust add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.\nHint: All code excerpts are reduced to a minimal working example.\n
\n {{ range .Site.Menus.social }}\n {{ .Name }} \n {{ end }}\n
\nNext, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.\n\n{{ with .Site.Params.indieweb }} {{ end }}\nI also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.\n\n2. Add author markup\n#\nNext step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.\n\n
\n

\n{{ .Site.Title }}\n {{ with .Site.Params.Hcard.Avatar }}\n\"\"\n {{ end }}\n {{ .Site.Params.Hcard.FullName }} \n

\n {{ with .Site.Params.Hcard.Biography }}\n

\n{{ . | markdownify }}\n

\n {{ end }}\n
\nAgain, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.\nValid h-card entry parsed by IndieWebify.me\n\n\n3. Add content markup\n#\nIf you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.\nIn this example, I add the following h-entry properties:\np-name - the post's title\ne-content - the post's content\np-author - who wrote the post\ndt-published - when the post was published\nu-url - the permalink to the post\np-category - categories or tags for the post\n{{ define \"main\" }}\n\n{{ end }}\nValid h-card parsed by IndieWebify.me\n\nAt this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.\n\n4. Add Webmentions\n#\nAfter I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?\nWebmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.\nFor example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.\nSounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.\nI found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.\nThis would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.\nAfter Go-Jamming was running on my server, I added the Webmention endpoints.\n\n\nNow all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.\nTwo commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).\nMy current (semi-automatic) workflow for parsing Webmentions goes like this:\n(Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)\nWhen my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API\nHugo processes the JSON file while building my site\n5. Syndication and Backfeed\n#\nOne last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.\nThe first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.\nThe latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.\nAdding syndication markup is easy, it's just another microformat.\n\n{{ with .Params.syndication }} {{ range $silo, $url := . }}\n{{ title $silo }}\n{{ end }} {{ end }}\nAnd add the links where you syndicated your post in the front matter.\n\n---\n...\nsyndication:\nmastodon: https://fosstodon.org/web/@chringel/...\ntwitter: https://twitter.com/DeEgge/status/...\n...\n---\nTo achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.\n\nNext steps\n#\nWhat I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.\n\nFinal thoughts\n#\nAt this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.\nAs I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.\nAlso, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.\nSyndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.\nBut in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!", "link": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "author_name": "Christian Engel", "author_photo": "https://chringel.dev/img/vqjxFKbWTk-200.webp", "author_url": "https://chringel.dev/about/"}, {"content": "New Technologies\nSome time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.\nIndieAuth Blogs\nAlso, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.\nI strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!\nGeek Technical Stuff\nIn order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.\nAlby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.\nTechnology Prophecy Stuff\nImplementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?\nIn thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:\n\n\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)\n\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)\n\nsource: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/\nHelpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.\nAny of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.\nSo I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?", "link": "https://www.jbschirtzinger.com/post/2023new/", "author_name": "jbschirtzinger", "author_photo": "", "author_url": "https://jbschirtzinger.com/"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "jbschirtzinger", "photo": "", "url": "https://jbschirtzinger.com/"}, "url": "https://jbschirtzinger.com/post/2023new/", "published": "2023-01-02T15:30:00", "wm-received": "2023-02-02T22:15:54Z", "wm-id": 1614159, "wm-source": "https://www.jbschirtzinger.com/post/2023new/", "wm-target": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-protocol": "webmention", "name": "Site Features and Prophecies", "content": {"html": "

\"alby\"

\n

New Technologies

\n

Some time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.

\n

IndieAuth Blogs

\n

Also, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.

\n

I strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!

\n

Geek Technical Stuff

\n

In order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.

\n

Alby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.

\n

Technology Prophecy Stuff

\n

Implementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?

\n

In thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:

\n
\n

\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)

\n

\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)

\n
\n

source: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/

\n

Helpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.

\n

Any of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.

\n

So I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?

", "text": "New Technologies\nSome time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.\nIndieAuth Blogs\nAlso, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.\nI strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!\nGeek Technical Stuff\nIn order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.\nAlby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.\nTechnology Prophecy Stuff\nImplementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?\nIn thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:\n\n\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)\n\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)\n\nsource: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/\nHelpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.\nAny of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.\nSo I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?"}, "mention-of": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Christian Engel", "photo": "https://chringel.dev/img/vqjxFKbWTk-200.webp", "url": "https://chringel.dev/about/"}, "url": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "published": "2022-07-22T02:00:00+02:00", "wm-received": "2022-08-01T11:48:39Z", "wm-id": 1447004, "wm-source": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "wm-target": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-protocol": "webmention", "name": "Indiewebify me! And don't forget my webmentions!", "syndication": ["https://twitter.com/DeEgge/status/1550547785279234050", "https://fosstodon.org/web/@chringel/108692404350645632", "https://indieweb.xyz/en/indieweb", "https://news.indieweb.org/en"], "content": {"html": "

I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).

\n

There wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.

\n\n

What's IndieWeb?

\n#\n
\n

The IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org

\n
\n

That's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?

\n

In my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.

\n\n

How does it work?

\n#\n

Alright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.

\n

I already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.

\n\n

1. Set up Web Sign In

\n#\n

In order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.

\n

Just add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.

\n

Hint: All code excerpts are reduced to a minimal working example.

\n
<div>
{{ range .Site.Menus.social }}
<a rel=\"me\" href=\"{{ .URL }}\" title=\"{{ .Name }}\"> {{ .Name }} </a>
{{ end }}
</div>
\n

Next, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.

\n\n
{{ with .Site.Params.indieweb }} <link rel=\"authorization_endpoint\" href=\"{{
.authorizationEndpoint | default \"https://indieauth.com/auth\" }}\" /> <link
rel=\"token_endpoint\" href=\"{{ .tokenEndpoint | default
\"https://tokens.indieauth.com/token\" }}\" /> {{ end }}
\n

I also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.

\n\n

2. Add author markup

\n#\n

Next step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.

\n\n
<div class=\"h-card\">
<p>
<a class=\"u-url\" href=\"{{ .Site.BaseURL }}\">{{ .Site.Title }}</a>
{{ with .Site.Params.Hcard.Avatar }}
<img class=\"u-photo\" alt=\"\" src=\"{{ . | absURL }}\" />
{{ end }}
<span class=\"p-name\" rel=\"me\"> {{ .Site.Params.Hcard.FullName }} </span>
</p>
{{ with .Site.Params.Hcard.Biography }}
<p>
<span class=\"p-note\">{{ . | markdownify }}</span>
</p>
{{ end }}
</div>
\n

Again, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.

\n

\"Valid

Valid h-card entry parsed by IndieWebify.me

\n

\n\n

3. Add content markup

\n#\n

If you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.

\n

In this example, I add the following h-entry properties:

\n
{{ define \"main\" }}
<article class=\"h-entry\">
<h1 class=\"p-name\">{{ .Title }}</h1>
<p class=\"e-content\">{{ .Content }}</p>
<div>
<span>Posted By:</span>
<a rel=\"author\" class=\"p-author h-card\" href=\"{{ \"about\" | relURL }}\">
{{ .Params.author }}
</a>
</div>
<div class=\"pb-2\">
<span>Posted:</span>
<time class=\"dt-published\" datetime=\"{{ .PublishDate.Format \"January 2, 2006\" }}\">
<a class=\"u-url\" href=\"{{ .Permalink }}\">{{ $publishDate }}</a>
</time>
</div>
<div class=\"pb-2\">
<span>Categories:</span>
{{ range $idx, $category := . }}
{{- if ne $idx 0 }}{{ end }}
<a class=\"p-category\" href=\"{{ \"categories/\" | relURL }}{{ $category | urlize }}\">
{{ $category }}
</a>
{{- end }}
</div>
</article>
{{ end }}
\n

\"Valid

Valid h-card parsed by IndieWebify.me

\n

\n

At this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.

\n\n

4. Add Webmentions

\n#\n

After I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?

\n

Webmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.

\n

For example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.

\n

Sounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.

\n

I found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.

\n

This would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.

\n

After Go-Jamming was running on my server, I added the Webmention endpoints.

\n
<link rel=\"webmention\" href=\"https://jam.chringel.dev/webmention\" />
<link rel=\"pingback\" href=\"https://jam.chringel.dev/pingback\" />
\n

Now all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.

\n

Two commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).

\n

My current (semi-automatic) workflow for parsing Webmentions goes like this:

\n
  1. (Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)
  2. \n
  3. When my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API
  4. \n
  5. Hugo processes the JSON file while building my site
  6. \n
\n

5. Syndication and Backfeed

\n#\n

One last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.

\n

The first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.

\n

The latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.

\n

Adding syndication markup is easy, it's just another microformat.

\n\n
{{ with .Params.syndication }} {{ range $silo, $url := . }}
<a href=\"{{ $url }}\" class=\"u-syndication\" rel=\"syndication\"
>
{{ title $silo }}</a
>

{{ end }} {{ end }}
\n

And add the links where you syndicated your post in the front matter.

\n\n
---
...
syndication:
mastodon: https://fosstodon.org/web/@chringel/...
twitter: https://twitter.com/DeEgge/status/...
...

---
\n

To achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.

\n\n

Next steps

\n#\n

What I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.

\n\n

Final thoughts

\n#\n

At this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.

\n

As I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.

\n

Also, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.

\n

Syndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.

\n

But in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!

", "text": "I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).\nThere wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.\n\nWhat's IndieWeb?\n#\n\nThe IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org\n\nThat's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?\nIn my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.\n\nHow does it work?\n#\nAlright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.\nI already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.\n\n1. Set up Web Sign In\n#\nIn order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.\nJust add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.\nHint: All code excerpts are reduced to a minimal working example.\n
\n {{ range .Site.Menus.social }}\n {{ .Name }} \n {{ end }}\n
\nNext, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.\n\n{{ with .Site.Params.indieweb }} {{ end }}\nI also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.\n\n2. Add author markup\n#\nNext step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.\n\n
\n

\n{{ .Site.Title }}\n {{ with .Site.Params.Hcard.Avatar }}\n\"\"\n {{ end }}\n {{ .Site.Params.Hcard.FullName }} \n

\n {{ with .Site.Params.Hcard.Biography }}\n

\n{{ . | markdownify }}\n

\n {{ end }}\n
\nAgain, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.\nValid h-card entry parsed by IndieWebify.me\n\n\n3. Add content markup\n#\nIf you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.\nIn this example, I add the following h-entry properties:\np-name - the post's title\ne-content - the post's content\np-author - who wrote the post\ndt-published - when the post was published\nu-url - the permalink to the post\np-category - categories or tags for the post\n{{ define \"main\" }}\n\n{{ end }}\nValid h-card parsed by IndieWebify.me\n\nAt this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.\n\n4. Add Webmentions\n#\nAfter I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?\nWebmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.\nFor example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.\nSounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.\nI found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.\nThis would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.\nAfter Go-Jamming was running on my server, I added the Webmention endpoints.\n\n\nNow all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.\nTwo commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).\nMy current (semi-automatic) workflow for parsing Webmentions goes like this:\n(Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)\nWhen my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API\nHugo processes the JSON file while building my site\n5. Syndication and Backfeed\n#\nOne last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.\nThe first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.\nThe latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.\nAdding syndication markup is easy, it's just another microformat.\n\n{{ with .Params.syndication }} {{ range $silo, $url := . }}\n{{ title $silo }}\n{{ end }} {{ end }}\nAnd add the links where you syndicated your post in the front matter.\n\n---\n...\nsyndication:\nmastodon: https://fosstodon.org/web/@chringel/...\ntwitter: https://twitter.com/DeEgge/status/...\n...\n---\nTo achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.\n\nNext steps\n#\nWhat I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.\n\nFinal thoughts\n#\nAt this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.\nAs I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.\nAlso, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.\nSyndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.\nBut in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!"}, "mention-of": "https://fundor333.com/post/2022/indieweb-webmention-and-h-entry-in-my-blog/", "wm-property": "mention-of", "wm-private": false, "rels": {"canonical": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/"}}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "New Technologies\nSome time ago I implemented Coil on this site. If you have not heard of Coil, and odds are you have not, you will understand why I am not using it on the site now. The idea behind it, however, was good. Monetizing content creators or independent authors is what it is supposed to do, but requires a \u201cbuy-in\u201d of five dollars monthly. Since I have had months where five dollars was the difference between making rent or missing it, and because there was not wide adoption of Coil, I stopped using it. Lightning, however, is a blockchain that does not require a \u201cbuy-in\u201d and allows a set amount to \u201cflow out to\u201d websites a person wants to support at a given rate using website plugin crypto wallets like Alby. Since no one hardly used the previous donate link in a traditional sense to help support content that appears on this blog, I got rid of it. I added a webring link instead in a homage to \u201cold school\u201d blogging, where one kept track of others who wrote by belonging to groups where the notices of new posts and comments were \u201ctight\u201d. Both of these measures are in strong support of \u201cThe Independent Web\u201d.\nIndieAuth Blogs\nAlso, this blog has a lot more capability than I have previously utilized, because I am somewhat \u201cless social\u201d than most technology users are. I got rid of Facebook some time ago and never really enjoyed it or Myspace that much with which to start. Twitter was a non-starter for me at inception, since I prefer longer communications that require a person to focus.\nI strongly feel and believe that authors and users should own their own information. Meta-data harvesting and selling ought to be a criminal enterprise. So, this blog has features that allow it to participate in the \u201cindieweb\u201d which means that it can act as something like a hub for any communication I decide to allow it to. A big part of that participation is called a \u201cwebmention\u201d which is analogous to the \u201cpingbacks\u201d of yesteryear. Mostly, they notify you when someone has linked to your post, and they allow you to display whatever was linked on your page. So, if someone webmentions you in a Twitter post, suddenly you will receive a notification about it on the appropriate post. In academia this is a little like \u201cciting the source\u201d and is desirable when someone is quoting something you have said. That way, you can go on Twitter or wherever it was said, and have a \u201cflame war\u201d where nobody agrees and everybody leaves sad and upset. Yes, I jest, but remember, this IS the internet everybody made!\nGeek Technical Stuff\nIn order to enable webmentions, I had to do some digging about as my site is statically generated. This great post over at Fundor 333\u2019s helped me out although it left off the important part about including the partial in the webcontent thusly: {{ partial \"webmentions.html\" . }} I am not really sure if that small period is always required, but I know it was for my specific template in a file called single.html located in a _default folder. It is important to remember to copy this file and mirror it outside the theme file within a Hugo directory structure since anything outside of the theme that mimics its form will override the default. Also, the webmentions.min.js file had to go in the public directory for the sake of Gitlab. That took a little while to figure out.\nAlby, on the other hand, was as simple as adding a header tag and enabling it. So that wasn\u2019t too bad.\nTechnology Prophecy Stuff\nImplementing all of this made me have to question what technology I think others are likely to use and how it might work with this little blog. Everything is always such a frothing sea of change in technology that it feels a little like going to Vegas and playing the slots. The goal, of course, is to be able to receive some kind of money for content that is all ready developed and that others believe is good enough to read. This enables future content to be generated on a \u201cI can develop content and also make enough pocket change to continue to do so\u201d. If that isn\u2019t doable then at least being a part of some kind of community of people who are fighting for that future ought to provide some kind of emotional payoff. After all, altruism usually at least gives you that \u201cwarm, fuzzy, feeling\u201d right?\nIn thinking about the technology and how I am never sure it is moving us toward a \u201cbetter world\u201d I was reminded of the Hopi Prophecy but especially of a couple of lines that talk about how an individual will be able to tell the end is near:\n\n\u201cThis is the Fourth Sign: The land will be crossed by snakes of iron. (Railroad Tracks)\n\u201cThis is the Fifth Sign: The land shall be crisscrossed by a giant spider\u2019s web. (Electric power and telephone lines)\n\nsource: https://wolfruck.com/the-nine-signs-of-white-feather-hopi-prophecy/\nHelpful parenthetical to the contrary, the second clue could easily be referring to the internet as opposed to electric power and telephone lines alone. It is, after all, called a \u201cweb\u201d.\nAny of the above technologies can and all ready have been used to make the life of human beings worse. Bitcoin may seem great because it is not regulated, but if it did in fact become regulated, it could be something used as a Mark of the Beast in a way paper money never could. The same thing is true of the internet. It has been seen as a fun little playground of information for some time, but it also has been in the middle of election frauds and domestic surveillance. A technological savior in a moment is, at another moment, a cruel, tyrannical despot.\nSo I guess you could say, I am beyond the \u201cI\u2019m so excited for this technology and hopeful\u201d and more at the \u201cHow are we also going to mess this up\u201d stage of technology. However, I think it wise to prepare for things going better than one anticipates in addition to not being surprised at the worst case scenario. If there has been anything being in tech and humanity and around Prophetic utterances has taught me, it must be that people are mostly a bi-polar, suicidal lot that think that there is ultimately no consequence for their actions until it is far, far too late. By the point everyone is appropriately sorry, there is all ready enough trauma to keep therapists in luxury cars and boats for years. Of course, that assumes that whatever happens leaves some therapists around. The kind of trauma we appear to be moving toward is the kind that leaves a psychic, collective scar in the soul memory for eons. But hey, at least we had \u201cdigital money\u201d and \u201cWebrings\u201d right?", "link": "https://www.jbschirtzinger.com/post/2023new/", "author_name": "jbschirtzinger", "author_photo": "", "author_url": "https://jbschirtzinger.com/"}, {"content": "I actually can't recall anymore, what got me started with this whole IndieWeb thing. According to my browser history, I visited IndieWeb.org on June 15, 2022, so around a month ago. I read up on Miriam Suzanne's hugely popular post Am I on the IndieWeb Yet? and searched Google for \"hugo indieweb\" in the hopes there was some kind of recipe to get me started on my static page (I'm a developer and after all *let's say it all together* developers are lazy).\nThere wasn't THE ONE answer I was hoping for, but instead lot's and lot's of blog posts by people describing their way of getting into the IndieWeb. I was overwhelmed and intrigued at the same time, so I let it rest for a couple of days - four, to be exact. The afternoon of June 20, 2022, I went deep, even deeper than Jamiroquai, into the rabbit hole that is The IndieWeb. Let's retrace my steps through said browser history and commits.\n\nWhat's IndieWeb?\n#\n\nThe IndieWeb is a people-focused alternative to the 'corporate web'. - IndieWeb.org\n\nThat's what it says on the cover. It's about owning your content, sharing your thoughts and ideas in one place and then syndicating it to other (social) platforms. What if Twitter, for example, will be bought by a stupidly rich philanthropist who decides to shut it down? Where will all your tweets go?\nIn my opinion, your Twitter or your Facebook profile should not be your digital identity, owned by a tech company. You should be the sole owner of the content you share online. And that's what IndieWeb encourages people to do.\n\nHow does it work?\n#\nAlright, from here on, I'll be outlining which steps I took, to make my website ready for the IndieWeb.\nI already owned a domain and space to host a site, so that's a given, though I wasn't aware of it being an actual requirement to \"become a citizen of the IndieWeb\". I first stumbled upon Amit Gawande's post IndieWebify Your Hugo Website, because this site is also generated using Hugo. I actually wrote the theme myself, so making changes to it's markup wouldn't be a problem.\n\n1. Set up Web Sign In\n#\nIn order to authenticate yourself as the owner of your website using your domain, you will need to set up means to sign in via IndieAuth. That means you use your domain to verify yourself as the owner of your other social profiles.\nJust add a rel=me microformat to all your links leading to your profiles on other platforms. That's actually the first thing I changed and made a commit for.\nHint: All code excerpts are reduced to a minimal working example.\n
\n {{ range .Site.Menus.social }}\n {{ .Name }} \n {{ end }}\n
\nNext, I added an authorization endpoint to validate my identity. There are different services, but IndieAuth.com seems to be the go to solution.\n\n{{ with .Site.Params.indieweb }} {{ end }}\nI also read about it on Ana Ulin's post Using Your Site As Your Login. I went back to her posts about IndieWeb a couple of times during my journey.\n\n2. Add author markup\n#\nNext step was to actually provide some basic information about myself, on my website. Sure, I already had an About page, but that's not machine readable. The h-card microformat provides properties that can be parsed. Here's the commit.\n\n
\n

\n{{ .Site.Title }}\n {{ with .Site.Params.Hcard.Avatar }}\n\"\"\n {{ end }}\n {{ .Site.Params.Hcard.FullName }} \n

\n {{ with .Site.Params.Hcard.Biography }}\n

\n{{ . | markdownify }}\n

\n {{ end }}\n
\nAgain, this is a minimal example. There are many more properties that can be added. This is where I found IndieWebify.me, a nice guide to check whether your site is ready for the IndieWeb.\nValid h-card entry parsed by IndieWebify.me\n\n\n3. Add content markup\n#\nIf you want to publish content on the IndieWeb, it has to be machine readable as well. I added more markup, this time to my post templates. That's the h-entry microformat. IndieWebify.me was a huge helper for this step. A couple of commits and iterations later, my content was recognized correctly.\nIn this example, I add the following h-entry properties:\np-name - the post's title\ne-content - the post's content\np-author - who wrote the post\ndt-published - when the post was published\nu-url - the permalink to the post\np-category - categories or tags for the post\n{{ define \"main\" }}\n\n{{ end }}\nValid h-card parsed by IndieWebify.me\n\nAt this point, my content is correctly marked up to be consumed by the IndieWeb. This was all relatively easy. The next step was a little bit more challenging, because it meant working on the backend.\n\n4. Add Webmentions\n#\nAfter I read Fundor 333's post How I implement Indieweb, Webmention and H Entry in My Blog I was wondering: What are Webmentions?\nWebmentions are a W3C recommendation for conversations and interactions across websites. It's a simple way to notify an URL when it is mentioned i.e. by me or on my site. It is basically a way of interacting with other people's content from your website.\nFor example: I read a super interesting post on another blog and I want to reply to it, or show my appreciation by reacting to it. I can do that, by writing a post on my site, referencing that other post and add markup indicating this is a response or a like. I can then send a Webmention to that other blog, telling it I reacted to it from my website.\nSounds complicated? Well, it's just like Twitter, where you react to a tweet by commenting or liking it.\nI found out there's an easy way to set up Webmentions: Webmention.io, written and maintained by Aaron Parecki. It's a service that handles Webmentions, simply by using Web Sign-In and adding some endpoints as links to your website.\nThis would work perfectly as kind of a plug-and-play solution for my theme for others to use. But I'm more the guy who likes to self-host stuff. The list of publisher services on indieweb.org has some alternatives for sending and receiving Webmentions. I settled with Go-Jamming by Wouter Groeneveld. It's a really well written replacement for Webmention.io. Also his post Host your own webmention receiver was most helpful.\nAfter Go-Jamming was running on my server, I added the Webmention endpoints.\n\n\nNow all that was missing was a way to display them. I read through several blog posts how to render Webmentions in a static site: Jessica Smith's post How I Integrated Webmentions Into My Hugo Static Site, Keith Grant's post Adding Webmention Support to a Static Site and of course Wouter Groeneveld's post that I already mentioned.\nTwo commits later I had markup for displaying responses (as in comments) and reactions (as in favorites, reposts...).\nMy current (semi-automatic) workflow for parsing Webmentions goes like this:\n(Watch the feed for incoming Webmentions at https://jam.chringel.dev/feed/)\nWhen my site is built with Github Actions, fire up a simple node.js script to fetch Webmentions as JSON from the API\nHugo processes the JSON file while building my site\n5. Syndication and Backfeed\n#\nOne last peace to the puzzle were two terms I came across while reading all those posts that seemed to belong together: POSSE and backfeed.\nThe first means publishing your content on your own site first, and then post links on other (social) platforms (Publish on your Own Site, Syndicate Elsewhere), for example tweeting about your post with a link to your site.\nThe latter describes the process of pulling in interactions of your POSSE copies to the original post. So, if someone comments on a tweet with the link to your post, it actually gets reverse syndicated to your site as a Webmention.\nAdding syndication markup is easy, it's just another microformat.\n\n{{ with .Params.syndication }} {{ range $silo, $url := . }}\n{{ title $silo }}\n{{ end }} {{ end }}\nAnd add the links where you syndicated your post in the front matter.\n\n---\n...\nsyndication:\nmastodon: https://fosstodon.org/web/@chringel/...\ntwitter: https://twitter.com/DeEgge/status/...\n...\n---\nTo achieve backfeed, I use a service called brid.gy. Once you are authenticated \"Bridgy polls your silo posts, discovers original post links, and sends comments to those links as webmentions\" (How to use). It automatically scrapes your site and checks links in your tweets or toots if they have a Webmention endpoint to notify them, when they are mentioned. It works quite well for what I want to achieve, which is displaying reactions to my posts from other platforms on my website.\n\nNext steps\n#\nWhat I'm currently missing is a way of having IndieWeb conversations (IndieWeb level 3, according to IndieWebify.me). For that, I would like to implement a content type notes, short posts as a way to react to other people's posts. There are also microformats for that: in-reply-to, u-like-of and u-repost-of.\n\nFinal thoughts\n#\nAt this point, I'm a Level 2 IndieWeb citizen. I can use Web Sign-In with my site, I marked up content using microformats and I can send and receive Webmentions to and from other IndieWeb sites.\nAs I said before, there is no out-of-the-box solution for making your website ready for the IndieWeb. It involves a lot of customization, fiddling with services and setting up endpoints.\nAlso, I think my Webmention workflow is lacking. I need to implement a way to automatically rebuilt my site when new Webmentions are coming in.\nSyndication is another troubling topic. The process is a bit convoluted, and I'm not sure I'm doing this right. You see, I have to first publish my post, let my site be built, then syndicate the link (tweet it on Twitter, toot it on Mastodon), then add those tweet- and toot-links to my post and republish my site. If there's a better way, I still haven't found it.\nBut in the end I'm quite happy with what I've accomplished. Ever since I started this journey IndieWeb-things kept popping in my head at the weirdest of times, and I'm content with the way things are right now. I resurfaced from the rabbit hole. Glad to be back!", "link": "https://chringel.dev/2022/07/indiewebify-me-and-dont-forget-my-webmentions/", "author_name": "Christian Engel", "author_photo": "https://chringel.dev/img/vqjxFKbWTk-200.webp", "author_url": "https://chringel.dev/about/"}]}} \ No newline at end of file diff --git a/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json b/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json index 8faae653..c71c7902 100644 --- a/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json +++ b/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@fundor333/113907209418985626#favorited-by-299643", "published": null, "wm-received": "2025-01-28T19:59:22Z", "wm-id": 1880921, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113907209418985626/299643", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgszasvubq2r", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:48:55Z", "wm-id": 1880902, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "content": {"html": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "text": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgsytoy6n625", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:45:16Z", "wm-id": 1880901, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "photo": ["https://shiitake.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:u7piwonv4s27ysugjaa6im2q&cid=bafkreibck66w5xlhmxp2iwghsx2syj25vj2s6333qlnm2zyjcqbzi6a3qe"], "content": {"html": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "text": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}, {"content": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgsytoy6n625", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:45:16Z", "wm-id": 1880901, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "photo": ["https://shiitake.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:u7piwonv4s27ysugjaa6im2q&cid=bafkreibck66w5xlhmxp2iwghsx2syj25vj2s6333qlnm2zyjcqbzi6a3qe"], "content": {"html": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "text": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@fundor333/113907209418985626#favorited-by-299643", "published": null, "wm-received": "2025-01-28T19:59:22Z", "wm-id": 1880921, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113907209418985626/299643", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgszasvubq2r", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:48:55Z", "wm-id": 1880902, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "content": {"html": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "text": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}, {"content": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}]}} \ No newline at end of file diff --git a/data/webmentions/414190aca3b47e49096a23f4cfa63689.json b/data/webmentions/414190aca3b47e49096a23f4cfa63689.json index 7abbc1fa..81bfe6e7 100644 --- a/data/webmentions/414190aca3b47e49096a23f4cfa63689.json +++ b/data/webmentions/414190aca3b47e49096a23f4cfa63689.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi \ud83e\udd95", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:25Z", "wm-id": 1845510, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:24Z", "wm-id": 1845509, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:23Z", "wm-id": 1845508, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:26Z", "wm-id": 1845511, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 4, "comments": [{"content": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "author_name": "Andrea Grandi \ud83e\udd95", "author_photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "author_url": "https://mastodon.social/@andreagrandi"}, {"content": "@andreagrandi yep ed \u00e8 dove faccio la spesa", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "author_name": "Fundor333", "author_photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "author_url": "https://mastodon.social/@fundor333"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:24Z", "wm-id": 1845509, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:23Z", "wm-id": 1845508, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:26Z", "wm-id": 1845511, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi \ud83e\udd95", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:25Z", "wm-id": 1845510, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 4, "comments": [{"content": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "author_name": "Andrea Grandi ????", "author_photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "author_url": "https://mastodon.social/@andreagrandi"}, {"content": "@andreagrandi yep ed \u00e8 dove faccio la spesa", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "author_name": "Fundor333", "author_photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "author_url": "https://mastodon.social/@fundor333"}]}} \ No newline at end of file diff --git a/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json b/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json index 7c44be65..2b97e594 100644 --- a/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json +++ b/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "POP Culture Now", "photo": "https://avatars.webmention.io/cdn.bsky.app/91a77a7c94a2ccf8d4936330590d04a4879ae91018fc0c3f6c74974457f71291.jpg", "url": "https://bsky.app/profile/popculturenow.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:l73qmlket35rholtb4bj3uww", "published": null, "wm-received": "2024-08-05T13:25:31Z", "wm-id": 1841623, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Al73qmlket35rholtb4bj3uww", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kywmxsskkk2t", "published": "2024-08-05T00:26:48+00:00", "wm-received": "2024-08-05T00:26:52Z", "wm-id": 1841584, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "text": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:02Z", "wm-id": 1843408, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "ac (bluesky verified rude bitch)", "photo": "https://avatars.webmention.io/cdn.bsky.app/bd8d1dc1e85bf90b22324686903e9643c3e167821e7936f888ff2aece940636c.jpg", "url": "https://bsky.app/profile/amateurcrastinator.com"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:sbswaj5gkbeumzfvjgyytuqo", "published": null, "wm-received": "2024-08-05T01:40:11Z", "wm-id": 1841587, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Asbswaj5gkbeumzfvjgyytuqo", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\u200e", "photo": "https://avatars.webmention.io/cdn.bsky.app/00e0e7e5fb92568e4cdc1f9da2327d0282eff437e7b31683fe7a114222b7d7c7.jpg", "url": "https://bsky.app/profile/renoviana.dev"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:32ejvo3lggl47tlvhzn35td7", "published": null, "wm-received": "2024-08-05T00:57:56Z", "wm-id": 1841586, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253A32ejvo3lggl47tlvhzn35td7", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Salva Rivas", "photo": "https://avatars.webmention.io/cdn.bsky.app/51492fc81fc987141a26f2ed91fe3eebeebc02652eba5b078b4bf175e89c0f09.jpg", "url": "https://bsky.app/profile/srivas.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:rmighyqfgqo37snbbv46xkkd", "published": null, "wm-received": "2024-08-05T00:57:55Z", "wm-id": 1841585, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Armighyqfgqo37snbbv46xkkd", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 5, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:02Z", "wm-id": 1843408, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Salva Rivas", "photo": "https://avatars.webmention.io/cdn.bsky.app/51492fc81fc987141a26f2ed91fe3eebeebc02652eba5b078b4bf175e89c0f09.jpg", "url": "https://bsky.app/profile/srivas.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:rmighyqfgqo37snbbv46xkkd", "published": null, "wm-received": "2024-08-05T00:57:55Z", "wm-id": 1841585, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Armighyqfgqo37snbbv46xkkd", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kywmxsskkk2t", "published": "2024-08-05T00:26:48+00:00", "wm-received": "2024-08-05T00:26:52Z", "wm-id": 1841584, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "text": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "POP Culture Now", "photo": "https://avatars.webmention.io/cdn.bsky.app/91a77a7c94a2ccf8d4936330590d04a4879ae91018fc0c3f6c74974457f71291.jpg", "url": "https://bsky.app/profile/popculturenow.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:l73qmlket35rholtb4bj3uww", "published": null, "wm-received": "2024-08-05T13:25:31Z", "wm-id": 1841623, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Al73qmlket35rholtb4bj3uww", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "ac (bluesky verified rude bitch)", "photo": "https://avatars.webmention.io/cdn.bsky.app/bd8d1dc1e85bf90b22324686903e9643c3e167821e7936f888ff2aece940636c.jpg", "url": "https://bsky.app/profile/amateurcrastinator.com"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:sbswaj5gkbeumzfvjgyytuqo", "published": null, "wm-received": "2024-08-05T01:40:11Z", "wm-id": 1841587, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Asbswaj5gkbeumzfvjgyytuqo", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\u200e", "photo": "https://avatars.webmention.io/cdn.bsky.app/00e0e7e5fb92568e4cdc1f9da2327d0282eff437e7b31683fe7a114222b7d7c7.jpg", "url": "https://bsky.app/profile/renoviana.dev"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:32ejvo3lggl47tlvhzn35td7", "published": null, "wm-received": "2024-08-05T00:57:56Z", "wm-id": 1841586, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253A32ejvo3lggl47tlvhzn35td7", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 5, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file diff --git a/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json b/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json index afeaad9e..27457fdc 100644 --- a/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json +++ b/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#favorited-by-112349892458455305", "published": null, "wm-received": "2025-01-20T20:03:08Z", "wm-id": 1877825, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#reblogged-by-112349892458455305", "published": null, "wm-received": "2025-01-20T19:52:47Z", "wm-id": 1877823, "wm-source": "https://brid.gy/repost/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "repost-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "repost-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": []}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#reblogged-by-112349892458455305", "published": null, "wm-received": "2025-01-20T19:52:47Z", "wm-id": 1877823, "wm-source": "https://brid.gy/repost/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "repost-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "repost-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#favorited-by-112349892458455305", "published": null, "wm-received": "2025-01-20T20:03:08Z", "wm-id": 1877825, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": []}} \ No newline at end of file diff --git a/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json b/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json index 9d6043b1..aa9a0a86 100644 --- a/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json +++ b/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Rahul", "photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "url": "https://twitter.com/rahul05ranjan"}, "url": "https://twitter.com/rahul05ranjan/status/1548774073832198144", "published": "2022-07-17T20:58:08+00:00", "wm-received": "2022-07-17T22:37:48Z", "wm-id": 1435273, "wm-source": "https://brid.gy/repost/twitter/fundor333/1548774048875806720/1548774073832198144", "wm-target": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-protocol": "webmention", "content": {"text": "\ud83d\udd16 Auto setup remote branch and never again see an error about the missing upstream | pawelgrzybek.com fundor333.com/social/2022/07\u2026 #git #develop #programming"}, "repost-of": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-property": "repost-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Rahul", "photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "url": "https://twitter.com/rahul05ranjan"}, "url": "https://twitter.com/fundor333/status/1548774048875806720#favorited-by-411419084", "published": null, "wm-received": "2022-08-02T20:47:27Z", "wm-id": 1448702, "wm-source": "https://brid.gy/like/twitter/fundor333/1548774048875806720/411419084", "wm-target": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": [{"content": "\ud83d\udd16 Auto setup remote branch and never again see an error about the missing upstream | pawelgrzybek.com fundor333.com/social/2022/07\u2026 #git #develop #programming", "link": "https://brid.gy/repost/twitter/fundor333/1548774048875806720/1548774073832198144", "author_name": "Rahul", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "author_url": "https://twitter.com/rahul05ranjan"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Rahul", "photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "url": "https://twitter.com/rahul05ranjan"}, "url": "https://twitter.com/fundor333/status/1548774048875806720#favorited-by-411419084", "published": null, "wm-received": "2022-08-02T20:47:27Z", "wm-id": 1448702, "wm-source": "https://brid.gy/like/twitter/fundor333/1548774048875806720/411419084", "wm-target": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Rahul", "photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "url": "https://twitter.com/rahul05ranjan"}, "url": "https://twitter.com/rahul05ranjan/status/1548774073832198144", "published": "2022-07-17T20:58:08+00:00", "wm-received": "2022-07-17T22:37:48Z", "wm-id": 1435273, "wm-source": "https://brid.gy/repost/twitter/fundor333/1548774048875806720/1548774073832198144", "wm-target": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-protocol": "webmention", "content": {"text": "\ud83d\udd16 Auto setup remote branch and never again see an error about the missing upstream | pawelgrzybek.com fundor333.com/social/2022/07\u2026 #git #develop #programming"}, "repost-of": "https://fundor333.com/social/2022/07/17/auto-setup-remote-branch-and-never-again-see-an-error-about-the-missing-upstream--pawelgrzybekcom/", "wm-property": "repost-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": [{"content": "\ud83d\udd16 Auto setup remote branch and never again see an error about the missing upstream | pawelgrzybek.com fundor333.com/social/2022/07\u2026 #git #develop #programming", "link": "https://brid.gy/repost/twitter/fundor333/1548774048875806720/1548774073832198144", "author_name": "Rahul", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/703f3659749ffe49b61b1a2f94d0e991c67c4ac617e1dc34eeac4c3aee5d3a06.jpg", "author_url": "https://twitter.com/rahul05ranjan"}]}} \ No newline at end of file diff --git a/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json b/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json index 5eacedf7..60378833 100644 --- a/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json +++ b/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700841, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700840, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzealllupy2t", "published": "2024-08-10T10:22:29+00:00", "wm-received": "2024-08-10T10:22:31Z", "wm-id": 1842643, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "text": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700842, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:53Z", "wm-id": 1700843, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "@fundor333 Anch'io ho questo problema \ud83d\ude05", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "author_name": "Francesco Maida", "author_photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "author_url": "https://livellosegreto.it/@cesco"}, {"content": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzealllupy2t", "published": "2024-08-10T10:22:29+00:00", "wm-received": "2024-08-10T10:22:31Z", "wm-id": 1842643, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "text": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:53Z", "wm-id": 1700843, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700842, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700841, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700840, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}, {"content": "@fundor333 Anch'io ho questo problema \ud83d\ude05", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "author_name": "Francesco Maida", "author_photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "author_url": "https://livellosegreto.it/@cesco"}]}} \ No newline at end of file diff --git a/data/webmentions/f6bd4aad87a0230eceecdf9c95ba9112.json b/data/webmentions/f6bd4aad87a0230eceecdf9c95ba9112.json index 5d3031d6..e7a99175 100644 --- a/data/webmentions/f6bd4aad87a0230eceecdf9c95ba9112.json +++ b/data/webmentions/f6bd4aad87a0230eceecdf9c95ba9112.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Christian Engel", "photo": "https://chringel.dev/images/index_hu172747a4d2d97cd5fcea3a25375dec25_244334_200x200_fit_q75_h2_box_3.webp", "url": ""}, "url": "https://chringel.dev/2023/02/15/0917/", "published": "2023-02-15T09:18:00+01:00", "wm-received": "2023-02-15T08:25:29Z", "wm-id": 1623269, "wm-source": "https://chringel.dev/2023/02/15/0917/", "wm-target": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-protocol": "webmention", "summary": {"content-type": "text/plain", "value": "\ud83d\udcac Comment on https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/"}, "content": {"html": "

That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e

\n

And good luck on conquering the world! \ud83d\ude1c

", "text": "That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e\nAnd good luck on conquering the world! \ud83d\ude1c"}, "in-reply-to": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-property": "in-reply-to", "wm-private": false, "rels": {"canonical": "https://chringel.dev/2023/02/15/0917/"}}, {"type": "entry", "author": {"type": "card", "name": "Enrico Campagnol", "photo": "https://avatars.webmention.io/pbs.twimg.com/4bd9ff42800dd3e3aff600e8ea3436bfa2975053d64620bc81d8397e05aaa9bd.jpg", "url": "https://twitter.com/CampagnolEnrico"}, "url": "https://twitter.com/fundor333/status/1624833649265848320#favorited-by-1500398864708288514", "published": null, "wm-received": "2023-02-13T16:03:44Z", "wm-id": 1622159, "wm-source": "https://brid.gy/like/twitter/fundor333/1624833649265848320/1500398864708288514", "wm-target": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 1, "comments": [{"content": "That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e\nAnd good luck on conquering the world! \ud83d\ude1c", "link": "https://chringel.dev/2023/02/15/0917/", "author_name": "Christian Engel", "author_photo": "https://chringel.dev/images/index_hu172747a4d2d97cd5fcea3a25375dec25_244334_200x200_fit_q75_h2_box_3.webp", "author_url": ""}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Enrico Campagnol", "photo": "https://avatars.webmention.io/pbs.twimg.com/4bd9ff42800dd3e3aff600e8ea3436bfa2975053d64620bc81d8397e05aaa9bd.jpg", "url": "https://twitter.com/CampagnolEnrico"}, "url": "https://twitter.com/fundor333/status/1624833649265848320#favorited-by-1500398864708288514", "published": null, "wm-received": "2023-02-13T16:03:44Z", "wm-id": 1622159, "wm-source": "https://brid.gy/like/twitter/fundor333/1624833649265848320/1500398864708288514", "wm-target": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Christian Engel", "photo": "https://chringel.dev/images/index_hu172747a4d2d97cd5fcea3a25375dec25_244334_200x200_fit_q75_h2_box_3.webp", "url": ""}, "url": "https://chringel.dev/2023/02/15/0917/", "published": "2023-02-15T09:18:00+01:00", "wm-received": "2023-02-15T08:25:29Z", "wm-id": 1623269, "wm-source": "https://chringel.dev/2023/02/15/0917/", "wm-target": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-protocol": "webmention", "summary": {"content-type": "text/plain", "value": "\ud83d\udcac Comment on https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/"}, "content": {"html": "

That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e

\n

And good luck on conquering the world! \ud83d\ude1c

", "text": "That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e\nAnd good luck on conquering the world! \ud83d\ude1c"}, "in-reply-to": "https://fundor333.com/post/2023/02/more-stuff-i-do-with-webmention-micropub-and-bridgy/", "wm-property": "in-reply-to", "wm-private": false, "rels": {"canonical": "https://chringel.dev/2023/02/15/0917/"}}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 1, "comments": [{"content": "That is so cool, that you implemented a micropub server. Congrats! \ud83c\udf7e\nAnd good luck on conquering the world! \ud83d\ude1c", "link": "https://chringel.dev/2023/02/15/0917/", "author_name": "Christian Engel", "author_photo": "https://chringel.dev/images/index_hu172747a4d2d97cd5fcea3a25375dec25_244334_200x200_fit_q75_h2_box_3.webp", "author_url": ""}]}} \ No newline at end of file diff --git a/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json b/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json index 096305f7..087fff9a 100644 --- a/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json +++ b/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kzeuwzfkby2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:01Z", "wm-id": 1843407, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kzeuwzfkby2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzeuwzfkby2t", "published": "2024-08-10T16:26:47+00:00", "wm-received": "2024-08-10T16:26:50Z", "wm-id": 1842721, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "text": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzeuwzfkby2t", "published": "2024-08-10T16:26:47+00:00", "wm-received": "2024-08-10T16:26:50Z", "wm-id": 1842721, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "text": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kzeuwzfkby2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:01Z", "wm-id": 1843407, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kzeuwzfkby2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 5b9cc0aa..3d2b9a10 100644 --- a/poetry.lock +++ b/poetry.lock @@ -531,14 +531,14 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "weeknotebot" -version = "1.5.0" +version = "1.5.1" description = "A bot for generate WeekNote for Hugo" optional = false python-versions = ">=3.10" groups = ["main"] files = [ - {file = "weeknotebot-1.5.0-py3-none-any.whl", hash = "sha256:a74e087dd678832d614bf094a22bebcbda7c6fec9463a581a6365051330efa06"}, - {file = "weeknotebot-1.5.0.tar.gz", hash = "sha256:0eafcd24881fd7a5d1885ed4d49b6f6551e5979588dbf326e71d4b93d2083372"}, + {file = "weeknotebot-1.5.1-py3-none-any.whl", hash = "sha256:d9e9f57cb7995b066b555eb3ad06ea4298b3e858bf76e4dfd17cc3798a53b038"}, + {file = "weeknotebot-1.5.1.tar.gz", hash = "sha256:d61ab3d32500774c46d56dda27c7eba3704f955d21f3447f38c1e429fd0502d3"}, ] [package.dependencies] diff --git a/requirements.txt b/requirements.txt index f6d79c13..991dffe8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,4 +14,4 @@ requests==2.32.3 ; python_version >= "3.11" and python_version < "4.0" rich==13.9.4 ; python_version >= "3.11" and python_version < "4.0" sgmllib3k==1.0.0 ; python_version >= "3.11" and python_version < "4.0" urllib3==2.4.0 ; python_version >= "3.11" and python_version < "4.0" -weeknotebot==1.5.0 ; python_version >= "3.11" and python_version < "4.0" +weeknotebot==1.5.1 ; python_version >= "3.11" and python_version < "4.0" diff --git a/weeknote-config.json b/weeknote-config.json index 6a1afdab..e4fb5f10 100644 --- a/weeknote-config.json +++ b/weeknote-config.json @@ -1 +1,46 @@ -{"feeds": [{"url": "https://appletune.fundor333.com/api/feed/", "title": "Suggested Links/Posts"}, {"url": "https://www.fundor333.com/index.xml", "title": "New post from my blog"}, {"url": "https://newsletter.digitaltearoom.com/rss/", "title": "New post from my newsletter"}], "fix_links": [{"url": "https://www.fundor333.com", "title": "My blog"}, {"url": "https://newsletter.digitaltearoom.com", "title": "My newsletter"}, {"url": "https://ko-fi.com/fundor333", "title": "Support me"}], "generator": {"tag": "week note", "output": "content/weeknotes/", "fix_links_label": "My Links", "type_weeknote": "weeknote"}, "anilist": {"user_id": "fundor333"}, "goodread": {"user_id": "5312887-matteo", "shelf_name_code": "currently-reading", "shelf_name_label": "Currently Reading"}, "text_api": "https://appletune.fundor333.com/api/weekdone/?format=json"} \ No newline at end of file +{ + "anilist": { + "user_id": "fundor333" + }, + "feeds": [ + { + "title": "Suggested Links/Posts", + "url": "https://appletune.fundor333.com/api/feed/" + }, + { + "title": "New post from my blog", + "url": "https://www.fundor333.com/index.xml" + }, + { + "title": "New post from my newsletter", + "url": "https://newsletter.digitaltearoom.com/rss/" + } + ], + "fix_links": [ + { + "title": "My blog", + "url": "https://www.fundor333.com" + }, + { + "title": "My newsletter", + "url": "https://newsletter.digitaltearoom.com" + }, + { + "title": "Support me", + "url": "https://ko-fi.com/fundor333" + } + ], + "generator": { + "draft": false, + "fix_links_label": "My Links", + "output": "content/weeknotes/", + "tag": "week note", + "type_weeknote": "weeknote" + }, + "goodread": { + "shelf_name_code": "currently-reading", + "shelf_name_label": "Currently Reading", + "user_id": "5312887-matteo" + }, + "text_api": "https://appletune.fundor333.com/api/weekdone/?format=json" +}