diff --git a/.github/workflows/hugo_publisher.yml b/.github/workflows/hugo_publisher.yml index 59a3c11b..2b672378 100644 --- a/.github/workflows/hugo_publisher.yml +++ b/.github/workflows/hugo_publisher.yml @@ -36,7 +36,7 @@ jobs: name: Install dependencies runs-on: ubuntu-latest env: - HUGO_VERSION: 0.142.0 + HUGO_VERSION: 0.146.1 steps: - name: Install Hugo CLI run: | diff --git a/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json b/data/webmentions/0c1de081572e9864a2970cd48afa7b2e.json index 303b30a9..8ed5c269 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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 4c99a277..2de4e953 100644 --- a/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json +++ b/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 956f186f..b042b54f 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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 6a59cfff..c3969158 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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 d5a19c90..f26fa013 100644 --- a/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json +++ b/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 950f6b24..fbb8eabb 100644 --- a/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json +++ b/data/webmentions/c0398e8d051bd1f2a9e6ad27ff85bc81.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Rahul", "photo": "https://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 2162697c..61e369d1 100644 --- a/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json +++ b/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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 05b03909..71d28ca5 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://webmention.io/avatar/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://webmention.io/avatar/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 5fbc828e..be8b4def 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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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://webmention.io/avatar/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/package-lock.json b/package-lock.json index 8f76d331..f6b58957 100644 --- a/package-lock.json +++ b/package-lock.json @@ -149,9 +149,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001707", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", - "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", "funding": [ { "type": "opencollective", @@ -240,9 +240,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.129", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.129.tgz", - "integrity": "sha512-JlXUemX4s0+9f8mLqib/bHH8gOHf5elKS6KeWG3sk3xozb/JTq/RLXIv8OKUWiK4Ah00Wm88EFj5PYkFr4RUPA==", + "version": "1.5.136", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz", + "integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==", "license": "ISC" }, "node_modules/emoji-regex": { diff --git a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_1045263310115265876.json b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_1045263310115265876.json deleted file mode 100644 index 2f8ffd15..00000000 --- a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_1045263310115265876.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-08-03T18:13:41+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 5.600000670860214, - "BrightnessValue|*imagemeta.rat[int32]": "431/50", - "CreateDate": "2024:08:03 18:13:41", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 18:13:41", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/950", - "FNumber|*imagemeta.rat[uint32]": "28/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:19 00:13:49", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.001052631362406979, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json new file mode 100644 index 00000000..7cd4ad1a --- /dev/null +++ b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_db8f8025b43fc3e2.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T18:13:41+02:00","Tags":{"ApertureValue":5.600000670860214,"BrightnessValue|*imagemeta.rat[int32]":"431/50","CreateDate":"2024:08:03 18:13:41","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 18:13:41","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/950","FNumber|*imagemeta.rat[uint32]":"28/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:19 00:13:49","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.001052631362406979,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_hu7489659474049324803.jpg b/resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_hu_87e3fae94883a190.jpg similarity index 100% rename from resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_hu7489659474049324803.jpg rename to resources/_gen/images/photos/2024/campanile-from-murano-orange/DSCF0196_hu_87e3fae94883a190.jpg diff --git a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_14102087774028151708.json b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_14102087774028151708.json deleted file mode 100644 index f9f409b4..00000000 --- a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_14102087774028151708.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-07-02T16:15:14+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-23/25", - "CreateDate": "2024:07:02 16:15:14", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:02 16:15:14", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/60", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "640", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:47:45", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.016666661994953737, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json new file mode 100644 index 00000000..a71d7010 --- /dev/null +++ b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_7e609ddd31b126cf.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-07-02T16:15:14+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-23/25","CreateDate":"2024:07:02 16:15:14","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:02 16:15:14","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/60","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"640","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:47:45","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.016666661994953737,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/green-teapot/DSCF0134_hu10696686349227903056.jpg b/resources/_gen/images/photos/2024/green-teapot/DSCF0134_hu_dd231fb3b90dac79.jpg similarity index 100% rename from resources/_gen/images/photos/2024/green-teapot/DSCF0134_hu10696686349227903056.jpg rename to resources/_gen/images/photos/2024/green-teapot/DSCF0134_hu_dd231fb3b90dac79.jpg diff --git a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_2985198149183147228.json b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_2985198149183147228.json deleted file mode 100644 index 866dda0a..00000000 --- a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_2985198149183147228.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-06-30T01:34:05+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-579/100", - "CreateDate": "2024:06:30 01:34:05", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:34:05", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/30", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "12800", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:41:33", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.033333323989907473, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json new file mode 100644 index 00000000..777f4412 --- /dev/null +++ b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_f96cb08fdf5d321f.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:34:05+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-579/100","CreateDate":"2024:06:30 01:34:05","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:34:05","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/30","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"12800","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:41:33","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.033333323989907473,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_hu6813054255102770418.jpg b/resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_hu_271f263d7df0de74.jpg similarity index 100% rename from resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_hu6813054255102770418.jpg rename to resources/_gen/images/photos/2024/hunting-at-night-in-venice/IMG_0663_hu_271f263d7df0de74.jpg diff --git a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_12509993600830099858.json b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_12509993600830099858.json deleted file mode 100644 index 69e087b5..00000000 --- a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_12509993600830099858.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Exif": { - "Date": "2024-12-22T00:34:40+01:00", - "Lat": 45.429491666666664, - "Long": 12.326361666666667, - "Tags": { - "ApertureValue": 1.499999999250199, - "BrightnessValue|*imagemeta.rat[int32]": "-19509/6919", - "Copyright": "© fundor333", - "CreateDate": "2024:12:22 00:34:40", - "DateTimeOriginal": "2024:12:22 00:34:40", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/25", - "FNumber|*imagemeta.rat[uint32]": "3/2", - "FocalLengthIn35mmFormat|uint16": "26", - "FocalLength|*imagemeta.rat[uint32]": "57/10", - "ISO|uint16": "1000", - "LensInfo": "1.5399999618512084 5.699999809263318 1.5 2.4", - "LensMake": "Apple", - "LensModel": "iPhone 14 back dual wide camera 5.7mm f/1.5", - "Make": "Apple", - "Model": "iPhone 14", - "ModifyDate": "2024:12:23 12:41:02", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "ShutterSpeedValue": 0.040000005261672945, - "Software": "Adobe Lightroom 10.1.1 (iOS)", - "SubSecTimeDigitized|int": "347", - "SubSecTimeOriginal|int": "347", - "SubjectArea": "2006 1506 2213 1327" - } - } -} diff --git a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json new file mode 100644 index 00000000..f96eebcb --- /dev/null +++ b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_d4b7e7baf50f1bb6.json @@ -0,0 +1 @@ +{"Exif":{"Lat":45.429491666666664,"Long":12.326361666666667,"Date":"2024-12-22T00:34:40+01:00","Tags":{"ApertureValue":1.499999999250199,"BrightnessValue|*imagemeta.rat[int32]":"-19509/6919","Copyright":"© fundor333","CreateDate":"2024:12:22 00:34:40","DateTimeOriginal":"2024:12:22 00:34:40","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/25","FNumber|*imagemeta.rat[uint32]":"3/2","FocalLengthIn35mmFormat|uint16":"26","FocalLength|*imagemeta.rat[uint32]":"57/10","ISO|uint16":"1000","LensInfo":"1.5399999618512084 5.699999809263318 1.5 2.4","LensMake":"Apple","LensModel":"iPhone 14 back dual wide camera 5.7mm f/1.5","Make":"Apple","Model":"iPhone 14","ModifyDate":"2024:12:23 12:41:02","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","ShutterSpeedValue":0.040000005261672945,"Software":"Adobe Lightroom 10.1.1 (iOS)","SubSecTimeDigitized|int":"347","SubSecTimeOriginal|int":"347","SubjectArea":"2006 1506 2213 1327"}}} diff --git a/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_hu10343226313987443832.jpg b/resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_hu_6d62852a8281471e.jpg similarity index 100% rename from resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_hu10343226313987443832.jpg rename to resources/_gen/images/photos/2024/light-on-the-red-house/IMG_5733_hu_6d62852a8281471e.jpg diff --git a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_9480879989806749265.json b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_9480879989806749265.json deleted file mode 100644 index 9b90b16c..00000000 --- a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_9480879989806749265.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-07-22T00:33:19+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-227/50", - "CreateDate": "2024:07:22 00:33:19", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:22 00:33:19", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "6400", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:17 00:02:07", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json new file mode 100644 index 00000000..415c5561 --- /dev/null +++ b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_b5c2e1d8993e9126.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-07-22T00:33:19+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-227/50","CreateDate":"2024:07:22 00:33:19","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:22 00:33:19","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"6400","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:17 00:02:07","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_hu11142646240071856281.jpg b/resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_hu_27760818f3d7c388.jpg similarity index 100% rename from resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_hu11142646240071856281.jpg rename to resources/_gen/images/photos/2024/moon-of-middle-summer/moon-sleeping-cloud_hu_27760818f3d7c388.jpg diff --git a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_5621337396585245349.json b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_5621337396585245349.json deleted file mode 100644 index 4f4b3712..00000000 --- a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_5621337396585245349.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-08-18T23:12:59+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-589/100", - "CreateDate": "2024:08:18 23:12:59", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:18 23:12:59", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "27", - "FocalLength|*imagemeta.rat[uint32]": "18", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:58:04", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "3", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json new file mode 100644 index 00000000..0efe4757 --- /dev/null +++ b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_cff2e6eed4d95a73.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-18T23:12:59+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-589/100","CreateDate":"2024:08:18 23:12:59","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:18 23:12:59","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"27","FocalLength|*imagemeta.rat[uint32]":"18","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:58:04","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"3","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_hu11204342624665069155.jpg b/resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_hu_3af7171ecb991a6.jpg similarity index 100% rename from resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_hu11204342624665069155.jpg rename to resources/_gen/images/photos/2024/moon-palace-and-still-water/DSCF0200_hu_3af7171ecb991a6.jpg diff --git a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_5064395197238622230.json b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_5064395197238622230.json deleted file mode 100644 index 2c1ae6bd..00000000 --- a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_5064395197238622230.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-08-03T18:36:34+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 5.600000670860214, - "BrightnessValue|*imagemeta.rat[int32]": "939/100", - "CreateDate": "2024:08:03 18:36:34", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 18:36:34", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/850", - "FNumber|*imagemeta.rat[uint32]": "28/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:19 00:13:48", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "1", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.0011764706135352194, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json new file mode 100644 index 00000000..f525de68 --- /dev/null +++ b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_d111665b538f1dcb.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T18:36:34+02:00","Tags":{"ApertureValue":5.600000670860214,"BrightnessValue|*imagemeta.rat[int32]":"939/100","CreateDate":"2024:08:03 18:36:34","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 18:36:34","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/850","FNumber|*imagemeta.rat[uint32]":"28/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:19 00:13:48","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"1","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.0011764706135352194,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_hu17618836226227715003.jpg b/resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_hu_7544e09bfc0a07b5.jpg similarity index 100% rename from resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_hu17618836226227715003.jpg rename to resources/_gen/images/photos/2024/murano-church-also-orange/DSCF0198_hu_7544e09bfc0a07b5.jpg diff --git a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json new file mode 100644 index 00000000..b8c62959 --- /dev/null +++ b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_36d1423007229f28.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:31:49+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-19/5","CreateDate":"2024:06:30 01:31:49","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:31:49","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/125","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"12800","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:30 02:34:39","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.008000001578501939,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_8132794018680201787.json b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_8132794018680201787.json deleted file mode 100644 index 728a2048..00000000 --- a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_8132794018680201787.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-06-30T01:31:49+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-19/5", - "CreateDate": "2024:06:30 01:31:49", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:31:49", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/125", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "12800", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:30 02:34:39", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.008000001578501939, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_hu8810003437787615480.jpg b/resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_hu_a6caf5b8f7724be3.jpg similarity index 100% rename from resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_hu8810003437787615480.jpg rename to resources/_gen/images/photos/2024/near-indiana-johns-library/DSCF0070_hu_a6caf5b8f7724be3.jpg diff --git a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_15085694576175521579.json b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_15085694576175521579.json deleted file mode 100644 index a22f5911..00000000 --- a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_15085694576175521579.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-08-03T15:33:26+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4.499999995501194, - "BrightnessValue|*imagemeta.rat[int32]": "977/100", - "CreateDate": "2024:08:03 15:33:26", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:08:03 15:33:26", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/2400", - "FNumber|*imagemeta.rat[uint32]": "9/2", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "320", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:56:43", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "2", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.00041666657727838156, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json new file mode 100644 index 00000000..6482d538 --- /dev/null +++ b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_d8c0d0897890bfa1.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-08-03T15:33:26+02:00","Tags":{"ApertureValue":4.499999995501194,"BrightnessValue|*imagemeta.rat[int32]":"977/100","CreateDate":"2024:08:03 15:33:26","CustomRendered|uint16":"0","DateTimeOriginal":"2024:08:03 15:33:26","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/2400","FNumber|*imagemeta.rat[uint32]":"9/2","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"320","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:56:43","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"2","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.00041666657727838156,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_hu13409242664996757253.jpg b/resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_hu_311744639e8eca89.jpg similarity index 100% rename from resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_hu13409242664996757253.jpg rename to resources/_gen/images/photos/2024/on-the-shoulders-of-giants/DSCF0194_hu_311744639e8eca89.jpg diff --git a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_12726801729766725486.json b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_12726801729766725486.json deleted file mode 100644 index 1936bf2f..00000000 --- a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_12726801729766725486.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-06-30T01:35:50+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-29/10", - "CreateDate": "2024:06:30 01:35:50", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:35:50", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "10000", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:43:26", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json new file mode 100644 index 00000000..82645418 --- /dev/null +++ b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_51b8cefe8a1f34bf.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:35:50+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-29/10","CreateDate":"2024:06:30 01:35:50","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:35:50","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"10000","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:43:26","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_hu17344384941070965242.jpg b/resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_hu_8eca7b1e0bd7b0f9.jpg similarity index 100% rename from resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_hu17344384941070965242.jpg rename to resources/_gen/images/photos/2024/only-light-in-the-street/DSCF0083-Enhanced-NR_hu_8eca7b1e0bd7b0f9.jpg diff --git a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_13211179293601526534.json b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_13211179293601526534.json deleted file mode 100644 index ea91c7b2..00000000 --- a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_13211179293601526534.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-07-21T19:38:51+02:00", - "Lat": 45.436871, - "Long": 12.323697, - "Tags": { - "ApertureValue": 4.999999671145473, - "BrightnessValue|*imagemeta.rat[int32]": "559/100", - "CreateDate": "2024:07:21 19:38:51", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:07:21 19:38:51", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/350", - "FNumber|*imagemeta.rat[uint32]": "5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "640", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "1", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:59:15", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.0028571430786179025, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json new file mode 100644 index 00000000..24fce7c2 --- /dev/null +++ b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_9c136205ad008316.json @@ -0,0 +1 @@ +{"Exif":{"Lat":45.436871,"Long":12.323697,"Date":"2024-07-21T19:38:51+02:00","Tags":{"ApertureValue":4.999999671145473,"BrightnessValue|*imagemeta.rat[int32]":"559/100","CreateDate":"2024:07:21 19:38:51","CustomRendered|uint16":"0","DateTimeOriginal":"2024:07:21 19:38:51","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/350","FNumber|*imagemeta.rat[uint32]":"5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"640","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"1","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:59:15","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.0028571430786179025,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/orange-boats/DSCF0154_hu12250084006660690368.jpg b/resources/_gen/images/photos/2024/orange-boats/DSCF0154_hu_709b1f9a0f8aa25b.jpg similarity index 100% rename from resources/_gen/images/photos/2024/orange-boats/DSCF0154_hu12250084006660690368.jpg rename to resources/_gen/images/photos/2024/orange-boats/DSCF0154_hu_709b1f9a0f8aa25b.jpg diff --git a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json new file mode 100644 index 00000000..e72a235b --- /dev/null +++ b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_3c6b89f610dfc9a9.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-09-14T19:27:12+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"69/50","Copyright":"© fundor333","CreateDate":"2024:09:14 19:27:12","CustomRendered|uint16":"0","DateTimeOriginal":"2024:09:14 19:27:12","ExposureCompensation|*imagemeta.rat[int32]":"-33/100","ExposureTime|*imagemeta.rat[uint32]":"1/100","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"1250","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:09:16 23:23:08","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.010000001315418236,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_9204225316626489698.json b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_9204225316626489698.json deleted file mode 100644 index 9904c174..00000000 --- a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_9204225316626489698.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2024-09-14T19:27:12+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "69/50", - "Copyright": "© fundor333", - "CreateDate": "2024:09:14 19:27:12", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:09:14 19:27:12", - "ExposureCompensation|*imagemeta.rat[int32]": "-33/100", - "ExposureTime|*imagemeta.rat[uint32]": "1/100", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "1250", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:09:16 23:23:08", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.010000001315418236, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_hu17051119587572705959.jpg b/resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_hu_a2829412c82468df.jpg similarity index 100% rename from resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_hu17051119587572705959.jpg rename to resources/_gen/images/photos/2024/pink-on-the-water/DSCF0204_hu_a2829412c82468df.jpg diff --git a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_12609291147221792616.json b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_12609291147221792616.json deleted file mode 100644 index 70cc3f4a..00000000 --- a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_12609291147221792616.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "Exif": { - "Date": "2024-06-30T01:39:12+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 2.800000335430107, - "BrightnessValue|*imagemeta.rat[int32]": "-141/50", - "CreateDate": "2024:06:30 01:39:12", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:06:30 01:39:12", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "14/5", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "41", - "FocalLength|*imagemeta.rat[uint32]": "27", - "ISO|uint16": "6400", - "LensInfo": "27 27 2.8 2.8", - "LensMake": "FUJIFILM", - "LensModel": "XF27mmF2.8 R WR", - "LensSerialNumber": "2CA04105", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2024:08:21 23:44:44", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json new file mode 100644 index 00000000..21f59b86 --- /dev/null +++ b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_b42c26f5c485b7cd.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-06-30T01:39:12+02:00","Tags":{"ApertureValue":2.800000335430107,"BrightnessValue|*imagemeta.rat[int32]":"-141/50","CreateDate":"2024:06:30 01:39:12","CustomRendered|uint16":"0","DateTimeOriginal":"2024:06:30 01:39:12","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"14/5","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"41","FocalLength|*imagemeta.rat[uint32]":"27","ISO|uint16":"6400","LensInfo":"27 27 2.8 2.8","LensMake":"FUJIFILM","LensModel":"XF27mmF2.8 R WR","LensSerialNumber":"2CA04105","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2024:08:21 23:44:44","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_hu3208972723940909913.jpg b/resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_hu_ae6109cf3885909d.jpg similarity index 100% rename from resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_hu3208972723940909913.jpg rename to resources/_gen/images/photos/2024/street-night-and-darkness/DSCF0096_hu_ae6109cf3885909d.jpg diff --git a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_1601528655527281916.json b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_1601528655527281916.json deleted file mode 100644 index da9a6e84..00000000 --- a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_1601528655527281916.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "Exif": { - "Date": "2024-05-23T13:36:52+02:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 3.500000189089437, - "Artist": "Fundor333", - "CreateDate": "2024:05:23 14:36:52", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2024:05:23 13:36:52", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/6", - "FNumber|*imagemeta.rat[uint32]": "7/2", - "FocalLength|*imagemeta.rat[uint32]": "35", - "ISO|uint16": "320", - "LensInfo": "35 35 undef undef", - "LensModel": "RF35mm F1.8 MACRO IS STM", - "LensSerialNumber": "3732004227", - "Make": "Canon", - "MaxApertureValue": 1.8340080864093424, - "Model": "Canon EOS R5", - "ModifyDate": "2024:09:16 23:41:59", - "OffsetTime": "+02:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+01:00", - "RecommendedExposureIndex|uint32": "320", - "SceneCaptureType|uint16": "0", - "SensitivityType|uint16": "2", - "SerialNumber": "253026001930", - "ShutterSpeedValue": 0.16666660898772281, - "Software": "Adobe Lightroom 7.5 (Macintosh)", - "SubSecTimeDigitized|int": "570", - "SubSecTimeOriginal|int": "57" - } - } -} diff --git a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json new file mode 100644 index 00000000..438171e4 --- /dev/null +++ b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_190d116be0b83d5a.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2024-05-23T13:36:52+02:00","Tags":{"ApertureValue":3.500000189089437,"Artist":"Fundor333","CreateDate":"2024:05:23 14:36:52","CustomRendered|uint16":"0","DateTimeOriginal":"2024:05:23 13:36:52","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/6","FNumber|*imagemeta.rat[uint32]":"7/2","FocalLength|*imagemeta.rat[uint32]":"35","ISO|uint16":"320","LensInfo":"35 35 undef undef","LensModel":"RF35mm F1.8 MACRO IS STM","LensSerialNumber":"3732004227","Make":"Canon","MaxApertureValue":1.8340080864093424,"Model":"Canon EOS R5","ModifyDate":"2024:09:16 23:41:59","OffsetTime":"+02:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+01:00","RecommendedExposureIndex|uint32":"320","SceneCaptureType|uint16":"0","SensitivityType|uint16":"2","SerialNumber":"253026001930","ShutterSpeedValue":0.16666660898772281,"Software":"Adobe Lightroom 7.5 (Macintosh)","SubSecTimeDigitized|int":"570","SubSecTimeOriginal|int":"57"}}} diff --git a/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_hu17258483676998507700.jpg b/resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_hu_cd2957452566ddba.jpg similarity index 100% rename from resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_hu17258483676998507700.jpg rename to resources/_gen/images/photos/2024/waiting-for-ramen-in-a-restaurant/_D0A7824_hu_cd2957452566ddba.jpg diff --git a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_4300094898666789579.json b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_4300094898666789579.json deleted file mode 100644 index c2467acd..00000000 --- a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_4300094898666789579.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-28T18:21:27+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4.499999995501194, - "BrightnessValue|*imagemeta.rat[int32]": "43/50", - "Copyright": "© fundor333", - "CreateDate": "2025:01:28 18:21:27", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:28 18:21:27", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/250", - "FNumber|*imagemeta.rat[uint32]": "9/2", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "83", - "FocalLength|*imagemeta.rat[uint32]": "55", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:28 17:28:12", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.004000000789250969, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json new file mode 100644 index 00000000..c0132d6c --- /dev/null +++ b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_e3635f4f9d0c9c5a.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-28T18:21:27+01:00","Tags":{"ApertureValue":4.499999995501194,"BrightnessValue|*imagemeta.rat[int32]":"43/50","Copyright":"© fundor333","CreateDate":"2025:01:28 18:21:27","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:28 18:21:27","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/250","FNumber|*imagemeta.rat[uint32]":"9/2","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"83","FocalLength|*imagemeta.rat[uint32]":"55","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:28 17:28:12","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.004000000789250969,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_hu7627331735870364902.jpg b/resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_hu_db02438eb53bf864.jpg similarity index 100% rename from resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_hu7627331735870364902.jpg rename to resources/_gen/images/photos/2025/brick-and-storm/DSCF0356_hu_db02438eb53bf864.jpg diff --git a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_5112932078349258236.json b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_5112932078349258236.json deleted file mode 100644 index 400afd58..00000000 --- a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_5112932078349258236.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-02-23T00:05:09+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "-83/25", - "Copyright": "© fundor333", - "CreateDate": "2025:02:23 00:05:09", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:02:23 00:05:09", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/13", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "69", - "FocalLength|*imagemeta.rat[uint32]": "463/10", - "ISO|uint16": "6400", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:02:23 01:50:40", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.07692306189463938, - "Software": "Adobe Lightroom 8.2 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json new file mode 100644 index 00000000..fe8ef284 --- /dev/null +++ b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_7c84a2f4c13ceefa.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-02-23T00:05:09+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"-83/25","Copyright":"© fundor333","CreateDate":"2025:02:23 00:05:09","CustomRendered|uint16":"0","DateTimeOriginal":"2025:02:23 00:05:09","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/13","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"69","FocalLength|*imagemeta.rat[uint32]":"463/10","ISO|uint16":"6400","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:02:23 01:50:40","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.07692306189463938,"Software":"Adobe Lightroom 8.2 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_hu18030750252104325411.jpg b/resources/_gen/images/photos/2025/light-and-tree/DSCF0399_hu_da6d8150c5f63dd3.jpg similarity index 100% rename from resources/_gen/images/photos/2025/light-and-tree/DSCF0399_hu18030750252104325411.jpg rename to resources/_gen/images/photos/2025/light-and-tree/DSCF0399_hu_da6d8150c5f63dd3.jpg diff --git a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_7463675379706194523.json b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_7463675379706194523.json deleted file mode 100644 index 210b6c3e..00000000 --- a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_7463675379706194523.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-05T00:35:13+01:00", - "Lat": 45.429936, - "Long": 12.325892, - "Tags": { - "ApertureValue": 1.499999999250199, - "BrightnessValue|*imagemeta.rat[int32]": "-35707/8571", - "Copyright": "© fundor333", - "CreateDate": "2025:01:05 00:35:13", - "DateTimeOriginal": "2025:01:05 00:35:13", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/17", - "FNumber|*imagemeta.rat[uint32]": "3/2", - "FocalLengthIn35mmFormat|uint16": "26", - "FocalLength|*imagemeta.rat[uint32]": "57/10", - "ISO|uint16": "1600", - "LensInfo": "1.5399999618512084 5.7 1.5 2.4", - "LensMake": "Apple", - "LensModel": "iPhone 14 back dual wide camera 5.7mm f/1.5", - "Make": "Apple", - "Model": "iPhone 14", - "ModifyDate": "2025:01:05 15:01:55", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+01:00", - "OffsetTimeOriginal": "+01:00", - "SceneType|uint8": "1", - "ShutterSpeedValue": 0.05882352293900745, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubSecTimeDigitized|int": "953", - "SubSecTimeOriginal|int": "953", - "SubjectArea": "2006 1506 2213 1327" - } - } -} diff --git a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json new file mode 100644 index 00000000..c06b555f --- /dev/null +++ b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_cfc82aeb77e08dbc.json @@ -0,0 +1 @@ +{"Exif":{"Lat":45.429936,"Long":12.325892,"Date":"2025-01-05T00:35:13+01:00","Tags":{"ApertureValue":1.499999999250199,"BrightnessValue|*imagemeta.rat[int32]":"-35707/8571","Copyright":"© fundor333","CreateDate":"2025:01:05 00:35:13","DateTimeOriginal":"2025:01:05 00:35:13","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/17","FNumber|*imagemeta.rat[uint32]":"3/2","FocalLengthIn35mmFormat|uint16":"26","FocalLength|*imagemeta.rat[uint32]":"57/10","ISO|uint16":"1600","LensInfo":"1.5399999618512084 5.7 1.5 2.4","LensMake":"Apple","LensModel":"iPhone 14 back dual wide camera 5.7mm f/1.5","Make":"Apple","Model":"iPhone 14","ModifyDate":"2025:01:05 15:01:55","OffsetTime":"+01:00","OffsetTimeDigitized":"+01:00","OffsetTimeOriginal":"+01:00","SceneType|uint8":"1","ShutterSpeedValue":0.05882352293900745,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubSecTimeDigitized|int":"953","SubSecTimeOriginal|int":"953","SubjectArea":"2006 1506 2213 1327"}}} diff --git a/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_hu10695165669612305114.jpg b/resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_hu_9f1634dbc8557b61.jpg similarity index 100% rename from resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_hu10695165669612305114.jpg rename to resources/_gen/images/photos/2025/olive-at-the-night/IMG_5830_hu_9f1634dbc8557b61.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_1666667372509808842.json b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_1666667372509808842.json deleted file mode 100644 index 7a1a22df..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_1666667372509808842.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Exif": { - "Date": "0001-01-01T00:00:00Z", - "Lat": 0, - "Long": 0, - "Tags": { - "Orientation|uint16": "1", - "Software": "Layout from Instagram" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json new file mode 100644 index 00000000..a11348a6 --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_5ddb9375851fad0b.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"0001-01-01T00:00:00Z","Tags":{"Orientation|uint16":"1","Software":"Layout from Instagram"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_hu7738023738696841518.JPG b/resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_hu_298460ef52c3e328.JPG similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_hu7738023738696841518.JPG rename to resources/_gen/images/photos/2025/square-square-square-and-square/961CEEA5-A1D1-4850-BD7F-7FFFE74A2BB3_hu_298460ef52c3e328.JPG diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_3394421102469900426.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_3394421102469900426.json deleted file mode 100644 index 203f126d..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_3394421102469900426.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:35", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json new file mode 100644 index 00000000..2c350bbf --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_7d4b36cd30c28e48.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:35","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_hu3498593169431689986.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_hu_ed0abb9ff77bc209.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_hu3498593169431689986.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-2_hu_ed0abb9ff77bc209.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_17371124707104197089.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_17371124707104197089.json deleted file mode 100644 index 73ee67ab..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_17371124707104197089.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:36", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json new file mode 100644 index 00000000..6252d984 --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_8ea8770811667f46.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:36","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_hu13921905415825440474.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_hu_75815c544cd2ead5.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_hu13921905415825440474.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-3_hu_75815c544cd2ead5.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_6654543183124253797.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_6654543183124253797.json deleted file mode 100644 index 73ee67ab..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_6654543183124253797.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:36", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json new file mode 100644 index 00000000..6252d984 --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_f5d6664956adbdc6.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:36","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_hu11710764074727147501.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_hu_173f2469d68730bf.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_hu11710764074727147501.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-4_hu_173f2469d68730bf.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json new file mode 100644 index 00000000..f7bed72f --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_12830e769f02bbe9.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:43","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_2123083300222834369.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_2123083300222834369.json deleted file mode 100644 index 4d6e4bb9..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_2123083300222834369.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:43", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_hu14606393893754158554.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_hu_17bb10ed52e7326f.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_hu14606393893754158554.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-5_hu_17bb10ed52e7326f.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_14014202182384348026.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_14014202182384348026.json deleted file mode 100644 index 2e2a2318..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_14014202182384348026.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:42", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json new file mode 100644 index 00000000..7f03d0a9 --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_63d2c3b98f00dbb1.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:42","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_hu13966297558015566153.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_hu_b00989f9654fd7c3.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_hu13966297558015566153.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290-6_hu_b00989f9654fd7c3.jpg diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_14215770477982917500.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_14215770477982917500.json deleted file mode 100644 index 203f126d..00000000 --- a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_14215770477982917500.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:05:48+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "24/5", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:05:48", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:05:48", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "67", - "FocalLength|*imagemeta.rat[uint32]": "222/5", - "ISO|uint16": "2000", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "0", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 23:28:35", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json new file mode 100644 index 00000000..2c350bbf --- /dev/null +++ b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_c1fc66abc37bbe6.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:05:48+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"24/5","Copyright":"© fundor333","CreateDate":"2025:01:10 16:05:48","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:05:48","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"67","FocalLength|*imagemeta.rat[uint32]":"222/5","ISO|uint16":"2000","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"0","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 23:28:35","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_hu7442820528939361682.jpg b/resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_hu_9102864474b01a86.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_hu7442820528939361682.jpg rename to resources/_gen/images/photos/2025/square-square-square-and-square/DSCF0290_hu_9102864474b01a86.jpg diff --git a/resources/_gen/images/photos/2025/square-tile/DSCF0285_899853240451808504.json b/resources/_gen/images/photos/2025/square-tile/DSCF0285_899853240451808504.json deleted file mode 100644 index 44a4b574..00000000 --- a/resources/_gen/images/photos/2025/square-tile/DSCF0285_899853240451808504.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "Exif": { - "Date": "2025-01-10T16:04:50+01:00", - "Lat": 0, - "Long": 0, - "Tags": { - "ApertureValue": 4, - "BrightnessValue|*imagemeta.rat[int32]": "481/100", - "Copyright": "© fundor333", - "CreateDate": "2025:01:10 16:04:50", - "CustomRendered|uint16": "0", - "DateTimeOriginal": "2025:01:10 16:04:50", - "ExposureCompensation|*imagemeta.rat[int32]": "0", - "ExposureTime|*imagemeta.rat[uint32]": "1/500", - "FNumber|*imagemeta.rat[uint32]": "4", - "FileSource|uint8": "3", - "FocalLengthIn35mmFormat|uint16": "64", - "FocalLength|*imagemeta.rat[uint32]": "85/2", - "ISO|uint16": "800", - "LensInfo": "18 55 2.8 4", - "LensMake": "FUJIFILM", - "LensModel": "XF18-55mmF2.8-4 R LM OIS", - "LensSerialNumber": "3CC22388", - "LightSource|uint16": "1", - "Make": "FUJIFILM", - "MaxApertureValue": 2.82842712474619, - "Model": "X-T30 II", - "ModifyDate": "2025:01:10 20:55:05", - "OffsetTime": "+01:00", - "OffsetTimeDigitized": "+02:00", - "OffsetTimeOriginal": "+02:00", - "SceneCaptureType|uint16": "0", - "SceneType|uint8": "1", - "SensitivityType|uint16": "1", - "SerialNumber": "3D015250", - "ShutterSpeedValue": 0.002000000394625486, - "Software": "Adobe Lightroom 8.1 (Macintosh)", - "SubjectDistanceRange|uint16": "0" - } - } -} diff --git a/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json b/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json new file mode 100644 index 00000000..bb4ed91d --- /dev/null +++ b/resources/_gen/images/photos/2025/square-tile/DSCF0285_98cb22c1821ce4cc.json @@ -0,0 +1 @@ +{"Exif":{"Lat":0,"Long":0,"Date":"2025-01-10T16:04:50+01:00","Tags":{"ApertureValue":4,"BrightnessValue|*imagemeta.rat[int32]":"481/100","Copyright":"© fundor333","CreateDate":"2025:01:10 16:04:50","CustomRendered|uint16":"0","DateTimeOriginal":"2025:01:10 16:04:50","ExposureCompensation|*imagemeta.rat[int32]":"0","ExposureTime|*imagemeta.rat[uint32]":"1/500","FNumber|*imagemeta.rat[uint32]":"4","FileSource|uint8":"3","FocalLengthIn35mmFormat|uint16":"64","FocalLength|*imagemeta.rat[uint32]":"85/2","ISO|uint16":"800","LensInfo":"18 55 2.8 4","LensMake":"FUJIFILM","LensModel":"XF18-55mmF2.8-4 R LM OIS","LensSerialNumber":"3CC22388","LightSource|uint16":"1","Make":"FUJIFILM","MaxApertureValue":2.82842712474619,"Model":"X-T30 II","ModifyDate":"2025:01:10 20:55:05","OffsetTime":"+01:00","OffsetTimeDigitized":"+02:00","OffsetTimeOriginal":"+02:00","SceneCaptureType|uint16":"0","SceneType|uint8":"1","SensitivityType|uint16":"1","SerialNumber":"3D015250","ShutterSpeedValue":0.002000000394625486,"Software":"Adobe Lightroom 8.1 (Macintosh)","SubjectDistanceRange|uint16":"0"}}} diff --git a/resources/_gen/images/photos/2025/square-tile/DSCF0285_hu16524719992581787017.jpg b/resources/_gen/images/photos/2025/square-tile/DSCF0285_hu_752ddecef1a27c58.jpg similarity index 100% rename from resources/_gen/images/photos/2025/square-tile/DSCF0285_hu16524719992581787017.jpg rename to resources/_gen/images/photos/2025/square-tile/DSCF0285_hu_752ddecef1a27c58.jpg diff --git a/static/Characters/001.png b/static/Characters/001.png index 0dc6e3c1..3494591d 100755 Binary files a/static/Characters/001.png and b/static/Characters/001.png differ diff --git a/static/Characters/002.png b/static/Characters/002.png index 31cc50e8..cc45e2ea 100755 Binary files a/static/Characters/002.png and b/static/Characters/002.png differ diff --git a/static/Characters/003.png b/static/Characters/003.png index 88f3ec52..1b532ec3 100755 Binary files a/static/Characters/003.png and b/static/Characters/003.png differ diff --git a/static/Characters/004.png b/static/Characters/004.png index 5a3005f4..44f3ca17 100755 Binary files a/static/Characters/004.png and b/static/Characters/004.png differ diff --git a/static/Characters/005.png b/static/Characters/005.png index fe5b3677..34c1154c 100755 Binary files a/static/Characters/005.png and b/static/Characters/005.png differ diff --git a/static/Characters/006.png b/static/Characters/006.png index 82c0ca77..5ffb4b48 100755 Binary files a/static/Characters/006.png and b/static/Characters/006.png differ diff --git a/static/Characters/007.png b/static/Characters/007.png index 1b532ec3..aea9512c 100755 Binary files a/static/Characters/007.png and b/static/Characters/007.png differ diff --git a/static/Characters/008.png b/static/Characters/008.png index 58df87dc..66844fb8 100755 Binary files a/static/Characters/008.png and b/static/Characters/008.png differ diff --git a/static/Characters/009.png b/static/Characters/009.png index 667e2c34..44d6a206 100755 Binary files a/static/Characters/009.png and b/static/Characters/009.png differ diff --git a/static/Characters/010.png b/static/Characters/010.png index f405ede6..bff37397 100755 Binary files a/static/Characters/010.png and b/static/Characters/010.png differ diff --git a/static/Characters/011.png b/static/Characters/011.png index cc45e2ea..7e722744 100755 Binary files a/static/Characters/011.png and b/static/Characters/011.png differ diff --git a/static/Characters/012.png b/static/Characters/012.png index 5125c489..6530f08f 100755 Binary files a/static/Characters/012.png and b/static/Characters/012.png differ diff --git a/static/Characters/013.png b/static/Characters/013.png index 31d30f56..86996c43 100755 Binary files a/static/Characters/013.png and b/static/Characters/013.png differ diff --git a/static/Characters/014.png b/static/Characters/014.png index c562bce5..edad787e 100755 Binary files a/static/Characters/014.png and b/static/Characters/014.png differ diff --git a/static/Characters/015.png b/static/Characters/015.png index 6c735293..1aef6a6f 100755 Binary files a/static/Characters/015.png and b/static/Characters/015.png differ diff --git a/static/Characters/016.png b/static/Characters/016.png index 18e2076c..528f941a 100755 Binary files a/static/Characters/016.png and b/static/Characters/016.png differ diff --git a/static/Characters/017.png b/static/Characters/017.png index e8f8f4d9..667e2c34 100755 Binary files a/static/Characters/017.png and b/static/Characters/017.png differ diff --git a/static/Characters/018.png b/static/Characters/018.png index b3fc7597..429a76da 100755 Binary files a/static/Characters/018.png and b/static/Characters/018.png differ diff --git a/static/Characters/019.png b/static/Characters/019.png index 9a564084..f6082100 100755 Binary files a/static/Characters/019.png and b/static/Characters/019.png differ diff --git a/static/Characters/020.png b/static/Characters/020.png index 6530f08f..058fa3ec 100755 Binary files a/static/Characters/020.png and b/static/Characters/020.png differ diff --git a/static/Characters/021.png b/static/Characters/021.png index 9bc703aa..58f6d3c6 100755 Binary files a/static/Characters/021.png and b/static/Characters/021.png differ diff --git a/static/Characters/022.png b/static/Characters/022.png index 34c1154c..58df87dc 100755 Binary files a/static/Characters/022.png and b/static/Characters/022.png differ diff --git a/static/Characters/023.png b/static/Characters/023.png index 9e7fd5ce..385a6c37 100755 Binary files a/static/Characters/023.png and b/static/Characters/023.png differ diff --git a/static/Characters/024.png b/static/Characters/024.png index 849f4cb5..0bd5edde 100755 Binary files a/static/Characters/024.png and b/static/Characters/024.png differ diff --git a/static/Characters/025.png b/static/Characters/025.png index 1aef6a6f..60d80cec 100755 Binary files a/static/Characters/025.png and b/static/Characters/025.png differ diff --git a/static/Characters/026.png b/static/Characters/026.png index 53126291..62a8435a 100755 Binary files a/static/Characters/026.png and b/static/Characters/026.png differ diff --git a/static/Characters/027.png b/static/Characters/027.png index 528f941a..518f7c29 100755 Binary files a/static/Characters/027.png and b/static/Characters/027.png differ diff --git a/static/Characters/028.png b/static/Characters/028.png index 58f6d3c6..6c735293 100755 Binary files a/static/Characters/028.png and b/static/Characters/028.png differ diff --git a/static/Characters/029.png b/static/Characters/029.png index e2d95a4c..31d30f56 100755 Binary files a/static/Characters/029.png and b/static/Characters/029.png differ diff --git a/static/Characters/030.png b/static/Characters/030.png index edad787e..31cc50e8 100755 Binary files a/static/Characters/030.png and b/static/Characters/030.png differ diff --git a/static/Characters/031.png b/static/Characters/031.png index 86996c43..9bc703aa 100755 Binary files a/static/Characters/031.png and b/static/Characters/031.png differ diff --git a/static/Characters/032.png b/static/Characters/032.png index c5a6e5fd..0dc6e3c1 100755 Binary files a/static/Characters/032.png and b/static/Characters/032.png differ diff --git a/static/Characters/033.png b/static/Characters/033.png index 385a6c37..c5a6e5fd 100755 Binary files a/static/Characters/033.png and b/static/Characters/033.png differ diff --git a/static/Characters/034.png b/static/Characters/034.png index d86d77bf..a757b6dc 100755 Binary files a/static/Characters/034.png and b/static/Characters/034.png differ diff --git a/static/Characters/035.png b/static/Characters/035.png index d29251db..402bd7d6 100755 Binary files a/static/Characters/035.png and b/static/Characters/035.png differ diff --git a/static/Characters/036.png b/static/Characters/036.png index 23058e6a..c562bce5 100755 Binary files a/static/Characters/036.png and b/static/Characters/036.png differ diff --git a/static/Characters/037.png b/static/Characters/037.png index 74a4836f..f2158bfa 100755 Binary files a/static/Characters/037.png and b/static/Characters/037.png differ diff --git a/static/Characters/038.png b/static/Characters/038.png index aea9512c..b2e4ab02 100755 Binary files a/static/Characters/038.png and b/static/Characters/038.png differ diff --git a/static/Characters/039.png b/static/Characters/039.png index 487dd5b8..d29251db 100755 Binary files a/static/Characters/039.png and b/static/Characters/039.png differ diff --git a/static/Characters/040.png b/static/Characters/040.png index bff37397..849f4cb5 100755 Binary files a/static/Characters/040.png and b/static/Characters/040.png differ diff --git a/static/Characters/041.png b/static/Characters/041.png index 429a76da..5a3005f4 100755 Binary files a/static/Characters/041.png and b/static/Characters/041.png differ diff --git a/static/Characters/042.png b/static/Characters/042.png index f0d9c192..88f3ec52 100755 Binary files a/static/Characters/042.png and b/static/Characters/042.png differ diff --git a/static/Characters/043.png b/static/Characters/043.png index 45246bf0..bf8f2d98 100755 Binary files a/static/Characters/043.png and b/static/Characters/043.png differ diff --git a/static/Characters/044.png b/static/Characters/044.png index 5ffb4b48..74a4836f 100755 Binary files a/static/Characters/044.png and b/static/Characters/044.png differ diff --git a/static/Characters/045.png b/static/Characters/045.png index 60d80cec..e8f8f4d9 100755 Binary files a/static/Characters/045.png and b/static/Characters/045.png differ diff --git a/static/Characters/046.png b/static/Characters/046.png index 66844fb8..de66d294 100755 Binary files a/static/Characters/046.png and b/static/Characters/046.png differ diff --git a/static/Characters/047.png b/static/Characters/047.png index de66d294..487dd5b8 100755 Binary files a/static/Characters/047.png and b/static/Characters/047.png differ diff --git a/static/Characters/048.png b/static/Characters/048.png index f6082100..53126291 100755 Binary files a/static/Characters/048.png and b/static/Characters/048.png differ diff --git a/static/Characters/049.png b/static/Characters/049.png index 8504f904..fe5b3677 100755 Binary files a/static/Characters/049.png and b/static/Characters/049.png differ diff --git a/static/Characters/050.png b/static/Characters/050.png index 62a8435a..9e7fd5ce 100755 Binary files a/static/Characters/050.png and b/static/Characters/050.png differ diff --git a/static/Characters/051.png b/static/Characters/051.png index 44d6a206..7061a734 100755 Binary files a/static/Characters/051.png and b/static/Characters/051.png differ diff --git a/static/Characters/052.png b/static/Characters/052.png index 2fb118cc..26b6925c 100755 Binary files a/static/Characters/052.png and b/static/Characters/052.png differ diff --git a/static/Characters/053.png b/static/Characters/053.png index 7e722744..991f58fe 100755 Binary files a/static/Characters/053.png and b/static/Characters/053.png differ diff --git a/static/Characters/054.png b/static/Characters/054.png index 7061a734..9a564084 100755 Binary files a/static/Characters/054.png and b/static/Characters/054.png differ diff --git a/static/Characters/055.png b/static/Characters/055.png index 3494591d..0be2519f 100755 Binary files a/static/Characters/055.png and b/static/Characters/055.png differ diff --git a/static/Characters/056.png b/static/Characters/056.png index a757b6dc..f2b84c8a 100755 Binary files a/static/Characters/056.png and b/static/Characters/056.png differ diff --git a/static/Characters/057.png b/static/Characters/057.png index 402bd7d6..f0d9c192 100755 Binary files a/static/Characters/057.png and b/static/Characters/057.png differ diff --git a/static/Characters/058.png b/static/Characters/058.png index b2e4ab02..b3fc7597 100755 Binary files a/static/Characters/058.png and b/static/Characters/058.png differ diff --git a/static/Characters/059.png b/static/Characters/059.png index 44f3ca17..8504f904 100755 Binary files a/static/Characters/059.png and b/static/Characters/059.png differ diff --git a/static/Characters/060.png b/static/Characters/060.png index f2b84c8a..2fb118cc 100755 Binary files a/static/Characters/060.png and b/static/Characters/060.png differ diff --git a/static/Characters/061.png b/static/Characters/061.png index 26b6925c..f405ede6 100644 Binary files a/static/Characters/061.png and b/static/Characters/061.png differ diff --git a/static/Characters/062.png b/static/Characters/062.png index 058fa3ec..45246bf0 100644 Binary files a/static/Characters/062.png and b/static/Characters/062.png differ diff --git a/static/Characters/063.png b/static/Characters/063.png index 991f58fe..dc5dadda 100644 Binary files a/static/Characters/063.png and b/static/Characters/063.png differ diff --git a/static/Characters/064.png b/static/Characters/064.png index dc5dadda..82c0ca77 100644 Binary files a/static/Characters/064.png and b/static/Characters/064.png differ diff --git a/static/Characters/065.png b/static/Characters/065.png index bf8f2d98..e2d95a4c 100644 Binary files a/static/Characters/065.png and b/static/Characters/065.png differ diff --git a/static/Characters/066.png b/static/Characters/066.png index 0be2519f..23058e6a 100644 Binary files a/static/Characters/066.png and b/static/Characters/066.png differ diff --git a/static/Characters/067.png b/static/Characters/067.png index 0bd5edde..d86d77bf 100644 Binary files a/static/Characters/067.png and b/static/Characters/067.png differ diff --git a/static/Characters/068.png b/static/Characters/068.png index 518f7c29..5125c489 100644 Binary files a/static/Characters/068.png and b/static/Characters/068.png differ diff --git a/static/Characters/069.png b/static/Characters/069.png index f2158bfa..18e2076c 100644 Binary files a/static/Characters/069.png and b/static/Characters/069.png differ diff --git a/static/carbon.txt b/static/carbon.txt index 3a30d914..8dd82fed 100644 --- a/static/carbon.txt +++ b/static/carbon.txt @@ -1,9 +1,4 @@ -[org] -disclosures = [ - { doc_type='web-page', url='https://fundor333.com/sustainability', domain='fundor333.com' } -] - [upstream] services = [ - { domain='cloudflare.com', service_type='network-content-delivery-networks' } -] \ No newline at end of file + { domain='cloudflare.com', service_type='cdn' } +]