Posts tagged with: indieweb

← Back to all tags

New year, new personal website? (Or update your existing site?) Join us for a virtual IndieWeb meetup, Homebrew Website Club, January 8th at 6PM Pacific!


Improve validation for mf1 hEntry


IndieWebCamp San Diego 2024


Another thing I did during IndieWebCamp San Diego’s Create Day was add a page with food and drink recommendations. This morning I added an emoji before each one as a quick indicator of the type of food. I like that it adds some color and variety to a page of mostly text.


This is cool! I don’t think it’s correct that Webmention requires a permalink for each post; sending a fragment link as the source URL should work. The verification step should be per-media-type, so receivers could verify that text/plain example differently than a text/html document.


For IndieWebCamp San Diego’s Create Day, I worked on cleaning up some code for indiewebify.me and pushed it to a branch on my GitHub.

The readme there has more details, but this is basically an in-progress update to use the SlimPHP framework. It is probably only about 30% complete, but some parts of it are functional. Pushing this to Github will make it easier for the community to collaborate on and decide how to move forward.


During yesterday’s IndieWeb Create Day, I got inspired by Reilly’s progress adding tags to his posts. I finally set up my Tags page and linked up the tags at the bottom of each post.

I couldn’t resist adding a bit of random HTML tag fun at the top of that page, too. Let me know your favorite HTML tag and I might add it to the rotation.


Day 2 of Weird Web October! Prompt: CSS

gregorlove.com/site/assets/misc/2024-wwo-02.html


Here is my first entry for Weird Web October: gregorlove.com/site/assets/misc/2024-wwo-01.html


In the #indieweb chat there’s a helpful bot named Loqi that answers questions from the wiki and lets us add countdowns. Sometimes the bot seems like magic and there’s jokes about it gaining sentience. To that end, I apparently added a countdown in 2018 for 6 years out: “Loqi can drive.” It was something I set and forgot, so it gave me a laugh to get the countdown notification today.

You can also “give” Loqi things and it will respond with random things, so this funny exchange happened afterward:

gRegor gives Loqi a car
Loqi laughs at the car
gRegor gives Loqi a cybertruck
Loqi gives back the cybertruck

See, smart bot.


Have questions about HTML/CSS? Join the Front End Study Hall hosted by @artlung@xoxo.zone on Zoom next Wednesday, April 24!


I watched a great video by Lauren Kim titled “I deleted all my social media and made a website” (runtime 26:55).

She broke it into a few chapters. In “Why a website,” I liked the focus on a website as a long-term project. She also emphasized creating things for ourselves/the sake of creativity, not so much for the social validation.

Then there was the website tour itself. It was great to see how excited she was and how much thought she’d put into the whole process. I’m glad to see younger generations making these connections and working on personal websites.

The indieweb kids are alright.


A few more things you can do on your personal website


👋 I’m at gregorlove.com and this reply is also coming from there!


👋 Hi there, I'm in the indieweb.org community. That page monitors some Mastodon tag feeds for public posts with "#indieweb".


A highlight from IndieWebCamp San Diego:

Them: “you can scroll if you want to”
Me: “you can leave your friends behind”


I don’t post about it often, but I maintain indiebookclub, an app to help track books you’re reading on your own website. I just set up a new feature for it, a year in review page: indiebookclub.biz/review/2023



I now have the building blocks for Ticketing for IndieAuth set up.

On my staging site, the metadata endpoint now advertises the ticket_endpoint. That endpoint is accepting POST requests with parameters: ticket, resource, and subject. If the request is valid, it will be stored and return HTTP 202 with the message “Accepted.” Tickets are not automatically redeemed yet.

In the IndieAuth module admin, I set up a page to issue a ticket by entering a URL for “Allow access to” (the resource) and “Send ticket to” (the subject). Submitting that form will check the subject URL for an indieauth-metadata endpoint that advertises a ticket_endpoint. If that is found successfully, a ticket is created and sent there.

Finally, I updated the token_endpoint to accept POST requests with grant_type=ticket and exchange the ticket for an access token.

Next I will be working on automatically redeeming received tickets for access tokens and setting up some private posts to work with granted access tokens.

I am currently using the same code that generates authorization codes to make the tickets. I think this should work fine because it already handles creating an opaque string that is valid for a short period of time (5 minutes). The module also ensures these can only be used once and logs key information for each request like client_id (source code). I need to run some tests to ensure tickets can’t be used as authorization codes and I might need to add some metadata to differentiate the two in the admin area.

Feel free to try to send a ticket to my staging site and ping me in IndieWeb dev chat. I can also send you a ticket if you’d like to try that out. I look forward to discussing this with other implementers!


I got a spammy message via my contact page from “PostBy AI” trying to sell me on adding a chatbot to my site to answer customer questions, generate leads, yada yada. Annoying, but not a big deal in itself.

The part that really bugged me, though, was “I went ahead and created a custom chatbot tailored for your site, and want to let you try it out for free.” I find that to be a really creepy practice if they actually had their software train against the text on my site, so I replied with the email below. I’ll update here based on how they reply.

