Search 'archive' for: markup
Page 1 of 5
>     >>
#

18/12/2020, 07:01

Happy Friday.

Well, maybe not seeing as we've now lost the original Boba Fett so soon after Darth Vader. It's good that the character is still going strong in The Mandalorian. (Apologies for the spoiler if you've not seen it.)

# My brain again wouldn't let me sleep until I'd dealt with more ideas for the site. This is becoming an annoying (yet productive) habit.

First, a minor change, the revision comparison for Garden pages is now within a sized, scrollable div to keep things tidier. What's more of a major change, however, is that it now displays the raw markup rather than the converted HTML.

The other change is that the header now displays a different title based on what page you are on. Just a bit of fun to add a little more personality to the different sections of the site.

# Had a weird glitch where the first section of the day wasn't added to the live RSS feed. If you've gotten duplicates in your reader I've been trying to fix it, apologies. I've made some changes but don't know if they have resolved the problem. We'll have to wait until tomorrow.

# Habit forming apps (be they exercise, meditation, journalling) work best with gamification, when they have notifications and reminders so you are less likely to break your streak. I thought it would be an interesting idea for the daily journal here.

Despite a number of different search terms I've not been able to find any examples of this, any code or plugins so it's obviously not something that others have been overly concerned about. Maybe other people are just using the apps.

Still, I thought it would be a nice idea to have some kind of visual indication so that's my project for today. Hopefully, it will be relatively simple: loop through the posts, get the date posted, check against a control and decrement that control with each iteration until there is no match. By counting the matches it should indicate the posting streak.

# That didn't take long:

Journal streak

If I'm on a streak but not journalled yet today it will say "Don't break it." If the streak is broken it will say "Start again."

# Just watched the Season 2 finale of The Mandalorian and I can hardly breathe right now. So much going on and so much to come.

#

26/11/2020, 20:45

If you've been paying attention recently you'll have noticed that things have been changing. Take this recent screenshot:

It looks like four posts when it is, in fact, only one divided into sections with each one linkable. So, why do this?

I wrote in the latest muse-letter that I was 'considering taking the "blank slate" metaphor for each day even further', something that has been developing over time - the logical conclusion is for each day to become a single post along similar lines to Dave Winer's scripting.com - Winer uses his own purpose built software creating each day in an outliner.

I have now created a version of my Daily page template that takes the inline editing to the next level; the previous content filters originally designed for the digital garden are fully available and have been extended to add more functionality. If I choose to go this route I will, unlike before, be literally editing a blank page.

A couple of challenges presented themselves:

  • how to create sections and make them linkable
  • how to retain the ability to post webmention 'likes'

Both have been solved by adding additional content filters. To send a 'Like' I just need to enclose a link in double bracket delimiters '(())' - the filter simply replaces them with the relevant code.

Creating linkable sections needed a slightly different approach and I was initially unsure as to what markup to use but settled on adding two @ symbols. Why? Because two @s together are not used anywhere else in common parlance, at least as far as I can see. Markdown has a monopoly on a number of characters (#*->) and I've already used [, {, ( and ~ (I have two tildes as delimiters for strikethrough) so needed another option.

The filter counts the instances of double @s and then replaces each one with sequential links so that each section can be referenced separately.

I've already set the daily RSS feed as the default so that isn't an issue, the only thing it means is that there will not be the ability for comments on individual sections unless I can find a way round that.

Now I just need to think about when to make the switch.

#

Vouch

David Shanske wrote about a brainstorming session held at Indieweb Summit 2018 about implementing "Vouch" - a trust/anti-spam extension for webmention.

The idea of Vouch is that people create a list of webmention senders they trust and make this available to others. If a domain is in a published trusted list then it has been "vouched for" meaning it's safe to accept and approve webmentions from that domain.

As David says "This should block automated spam and aid in moderation."

But, problem is, "(w)here do you find people who have been approved by people you have approved of?" How do we build lists and share them? Can a blogroll be such a list?

Various ideas were proposed including using a rel value such as follower, following or contact, or maybe using microformats markup to declare u-follow-of entries in a h-feed.

Now, the issue with a blogroll is that, unless it's explicitly curated, its member sites may well not be configured to send webmentions and it might be a bit of a waste.

As such, I thought my /Directory could be an ideal place to hold such a list. It is automated, only includes sites that have sent webmentions and only shows those that I approve - I've not had webmention spam but any would be removed from comments and not appear in the directory.

I've laid the groundwork by adding a h-feed and u-follow-of markup to the Directory plugin (subject to tweaking but it's a start) so we now need the missing link of telling other sites where your list is.

#

Indigenous

I have been briefly testing Indigenous by Eddie Hinkle, a native micropub client for iOS, so you may have seen a couple of rogue 'likes' appear in the RSS feed recently.

While I currently use Workflow to post likes and replies from my phone there is a distinct possibility that Apple will eventually remove it from the App Store should they add some form of automation to future versions of iOS.

I, therefore, wanted to explore alternatives and this meant installing Ryan Barrett’s plugin to provide a micropub endpoint thus allowing the app to post to the blog.

It's early days but Eddie has got a lot planned and the app - which works by way of a share extension, already seems pretty robust with the functionality it's got.

I don't use the indieweb Post Kinds plugin for WordPress as it's never played nicely with my theme so I do things manually with my own plugin.

Consequently, I don't have post types such as like, reply, bookmark and RSVP - such interactions are published as status posts on the blog and include the relevant microformats2 markup.

This difference lead to the rogue likes mentioned above; they were published as standard posts so didn’t display as they normally would.

I needed to find a way for the two to work together so made a few changes.

The micropub plugin adds a hook after_micropub so I used this to change the post format of the latest post to ‘status’:

function micropub_format($post){
  $args = array(
    'numberposts' => '1',
  );
  $recent_posts = wp_get_recent_posts( $args );
  foreach( $recent_posts as $recent );
    $post_id = $recent['ID'];
    set_post_format( $post_id, 'status');
  endforeach;
}

add_action('after_micropub','micropub_format',1,2);

Next, to better match my own implementation, I have edited the plugin to display the page title in the post rather than the link (this uses the same method as my plugin) and alter the styling.

I currently have all posts submitted via the micropub endpoint published as drafts, so you likely won’t see any posted this way for now, but it’s fun to explore this as an alternative.

I look forward to watching Eddie’s progress.

#

Learning from the past

There was a quick conversation on micro.blog about RSS triggered by a post from Jason Dettbarn which, in turn, was in response to David Sparks' "The case for RSS."

The upshot was that Google Reader was both the standard bearer and pall bearer for RSS at the same time.

James mentioned the ability of large companies to usurp tech like Google did with RSS and asked could it happen again with the #indieweb?

As I’ve written before, webmentions are the glue that binds the indieweb together, connecting sites from across the web by way of comments, likes, replies etc. They are detailed in a W3C recommendation well on its way to becoming a full, recognised standard - but then so was RSS.

Google cornered the RSS market and Reader became synonymous with RSS; everyone designed their feeds to best fit it, just as everyone tweaks their SEO to please Google search largely ignoring other search engines.

But Google Reader demanded certain things. Every post needed a title, for example, and the rest of the RSS ecosystem followed. It became the de facto standard for RSS, effectively pushing everyone else out.

The rise in popularity of social media as a news source meant many were already declaring that RSS was done but Reader's closure sounded the death knell and left a massive vacuum when Google decided to concentrate on Google Plus.

That synonymity between service and standard meant the closure of one symbolised the demise of the other but standards only "die" when they are superseded by something else, something better. While using social streams as news delivery mechanisms certainly became de rigueur, and the real time nature of Twitter is admittedly unsurpassed, this cannot be seen as sufficiently better to kill off a standard.

So, what of the indieweb and webmentions?

I previously argued that wider indieweb adoption would probably happen by stealth rather than being actively sought out by average users.

"What if, for example, Automattic (the company behind WordPress) suddenly decided that all standard WordPress.com themes were going to include microformats2 markup and support webmentions? You've instantly got millions of people with an indieweb presence who haven't got a clue what it is or how it works, just that things are a little different."

The WordPress community currently seems reluctant to entertain the idea of indieweb integration but what would happen if such a major player did enter the arena and started to impose its own requirements just as Google did with RSS?

The sudden injection of millions of indieweb properties would likely cause a further rush of adoption as others seek to implement a technology which they feel would generate exposure and engagement.

Such adoption, however, would not be against the recognised standard but in line with the custom requirements imposed above to (selfishly) ensure maximum compatibility rather than compliance.

James' fear of a big tech company usurping an open platform could be realised and this custom implementation may become synonymous with the technology itself.

To take this to its logical conclusion, what would happen if after a few years the major player suddenly decided to ditch indieweb technologies in favour of the next big thing?

Where would that leave everyone?

Those who relied directly on the platform dropping support would obviously be affected until an alternative became available. In the case of something like WordPress this would obviously be via plugins.

But, the advantage this has over the RSS issue, even with a major player dropping support, is the very nature of the indieweb itself.

When Google Reader closed people had to actively seek an alternative in order to continue consuming their RSS feeds. This pushed many towards simply using their social streams - they couldn’t be bothered to find an equivalent service and re-add all their feeds.

No such need would exist with something like webmentions. People may not be able to immediately interact with as many properties but things wouldn’t stop working for those not hosted on the major player’s platform.

Sites interact directly with each other without the need for any central agency. If everyone had decided to adopt a custom implementation it would still work between all those sites that used it.

The very fact the technology would have been deployed across many different platforms means it couldn’t contain any showstopping proprietary requirements even if it did not adhere strictly to the original standard.

The overall impact would be significantly reduced.

>     >>