At tonight's #HomebrewWebsiteClub, I managed to implement listing all my site's posts, using Micropub Query for All Posts - which is consumable with Indigenous for Android
Tag www.jvt.me
Creating My Own Personal Micropub Client (3 mins read).
Announcing my own personal Micropub client to publish content that is very specific to my workflows.
Changing my Static Site Search Setup (1 mins read).
Making changes to fix my search setup, and reduce download overhead for visitors.
New CSS, Who Dis? (2 mins read).
Announcing my new site design, based on Hack.css.
Migrating to Netlify's Deployments from GitLab CI (3 mins read).
Moving to avoid flaky deployments, and trying to reduce deployment times.
Rendering Micropub Client Data on Posts (2 mins read).
Sharing more information about Micropub clients that have created a post, if possible.
Creating a 'Firehose' Feed (2 mins read).
Splitting out my content feeds, so it's (hopefully) more applicable and less noisy for consumers.
Folks who follow my blog's #Microformats feed will now see the context (as an h-cite
) that is visible on my site, allowing you to have some context for at least interactions with Twitter, but hopefully other stuff in the future!
Woo! Got #Micropub edit functionality working 🙌 https://gitlab.com/jamietanna/jvt.me/-/commit/fda688f955c351000095a7e5c8ee294513afad6b is my first update through the API. Next will be getting my syndication links auto updated once syndication is reported as successful, but not one to do tonight
Platform-Aware @-mentioning People on my Blog (2 mins read).
More easily mentioning others on my posts, and improving my interactions with Twitter syndication.
What's the jvt.me
at the end of your tweets? (1 mins read).
Answering why there are links to jvt.me
at the end of all my tweets.
So I sorted my Webmention sending issue after an incredibly frustrating day of fighting with Jackson parsing my XML sitemap. I'm still not sure what the issue was, as I've ended up replacing my POJO with another one, but 🤷🏽♂️ at least Webmentions are sending again
Woops, looks like I broke my Webmention sending yesterday when I upgraded all my versions of Spring / Spring Boot. That'd explain why things haven't syndicated to Twitter today. Film time now, so will fix tomorrow!
I interact a lot with Twitter from my website, and as such the interactions you see are i.e. "Like of @indiewebcamp's tweet" which isn't super helpful. So I've just added the ability to mark up my interactions with some context of what the post was so it's eaiser to see without navigating there.
This is using the awesome https://granary.io/ and will hopefully make reading Twitter interactions through my site much nicer!
You can see https://www.jvt.me/mf2/2020/02/ihnc5/ for an example of what it'll look like (including photos!), and https://indieweb.org/reply-context for more info from around the #indieweb
Woops by making the changes in https://www.jvt.me/mf2/2020/01/washd/ I've also broken my Micropub endpoint's ability to RSVP to meetups, as the response is coming back with a new location format. Oops!
Very much looking forward to tonight's #TechNott, not least because it'll be the first meetup I'm owning every interaction first from my website in #IndieWeb fashion, as well as converting hashtags to tags on the posts themselves!
Converting Webmentions to Push Notifications (2 mins read).
Automagically sending push notifications to my mobile phone when I receive a Webmention.
2018 in Review (25 mins read).
Looking back at 2018 as a whole - both the positives and negatives, and looking forward to 2019.
A fairly easy result for #HomebrewWebsiteClub - don't try resending Webmentions (for two weeks) if the target doesn't support Webmentions
I mean, I said that an hour or so ago, but that was before the site had deployed... Turns out https://www.jvt.me/posts/2019/11/11/gotcha-netlify-lowercase/ caught me out again and isn't fixed until https://gitlab.com/jamietanna/jvt.me/merge_requests/638 is in (although I've done a temporary deploy from my local machine to get the site up).
Very annoying!
My site is now running Hugo v0.62! Not too painful an upgrade from 0.58.3, given changes in the Markdown parser - https://gitlab.com/jamietanna/jvt.me/merge_requests/637 - largely Table of Contents related, and one place where I'd not got enough spacing in around fenced codeblocks
Setting up a Staging Server for my Micropub Endpoint (4 mins read).
Setting up a Micropub server that I can use to test changes before it publishes content to this site.
This post has been published by my Micropub endpoint (code in https://gitlab.com/jamietanna/www-api ) and syndicated to Twitter via https://brid.gy 🙌 #IndieWeb - I'm able to own my tweets from my personal website at https://www.jvt.me and you can too by joining the folks at https://indieweb.org/discuss
Reader Mail: Getting an RSS Feed of Only Posts (2 mins read).
Updating my site to allow for RSS feeds for specific post content such as posts, as per a reader's request.
My Micropub endpoint has a fair bit of unit testing inside the Java project ( https://gitlab.com/jamietanna/www-api/tree/develop/www-api-web/micropub ) for common flows, but I've also found a tonne of implementation issues by integrating with real Micropub clients.
Some of it is an issue on a Micropub client, but most of it is something I've missed or assumed incorrectly.
I'm thinking to create a stubbed version ( https://gitlab.com/jamietanna/www-api/issues/26 ) that I can then use with https://micropub.rocks to ensure compliance.
Some of it is also a case of reading through the Micropub spec!
Blocking Twitter Widgets from This Site (2 mins read).
Enforcing a privacy-aware removal of Twitter's JavaScript widget from this site.
Sending Webmentions More Intelligently (2 mins read).
Updating my post-deployment tooling to only send Webmentions when they've not already been accepted (or rejected).
Well, I think I've cracked it - after a few weeks of on-and-off work on making my webmention sending not spam everyone (see https://www.jvt.me/posts/2019/10/30/reader-mail-webmention-spam/ ) - it's now not re-sending them if they're successful. This is a good first step, but I'll be improving it to re-send if the post's data has changed since last time it tried (in the future).
Note that this isn't quite done yet, expect it to be live tomorrow perhaps.
Adding Series Metadata to Posts (1 mins read).
Making a series of posts more discoverable using the series
taxonomy.
Validating my JSON Feed on every site build (2 mins read).
Adding in a validation in the pipeline to protect from a broken feed.
Adding a Merge Request Checklist for new Articles (1 mins read).
Adding a checklist for articles in my GitLab Merge Requests.
Gotcha: Netlify Makes All Your Filenames Case-Insensitive (1 mins read).
Beware if you have a requirement for case-sensitive URLs for Netlify.
Making Hugo Generate Case Sensitive URLs (2 mins read).
How to make your Hugo URLs case sensitive.
Auto-announcing Events in my Feed (2 mins read).
Updating my main site feed to publish a note when I've published a new event.
Reader Mail: Webmention Spam (2 mins read).
Replying publicly to an email about my continual webmention sending.
Reader Mail: Getting Started with Hugo and Micropub (5 mins read).
Answering a question by a reader about how to get started with writing a Micropub endpoint for use with Hugo.
Owning My Step Count (5 mins read).
Sharing the journey of starting to own my step counts and my technical solution.
Woo, thanks to https://realize.be/ for releasing an update of the wonderful Android app https://indigenous.realize.be/ which adds in a fix to not send multiple bearer tokens in Micropub requests ( https://github.com/swentel/indigenous-android/issues/241 )
This started breaking for me when I upgraded my Micropub endpoint to use the spring-oauth2-resource-server module ( https://gitlab.com/jamietanna/www-api/merge_requests/27 ) which is a well-formed OAuth2 server, whereas my previous implementation was not.
Super speedy fix, and glad to be back to using the app again!
The IndieWeb Movement: Owning Your Data and Being the Change You Want to See in the Web (22 mins read).
A look at what the IndieWeb is, why you should care, and how to get started with it.
Introducing a Microformats API for Eventbrite: eventbrite-mf2.jvt.me
(3 mins read).
Announcing the Microformats translation layer for Eventbrite.com/Eventbrite.co.uk events.
Diagnosing my Slow Netlify Deploy Times (2 mins read).
How I managed to shave off 7 minutes of my deploy time, (in true clickbait fashion) just by removing one line of code.
Auto-linking URLs with Hugo (2 mins read).
How to get URLs automagically converted to links in Hugo, using Regular Expressions.
Adding RSVP Support for Indie Events (1 mins read).
Adding RSVP support to my Micropub endpoint for Indie events.
Sending Webmentions Automagically on Deploys of the static website www.jvt.me (4 mins read).
The journey to getting Webmentions sending automatically from my static website, www.jvt.me.
Adding a 404 page for www.jvt.me on Netlify, with Hugo (1 mins read).
Announcing a swanky new 404 page for www.jvt.me.
Adding Calendar details on events pages (1 mins read).
Adding an iCalendar event as well as an 'Add to Google Calendar' link for each event on this site.
Introducing a Microformats API for Meetup.com: meetup-mf2.jvt.me
(4 mins read).
Announcing the Microformats translation layer for Meetup.com events.
Making it easier to determine the kind
of content for Indie posts (2 mins read).
Adding a kind
hint to my Indie post types to make it easier to look through each content kind.
Setting Up a Micropub Server for www.jvt.me (7 mins read).
Announcing the creation of my Micropub server, to allow publishing content away from my laptop/desktop.
Restructuring The Way That My Site's Content Types Work (5 mins read).
How I've restructured my content to map more closely to Microformats for any Indie content types.
Creating an iCalendar feed for my RSVPs (2 mins read).
How and why I've created a public calendar for the RSVPs I send from this site.
Why I Have a Website and You Should Too (12 mins read).
A persuasive look at the many reasons why you should have your own website, and some of the benefits it will bring you.
Visualising My Posting Habits (2 mins read).
Adding the capability to my site to enable visualisation of how often I post content.
Rendering Webmentions using Client Side JavaScript (2 mins read).
Replacing my server-side rendered webmentions with client-side rendering.
I've just removed categories as a thing from my website. I'm still using tags on all the content, but categories no longer exist. This is for a few reasons:
- categories are not Microformats2 markup-able (as we can't distinguish between tags and categories, it's just
p-category
which we use for tags) - categories in the site are not currently hierarchical - although they may be defined as such, they're not presented like it
- categories are not any more meaningful than tags, as they're almost always the same, or a reduced set, compared to the tags
So we may as well just remove support for them, as they serve exactly zero purpose.
Why www.jvt.me? (3 mins read).
Why is this site www.jvt.me? Why do I use www.? All will be explained.
Using Hugo .Render
to Save Repetition (2 mins read).
Replacing if
s with .Render
to save duplication in Hugo templates.
Adding iCalendar Feeds for Events in Hugo (1 mins read).
Using Hugo's custom output formats to automagically create an iCalendar feed for events.
Using <details>
tags for HTML-only UI toggles (3 mins read).
How using the <details>
HTML tag can provide a toggleable UI element with only built-in HTML.
Creating a /now page (1 mins read).
Joining the Now Movement by creating a /now page.
Implementing h-feed, and making all site content discoverable (2 mins read).
Announcing h-feeds for this website, and making it easier to read non-blog posts.
Extending www.jvt.me to allow for other post types
Announcing support for posting notes to my website.
Welcome to my first https://indieweb.org/note ! Notes are short-form content that will be purely plain text (for now!) and are similar to tweets on Twitter or toots on Mastodon, but won't be size limited.
I've been wanting to creating other post types since starting to use https://indieweb.org/Microsub and having a social feed. I've found that I want to interact with other posts, such as like or repost others' content, much as I would do with Twitter.
Discoverability of notes currently aren't super amazing, but I'm tackling it as part of https://gitlab.com/jamietanna/jvt.me/issues/457 because adding these post types was a large enough piece of work.
With this note, I'll now be able to https://indieweb.org/bookmark , https://indieweb.org/like , https://indieweb.org/reply , https://indieweb.org/repost , and https://indieweb.org/rsvp .
RSVPs are an interesting one, because the end goal I want is for my RSVPs to be syndicated from this site to i.e. Meetup.com.
I'm hoping to work on bringing https://indieweb.org/Micropub support to this site, too, but as it's a static site with https://gohugo.io and hosted on https://gitlab.com with a full build/test/deploy pipeline, it'll be a little less straightforward, and slower, than other solutions.
I've designed the content schema to be Micropub-first, as I want to be writing these posts using a Micropub client, rather than my usual workflow. I've made the source files JSON files (which Hugo natively supports) which makes them easily machine writeable - hopefully it'll teach me to prioritise my Micropub support so I don't have to manually write JSON!
In terms of licensing, I'm going to start by them in line with my posts, as http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode , but down the line I may look at other licenses.
Re-enabling search on my static website (2 mins read).
Announcing the re-enabling of search functionality on my static website.
Marking up my pronouns with Microformats (2 mins read).
Adding my pronouns to my personal h-card to help others determine how I identify.
Using Netlify for hosting www.jvt.me in Production (2 mins read).
Announcing my move to Netlify for hosting www.jvt.me.
Adding a JSON Feed to my site (1 mins read).
Setting up JSON feed for site for better interoperability with the IndieWeb.
Hello IndieAuth! (1 mins read).
Setting up my IndieAuth provider for interacting with IndieWeb applications everywhere.
Hello IndieNews! (2 mins read).
Discovering IndieNews and starting to syndicate my posts to it.
Marking up Events with Microformats (1 mins read).
Announcing the events content type and their markup with h-event
.
Adding the microformats h-entry markup to my blog posts (1 mins read).
Announcing the addition of the h-entry
markup to my blog posts.
Displaying Webmentions on my Hugo website (3 mins read).
How and why I've gone about getting Webmentions rendered on my static Hugo site.
Setting up a personal hCard for myself (2 mins read).
Setting up an hCard to allow microformats parsing for details about myself.
Goodbye Jekyll, Hello Hugo! (5 mins read).
My move from Jekyll to super speedy Hugo, and what I've needed to do to migrate.
Creating Microservices for my Static Website (2 mins read).
Exploring moving data out of my site's remit and into its own 'microservices' which can be consumed at build-time, as well as via client-side JavaScript.
My editorial workflow for blog posts (8 mins read).
Taking you through the journey I go on when writing blog posts, from ideation to publishing the post.
2017 in Review (68 mins read).
A look back over the awesome (and not so awesome) things that happened in 2017, and a look forward to what 2018 holds.