Was this message generated by a chat bot? It doesn’t seem like a human looked at my website at all. I have no need for any of the things listed because it’s not a business site and there are no sales. It’s just my personal site that I share things on.

I think it’s a creepy practice to create a chatbot tailored to my site without my request or permission. If you have scraped information from my site or trained an LLM against its content, please remove all such data from your systems immediately.

Also please let me know what user agent your software uses so I can add it to my robots.txt disallow list, or let me know what other methods your software respects to let a site opt out.

gRegor Morrill via email

Oof. They responded to me:

You're making a lot of demands for someone who did something nice for you. It's your responsibility to add your own robot files, not mine.

However, I've destroyed the bot and removed you from any scraping on my end.

I just wrote back:

What an absolutely unprofessional response. “Please remove my data” is a polite request and should be understandable for your business, regardless of whether you think you’ve done something “nice” for me.

Yes, robots.txt is for me to update. That’s why I requested what user agent your software uses so I can update accordingly. Please let me know.


I added back the posting activity visualization that was on my site a while ago. Now it's on the homepage under my bio instead of at the bottom of each post. There's four shades of blue based on relative number of posts. Hovering on a square shows the date and number of posts.

screenshot of the bio on my homepage with the posting activity visualization underneath it: 30 small boxes with colors from gray to deep blue indicating relative number of posts each day

Next I would like to set up daily archive pages that each box can link to.


I decided to show a little love to my venue pages after reading Tantek’s post about venues and reviews.

As part of keeping track of the events I attend, I create a venue page and link the event to it. The venue page previously would only show the name, address, and link. I updated it to also show a list of past events so it’s easier to see at a glance and navigate between them.

Example: Soda Bar, San Diego, CA


There are a few options for sending and receiving Webmentions on static sites: indieweb.org/static_site.

I don’t have experience with those, but the indieweb chat has a helpful community if you have questions: indieweb.org/discuss


For blog posts, the typical convention when federating is to show the title of the post and link to the original. Bridgy Fed does that automatically for me. It reads the microformats in my posts to differentiate article and note posts and builds the Mastodon post.

Edit: I added a second screenshot on the wiki of what articles look like: indieweb.org/Bridgy_Fed#gRegor_Morrill


I use the indieweb service Bridgy Fed to federate some select posts from my website (like this one!) to the fediverse. If you click on the permalink for this post, it should take you to the original on my site.

It’s a pretty cool service and builds on some common indieweb building blocks my site already supported, like Webmention.



I updated my homepage to show the latest photo post: gregorlove.com/#photos


Farewell, Fail Whale


If you aggregated some RSS feeds and piped the result into a Mastodon account, would that be the United Federation of Planets?


Near-term Plans for My Twitter


is indiewebing: I was just reminded how in the early days of Twitter to Facebook cross-posting, it prefixed your Facebook status with “is twittering:”


@artlung@xoxo.zone Hello again from my website! This time it should show up as a mention instead of a link.


Add support for bookmarks with h-cite


Bookmark posts with anchors break permalinks


To toot, or not to toot, that is the question.


New IndieAuth Client PHP Release


This is one way of several based on the authorship spec (https://indieweb.org/authorship-spec#Algorithm). The p-author h-card inside the h-feed might make the most sense in your case, but you could also have a u-author property inside each h-entry that links to a page that has your author h-card. I do this with my posts, with an invisible link to my homepage.


Uninterpreted properties errors



IndieAuth for ProcessWire Released


Open Mentions is an interesting addition in the category of IndieWeb aggregators that use Webmention. I wonder if microformats2 could be used to include the machine-readable metadata, especially since Matt’s thoughts noted “this should reflect the information that the user sees on-page.”

Some other interesting sites like this are indieweb.xyz and indieforums.net.


Hi, Matt! It has been several years but I remember you from back in the Nucleus CMS days. Lovely to see you getting into indieweb. I have really enjoyed that community and the cool things they’re doing! Have you joined any of their virtual meetups like Homebrew Website Club?


I’m attending Homebrew Website Club (virtual) tonight at 6PM Pacific.

Join us if you’re interested in talking about personal websites and the independent web!


Some Thoughts on Commenting


I’ve released version 0.0.3 of mf2 to iCalendar, a library to convert h-event microformats into iCalendar.

It no longer throws an Exception if no h-event microformats are found. Instead it will generate a minimal, “empty” iCalendar. I had run into an instance where an upcoming events page was empty and the URL for the iCalendar was returning the Exception message.

I also changed the default domain to example.com, did some minor code cleanup, and renamed the git master branch to main.

Previously


IndieWebify.Me Updates


IndieWeb Summit 2019


New release of mf2 to iCalendar


I’m now caching profile photos for webmentions I receive in the ProcessWire Webmention plugin. I borrowed Aaron’s method from https://github.com/aaronpk/ca3db/: hash the image file and use that as the filename; if the filename already exists, use that, otherwise store the new image. One step closer to https-only!