This is a valid Atom 1.0 feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
<link href="https://tantek.com/updates.atom" rel="self"/>
^
line 16, column 121: (5 occurrences) [help]
... ="alternate" title="" type="text/html"/>
^
line 24, column 4: (5 occurrences) [help]
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
^
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
<title>Tantek Çelik</title>
<link href="https://tantek.com/" rel="alternate" title="Tantek Çelik" type="text/html"/>
<link href="https://tantek.com/updates.atom" rel="self"/>
<link rel="hub" href="https://pubsubhubbub.superfeedr.com/"/>
<id>https://tantek.com/updates.atom</id>
<author>
<name>Tantek</name>
<uri>https://tantek.com/</uri>
</author>
<updated>2024-03-15T21:35:00-07:00</updated>
<entry>
<updated>2024-03-15T21:35:00-07:00</updated>
<published>2024-03-15T21:35:00-07:00</published>
<link href="https://tantek.com/2024/075/t1/css-more-robust-style-element" rel="alternate" title="" type="text/html"/>
<id>https://tantek.com/2024/075/t1/css-more-robust-style-element</id>
<title type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" class="if-your-feed-reader-displays-this-then-it-is-violating-the-Atom-spec-RFC-4287-section-4.2.14"/>
</title>
<content type="xhtml" xml:base="https://tantek.com/" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">While an HTML style element for inline CSS needs nothing but simple start and end tags (as of HTML5 and later)<br class="auto-break"/><br class="auto-break"/><style> <br class="auto-break"/>p { color: red }<br class="auto-break"/></style><br class="auto-break"/><br class="auto-break"/>a more robust style element requires a precise series of overlapping code comments.<br class="auto-break"/><br class="auto-break"/>Here is the answer if you want a code snippet to copy & paste<br class="auto-break"/><br class="auto-break"/><style><!--/*--><![CDATA[*/ <br class="auto-break"/>p { color: red } /* you may delete this sample style rule */<br class="auto-break"/>/*]]><!--*/--></style><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Here is why:<br class="auto-break"/><br class="auto-break"/>1. Not all HTML processors are CSS processors. While all modern browsers know how to parse CSS in style elements inside HTML, it is still quite reasonable for people to build HTML processors that do not, and many exist. There are plenty of ways to errantly or deliberately misplace markup inside a style element, like in a CSS comment, that such processors will not see, that can break them and cause unexpected and different results in different processors. Strictly speaking any use of > child combinator selector syntax should also be HTML escaped (as &gt;) inside a style elment.<br class="auto-break"/><br class="auto-break"/>Thus it makes your HTML more parseable, by more processors, if you can hide the entirety of the style sheet inside the style element from such processing, including any child combinators. A CDATA section does exactly that:<br class="auto-break"/><br class="auto-break"/><style><![CDATA[ <br class="auto-break"/>p { color: orange } /* CDATA allows a </style> here to not close the element */<br class="auto-break"/>body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br class="auto-break"/>]]></style><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>2. However CSS syntax does not recognize a CDATA directive (even as of the latest published CSS Syntax Module Level 3<a id="t5Vx1_ref-1" href="#t5Vx1_note-1">¹</a> or editor's draft<a id="t5Vx1_ref-2" href="#t5Vx1_note-2">²</a> as of this writing). CSS parsers may very well treat a CDATA directive as a syntax error that invalidates the subsequent style rule.<br class="auto-break"/><br class="auto-break"/>Thus we must hide the CDATA directive, its opening and closing markup, from CSS parsers. CSS code comments /* ... */ can do exactly that:<br class="auto-break"/><br class="auto-break"/><style>/*<![CDATA[*/ <br class="auto-break"/>p { color: orange } /* CDATA allows a </style> here to not close the element */<br class="auto-break"/>body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br class="auto-break"/>/*]]>*/</style><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>3. This is close but still exposes HTML processors that do not process CSS to a minimal bit of content, the CSS comment opener and closer that are outside the CDATA section:<br class="auto-break"/><br class="auto-break"/>/* */<br class="auto-break"/><br class="auto-break"/>This recently showed up in a draft of the This Week in The #<span class="p-category auto-tag">IndieWeb</span> newsletter<a id="t5Vx1_ref-3" href="#t5Vx1_note-3">³</a>, because portions of it are automatically constructed by parsing the HTML of MediaWiki pages for content, and one of those used a MediaWiki template that included a minimal style element to style the marked up content inserted by the template. A draft of the newsletter was showing raw CSS, extracted as text from the style element by the CSS-unaware parser extracting content. I was able to hide nearly all of it using CSS comments around the CDATA section opener and closer. Except for that little bit of CSS comment noise outside the CDATA section: /* */<br class="auto-break"/><br class="auto-break"/>Fortunately there is one more tool in our toolbox that we can use. Simple HTML/SGML comments <!-- --> are ignored at the start and end of style sheets<a id="t5Vx1_ref-4" href="#t5Vx1_note-4">⁴</a> (noted there as CDO-token<a id="t5Vx1_ref-5" href="#t5Vx1_note-5">⁵</a> and CDC-token<a id="t5Vx1_ref-6" href="#t5Vx1_note-6">⁶</a>), and thus we can use those to hide the last two remaining CSS comment pieces that were leaking out, like this: <!-- /* --> and <!-- */ -->. Note that the portion of the HTML comment directives that are inside CSS comments are ignored by CSS processors, which is why this works for both processors that parse CSS and those that do not.<br class="auto-break"/><br class="auto-break"/>This last addition produces our answer, with no fewer than three different comment mechanisms (CDATA, CSS, HTML/SGML), overlapping to hide each other from different processors:<br class="auto-break"/><br class="auto-break"/><style><!--/*--><![CDATA[*/ <br class="auto-break"/>p { color: orange } /* CDATA allows a </style> here to not close the element */<br class="auto-break"/>body > p { margin: 1em } /* CDATA also allows an unescaped > child combinator */<br class="auto-break"/>/*]]><!--*/--></style><br class="auto-break"/><br class="auto-break"/>By replacing those informative style rules with a style rule to be deleted, we have recreated the code snippet to copy & paste from the top of the post: <br class="auto-break"/><br class="auto-break"/><style><!--/*--><![CDATA[*/ <br class="auto-break"/>p { color: red } /* you may delete this sample style rule */<br class="auto-break"/>/*]]><!--*/--></style><br class="auto-break"/><br class="auto-break"/>Q.E.D.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Afterword:<br class="auto-break"/><br class="auto-break"/>If you’re reading this in a traditional feed reader and see any red or orange text, then your feed reader has a bug (or a few) in its HTML parsing code.<br class="auto-break"/><br class="auto-break"/>If you View Source on this post’s original permalink or my home page you can see the more robust style element in a real world example, following the IndieWeb Use What You Make<a id="t5Vx1_ref-7" href="#t5Vx1_note-7">⁷</a> principle.<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">CSS</span> #<span class="p-category auto-tag">style</span> #<span class="p-category auto-tag">styleElement</span> #<span class="p-category auto-tag">styleSheet</span> #<span class="p-category auto-tag">HTML</span> #<span class="p-category auto-tag">HTML5</span> #<span class="p-category auto-tag">CSSsyntax</span> #<span class="p-category auto-tag">codeComments</span> #<span class="p-category auto-tag">CDATA</span> #<span class="p-category auto-tag">SGML</span> #<span class="p-category auto-tag">CSScomment</span> #<span class="p-category auto-tag">HTMLcomment</span> #<span class="p-category auto-tag">SGMLcomment</span><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>CDATA<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/CDATA">https://en.wikipedia.org/wiki/CDATA</a><br class="auto-break"/>CSS — Cascading Style Sheets<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/CSS">https://en.wikipedia.org/wiki/CSS</a><br class="auto-break"/>HTML — HyperText Markup Language<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/HTML">https://en.wikipedia.org/wiki/HTML</a><br class="auto-break"/>HTML5<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/HTML5">https://en.wikipedia.org/wiki/HTML5</a><br class="auto-break"/>IndieWeb Principles<br class="auto-break"/> <a class="auto-link" href="https://indieweb.org/principles">https://indieweb.org/principles</a><br class="auto-break"/>MediaWiki<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/MediaWiki">https://en.wikipedia.org/wiki/MediaWiki</a><br class="auto-break"/>original permalink<br class="auto-break"/> <a class="auto-link" href="https://indieweb.org/original_permalink">https://indieweb.org/original_permalink</a><br class="auto-break"/>Q.E.D.<br class="auto-break"/> <a class="auto-link" href="https://en.wikipedia.org/wiki/Q.E.D">https://en.wikipedia.org/wiki/Q.E.D</a>.<br class="auto-break"/><br class="auto-break"/>References:<br class="auto-break"/><br class="auto-break"/><a id="t5Vx1_note-1" href="#t5Vx1_ref-1">¹</a> <a class="auto-link" href="https://www.w3.org/TR/css-syntax-3/">https://www.w3.org/TR/css-syntax-3/</a><br class="auto-break"/><a id="t5Vx1_note-2" href="#t5Vx1_ref-2">²</a> <a class="auto-link" href="https://drafts.csswg.org/css-syntax/">https://drafts.csswg.org/css-syntax/</a><br class="auto-break"/><a id="t5Vx1_note-3" href="#t5Vx1_ref-3">³</a> <a class="auto-link" href="https://indieweb.org/this-week-in-the-indieweb">https://indieweb.org/this-week-in-the-indieweb</a> <br class="auto-break"/><a id="t5Vx1_note-4" href="#t5Vx1_ref-4">⁴</a> <a class="auto-link" href="https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram">https://www.w3.org/TR/css-syntax-3/#stylesheet-diagram</a><br class="auto-break"/><a id="t5Vx1_note-5" href="#t5Vx1_ref-5">⁵</a> <a class="auto-link" href="https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram">https://www.w3.org/TR/css-syntax-3/#CDO-token-diagram</a><br class="auto-break"/><a id="t5Vx1_note-6" href="#t5Vx1_ref-6">⁶</a> <a class="auto-link" href="https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram">https://www.w3.org/TR/css-syntax-3/#CDC-token-diagram</a><br class="auto-break"/><a id="t5Vx1_note-7" href="#t5Vx1_ref-7">⁷</a> <a class="auto-link" href="https://indieweb.org/use_what_you_make">https://indieweb.org/use_what_you_make</a></div>
</content>
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
</entry>
<entry>
<updated>2024-03-12T19:19:00-07:00</updated>
<published>2024-03-12T19:19:00-07:00</published>
<link href="https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton" rel="alternate" title="" type="text/html"/>
<id>https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton</id>
<title type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" class="if-your-feed-reader-displays-this-then-it-is-violating-the-Atom-spec-RFC-4287-section-4.2.14"/>
</title>
<content type="xhtml" xml:base="https://tantek.com/" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">What I created while remotely participating at #<span class="p-category auto-tag">IndieWebCamp</span> Brighton 2024: wiki-gardened day 1’s BarCamp sessions notes pages, and documented my @-mention @-@-mention autolinking coding improvements I built the Sunday before.<br class="auto-break"/><br class="auto-break"/>Day 2 of IndieWebCamps is Create Day, where everyone is encouraged to create, make, or build something for their personal website, or the IndieWeb community, or both.<br class="auto-break"/><br class="auto-break"/>At the start of day 2, everyone is encourage to pick things to make<a id="t5Vu1_ref-1" href="#t5Vu1_note-1">¹</a>. What to make at an IndieWebCamp<a id="t5Vu1_ref-2" href="#t5Vu1_note-2">²</a> can be anything from setting up your personal website, to writing a blog post, redesigning your styling, building new features, helping other participants, or contributing to shared IndieWeb community resources, whether code or content. <br class="auto-break"/><br class="auto-break"/>Everyone is encouraged to at least pick something they consider easy, that they can do in less than an hour, then a more bold goal, and then perhaps a stretch goal, something challenging that may require collaboration, asking for help, or breaking into smaller steps.<br class="auto-break"/><br class="auto-break"/>For my "easy" task, I built on what another remote participant, <a class="auto-link" href="https://gregorlove.com">@gregorlove.com</a> completed the night before. gRegor had archived all the IndieWebCamp Brighton Sessions Etherpads onto the wiki, linked from the Schedule page<a id="t5Vu1_ref-3" href="#t5Vu1_note-3">³</a>. gRegor had noted that he didn’t have time to clean-up the pages, e.g. convert and fix Markdown links.<br class="auto-break"/><br class="auto-break"/>I went through the 13 Session Notes archives and did the following:<br class="auto-break"/>* converted Markdown links to MediaWiki links<br class="auto-break"/>* converted <a class="auto-link" href="http://indieweb.org">indieweb.org</a> (and some services) links to local wiki page links<br class="auto-break"/>* fixed (some) typos<br class="auto-break"/><br class="auto-break"/>With some help from <a class="auto-link" href="https://alexsirac.com">@alexsirac.com</a> (<a class="auto-link" href="https://todo.eu/@alexture">@alexture@todo.eu</a>), I figured out how to create a MediaWiki Contributions summary link of my edits:<br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25">https://indieweb.org/wiki/index.php?title=Special:Contributions&target=Tantek.com&namespace=all&start=2024-03-10&end=2024-03-10&offset=20240310143900&limit=25</a><br class="auto-break"/><br class="auto-break"/>I point this out to provide an example of an IndieWeb Create Day project that is:<br class="auto-break"/>* incremental on top of someone else’s work<br class="auto-break"/>* community contribution rather a personal-focused project<br class="auto-break"/>* editing and wiki-gardening as valid contributions, not just creating new content<br class="auto-break"/><br class="auto-break"/>I point this out to illustrate some of the IndieWeb community's recognitions & values in contrast to typical corporate cultures and incentive systems which often only reward:<br class="auto-break"/>* new innovations (not incremental improvements)<br class="auto-break"/>* solo (or maybe jointly in a small team) inventions, designs, specs, or implementations<br class="auto-break"/>* something large, a new service or a big feature, not numerous small edits & fixes<br class="auto-break"/><br class="auto-break"/>In this regard, the IndieWeb community shares more in common with Wikipedia and similar collaborative communities (despite the #<span class="p-category auto-tag">Indie</span> in #<span class="p-category auto-tag">IndieWeb</span>), than any corporation.<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>For my "more bold" goal, I wrote a medium-sized post about the auto-linking improvements I made the Sunday before the IndieWebCamp to my personal website with examples and brief descriptions of the coding changes & improvements.<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>My stretch goal was to write up a more complete auto-linking specification, based on the research I have done into @-mention @-@-mention user practices (on #<span class="p-category auto-tag">Mastodon</span>, other #<span class="p-category auto-tag">ActivityPub</span> or #<span class="p-category auto-tag">fediverse</span> implementations, and even across #<span class="p-category auto-tag">socialMedia</span> silos), as well as how many implementations autolink plain text URLs, domains, and paths.<br class="auto-break"/><br class="auto-break"/>That stretch goal remains a goal, however I did collect a handful of prior posts on @-mentions which I plan to source for specifying auto-linking and @-mentioning:<br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/011/t1/indieweb-evolving-at-mention">https://tantek.com/2023/011/t1/indieweb-evolving-at-mention</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/014/t4/domain-first-federated-atmention">https://tantek.com/2023/014/t4/domain-first-federated-atmention</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/018/t1/elevate-indieweb-above-silo">https://tantek.com/2023/018/t1/elevate-indieweb-above-silo</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo">https://tantek.com/2023/019/t5/reply-domain-above-address-and-silo</a><br class="auto-break"/>* <a class="auto-link" href="https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread">https://tantek.com/2023/109/t2/years-ago-first-federated-indieweb-thread</a><br class="auto-break"/>#<span class="p-category auto-tag">autoLink</span> #<span class="p-category auto-tag">atDomain</span> #<span class="p-category auto-tag">atPath</span> #<span class="p-category auto-tag">atMention</span> #<span class="p-category auto-tag">atMentions</span> #<span class="p-category auto-tag">atat</span> #<span class="p-category auto-tag">atAtMention</span><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>I was one of a few remote participants in addition to ~18 in-person participants, the overwhelming majority of overall attendees, who demonstrated something at the end of IndieWebCamp Brighton 2024 day 2. See what everyone else made & demonstrated on Create Day:<br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/2024/Brighton/Demos">https://indieweb.org/2024/Brighton/Demos</a><br class="auto-break"/><br class="auto-break"/>And read what other participants have blogged about their IndieWebCamp Brighton experience:<br class="auto-break"/>* <a class="auto-link" href="https://roobottom.com/articles/plugging-into-the-indieweb/">https://roobottom.com/articles/plugging-into-the-indieweb/</a><br class="auto-break"/>* <a class="auto-link" href="https://adactio.com/journal/20968">https://adactio.com/journal/20968</a><br class="auto-break"/>* <a class="auto-link" href="https://theadhocracy.co.uk/wrote/indiewebcamp-brighton-2024/">https://theadhocracy.co.uk/wrote/indiewebcamp-brighton-2024/</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>This is post 13 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>← <a class="auto-link" href="https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a><br class="auto-break"/>→ 🔮<br class="auto-break"/><br class="auto-break"/><br class="auto-break"/>Glossary:<br class="auto-break"/><br class="auto-break"/>Create Day<br class="auto-break"/> <a class="auto-link" href="https://indieweb.org/Create_Day">https://indieweb.org/Create_Day</a><br class="auto-break"/>IndieWebCamp Brighton 2024<br class="auto-break"/> <a class="auto-link" href="https://indieweb.org/2024/Brighton">https://indieweb.org/2024/Brighton</a><br class="auto-break"/><br class="auto-break"/>References:<br class="auto-break"/><br class="auto-break"/><a id="t5Vu1_note-1" href="#t5Vu1_ref-1">¹</a> <a class="auto-link" href="https://indieweb.org/IndieWebCamps/Attending#Day_Two">https://indieweb.org/IndieWebCamps/Attending#Day_Two</a><br class="auto-break"/><a id="t5Vu1_note-2" href="#t5Vu1_ref-2">²</a> <a class="auto-link" href="https://indieweb.org/what_to_make_at_IndieWebCamp">https://indieweb.org/what_to_make_at_IndieWebCamp</a><br class="auto-break"/><a id="t5Vu1_note-3" href="#t5Vu1_ref-3">³</a> <a class="auto-link" href="https://indieweb.org/2024/Brighton/Schedule#Saturday">https://indieweb.org/2024/Brighton/Schedule#Saturday</a></div>
</content>
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
</entry>
<entry>
<updated>2024-03-10T07:55:00-07:00</updated>
<published>2024-03-10T07:55:00-07:00</published>
<link href="https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases" rel="alternate" title="" type="text/html"/>
<id>https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</id>
<title type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" class="if-your-feed-reader-displays-this-then-it-is-violating-the-Atom-spec-RFC-4287-section-4.2.14"/>
</title>
<content type="xhtml" xml:base="https://tantek.com/" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">Updated the auto-linking code<a id="t5Vs1_ref-1" href="#t5Vs1_note-1">¹</a> on my website last Sunday to handle a few more @-mention use-cases.<br class="auto-break"/><br class="auto-break"/>In particular:<br class="auto-break"/>* @-domains with dashes/hyphens like <a class="auto-link" href="https://sonja-weckenmann.de">@sonja-weckenmann.de</a><br class="auto-break"/>* @-@ with (some) Unicode alphabetic characters like <a class="auto-link" href="https://loðfíll.is/@briansuda">@briansuda@loðfíll.is</a><br class="auto-break"/>* @-domain-and-path for indicating @-mentions of silo profiles that don’t support @-@ syntax, like <a class="auto-link" href="https://flickr.com/people/tantek">@flickr.com/people/tantek</a> or <a class="auto-link" href="https://instagram.com/tantek">@instagram.com/tantek</a><br class="auto-break"/><br class="auto-break"/>I also dropped auto-linking of URLs with user:password "userinfo", since they’ve been long abandoned and effectively deprecated because there’s fairly wide agreement that such basic HTTP authentication<a id="t5Vs1_ref-2" href="#t5Vs1_note-2">²</a> was poorly designed and should not be used (and thus should not be linked).<br class="auto-break"/><br class="auto-break"/>If you’re curious you can take a look at <a class="auto-link" href="https://tantek.com/cassis.js">https://tantek.com/cassis.js</a>, which has updated functions:<br class="auto-break"/>* auto_link_re() — regular expression to recognize URLs, @-mentions, @-@, and footnotes to link<br class="auto-break"/>* auto_link() — specifically the code to recognize different kinds of @-@ and @-mentions and link them properly to profiles, domains, and paths.<br class="auto-break"/><br class="auto-break"/>This code is only live on my website (testing in production<a id="t5Vs1_ref-3" href="#t5Vs1_note-3">³</a> as it were) for now, and you’re welcome to copy/paste to experiment with it. I plan to test it more over the coming weeks (or so) and when I feel it is sufficiently well tested, will update it on GitHub<a id="t5Vs1_ref-4" href="#t5Vs1_note-4">⁴</a> as well.<br class="auto-break"/><br class="auto-break"/>With this additional auto-linking functionality, I feel I have a fairly complete implementation of how to auto-link various URLs and @-mentions, and plan to write that up at least as a minimal “list of use-cases and how they should work” auto-linking specification.<br class="auto-break"/><br class="auto-break"/>This (blog post) is my contribution to today’s #<span class="p-category auto-tag">IndieWebCamp</span> Brighton<a id="t5Vs1_ref-5" href="#t5Vs1_note-5">⁵</a> #<span class="p-category auto-tag">hackday</span>!<br class="auto-break"/><br class="auto-break"/>This was originally a project I wanted to complete during IndieWebCamp Nuremberg last October, however I was pre-occupied at the time with fixing other things.<a id="t5Vs1_ref-6" href="#t5Vs1_note-6">⁶</a><br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">autolink</span> #<span class="p-category auto-tag">atmention</span> #<span class="p-category auto-tag">atmentions</span> #<span class="p-category auto-tag">atat</span> #<span class="p-category auto-tag">atatmention</span><br class="auto-break"/><br class="auto-break"/>This is post 12 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>← <a class="auto-link" href="https://tantek.com/2024/047/t1/indieweb-major-update-design">https://tantek.com/2024/047/t1/indieweb-major-update-design</a><br class="auto-break"/>→ <a class="auto-link" href="https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton">https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton</a><br class="auto-break"/><br class="auto-break"/><br class="auto-break"/><a id="t5Vs1_note-1" href="#t5Vs1_ref-1">¹</a> <a class="auto-link" href="https://tantek.com/cassis.js">https://tantek.com/cassis.js</a><br class="auto-break"/><a id="t5Vs1_note-2" href="#t5Vs1_ref-2">²</a> <a class="auto-link" href="https://en.wikipedia.org/wiki/Basic_access_authentication">https://en.wikipedia.org/wiki/Basic_access_authentication</a><br class="auto-break"/><a id="t5Vs1_note-3" href="#t5Vs1_ref-3">³</a> <a class="auto-link" href="https://indieweb.org/test_in_production">https://indieweb.org/test_in_production</a><br class="auto-break"/><a id="t5Vs1_note-4" href="#t5Vs1_ref-4">⁴</a> <a class="auto-link" href="https://tantek.com/github/cassis">https://tantek.com/github/cassis</a><br class="auto-break"/><a id="t5Vs1_note-5" href="#t5Vs1_ref-5">⁵</a> <a class="auto-link" href="https://indieweb.org/2024/Brighton">https://indieweb.org/2024/Brighton</a><br class="auto-break"/><a id="t5Vs1_note-6" href="#t5Vs1_ref-6">⁶</a> <a class="auto-link" href="https://tantek.com/2023/302/t1/indiewebcamp-completed-projects">https://tantek.com/2023/302/t1/indiewebcamp-completed-projects</a></div>
</content>
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
</entry>
<entry>
<updated>2024-02-20T00:38:00-08:00</updated>
<published>2024-02-20T00:38:00-08:00</published>
<link href="https://tantek.com/2024/051/t1/finished-redtail-ridge-30k" rel="alternate" title="" type="text/html"/>
<id>https://tantek.com/2024/051/t1/finished-redtail-ridge-30k</id>
<title type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" class="if-your-feed-reader-displays-this-then-it-is-violating-the-Atom-spec-RFC-4287-section-4.2.14"/>
</title>
<content type="xhtml" xml:base="https://tantek.com/" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">This past Saturday: finished the #<span class="p-category auto-tag">InsideTrail</span> Redtail Ridge 30k #<span class="p-category auto-tag">trailRace</span> in 6:00:59.<br class="auto-break"/><br class="auto-break"/>A few notes:<br class="auto-break"/><br class="auto-break"/>This was my first trail race of 2024, and first in over 6 months, since last year’s Marin Ultra Challenge 50k and Broken Arrow 23k races in June<a id="t5VZ1_ref-1" href="#t5VZ1_note-1">¹</a>. Saw pal Henri after changing into my trail shoes in the Lake Chabot Regional Park parking lot. The storms had scared many away, fewer than 100 showed up to the combined 30k & 50k start. <br class="auto-break"/><br class="auto-break"/>The muddy rainy adventure began when we veered off the initial paved trail around the lake and onto a rocky uphill stretch. It was mostly an out-and-back course, with a bit of a loop in the middle. On the second half of that loop there was one fork in the trail without race markings. After spending minutes taking a peek down both options, I guessed right. About a half mile later a wooden trail post validated my choice.<br class="auto-break"/><br class="auto-break"/>I kept a sustainable run/hike pace, with some sliding in the mud, stepping around many ruts and puddles of unknown depths. Slower finish than 5 years ago<a id="t5VZ1_ref-2" href="#t5VZ1_note-2">²</a>, yet this time with a negative split, and earned my first DLF award!<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">30k</span> #<span class="p-category auto-tag">RedtailRidge</span> #<span class="p-category auto-tag">trailRun</span> #<span class="p-category auto-tag">trailRunner</span> #<span class="p-category auto-tag">runner</span> #<span class="p-category auto-tag">trailRunning</span> #<span class="p-category auto-tag">running</span> #<span class="p-category auto-tag">2024_048</span><br class="auto-break"/><br class="auto-break"/><a id="t5VZ1_note-1" href="#t5VZ1_ref-1">¹</a> <a class="auto-link" href="https://tantek.com/2023/178/t1/june-trailrunner-ultrarunner">https://tantek.com/2023/178/t1/june-trailrunner-ultrarunner</a><br class="auto-break"/><a id="t5VZ1_note-2" href="#t5VZ1_ref-2">²</a> <a class="auto-link" href="https://tantek.com/2019/048/t1/finshed-chabot-redtailridge-30k-pr">https://tantek.com/2019/048/t1/finshed-chabot-redtailridge-30k-pr</a></div>
</content>
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
</entry>
<entry>
<updated>2024-02-16T14:25:00-08:00</updated>
<published>2024-02-16T14:25:00-08:00</published>
<link href="https://tantek.com/2024/047/t1/indieweb-major-update-design" rel="alternate" title="" type="text/html"/>
<id>https://tantek.com/2024/047/t1/indieweb-major-update-design</id>
<title type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml" class="if-your-feed-reader-displays-this-then-it-is-violating-the-Atom-spec-RFC-4287-section-4.2.14"/>
</title>
<content type="xhtml" xml:base="https://tantek.com/" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml" xml:space="preserve">New this week: the #<span class="p-category auto-tag">IndieWeb</span> community deployed a major modern update to the design, usability, and cross-device support of the <a class="auto-link" href="https://indieweb.org/">https://indieweb.org/</a> home page and wiki in general! In brief:<br class="auto-break"/><br class="auto-break"/>* Updated MediaWiki install, updated themes, better mobile device support<br class="auto-break"/>* New default theme: Vector (2022), the same as English Wikipedia<br class="auto-break"/>* Lots of CSS fixes for content, sidebars, etc.<br class="auto-break"/>* Home page content simplification and more pleasing design update<br class="auto-break"/><br class="auto-break"/>Lots more details on the 2024 homepage and design update project page:<br class="auto-break"/>* <a class="auto-link" href="https://indieweb.org/2024/homepage">https://indieweb.org/2024/homepage</a><br class="auto-break"/><br class="auto-break"/>This was a community effort, with many people pitching in with major & minor contributions, spending weeks, days, hours, or a few minutes here and there helping out. From server work, to PHP coding, to HTML+CSS (re)coding, to testing variants of MediaWiki themes, browsers, and devices.<br class="auto-break"/><br class="auto-break"/>Huge thanks in particular to <a class="auto-link" href="https://PaulRobertLloyd.com">@PaulRobertLloyd.com</a> (<a class="auto-link" href="https://mastodon.social/@paulrobertlloyd">@paulrobertlloyd@mastodon.social</a>) for both driving this design update (e.g. said project page) and doing the heavy lifting of debugging, patching, and testing the latest MediaWiki Vector theme, documenting before & after screenshots, and <a class="auto-link" href="https://AaronParecki.com">@AaronParecki.com</a> (<a class="auto-link" href="https://aaronparecki.com/@aaronpk">@aaronpk@aaronparecki.com</a> <a class="auto-link h-cassis-username" href="https://twitter.com/aaronpk">@aaronpk</a>) for all the server-side software updates, PHP/IndieAuth wrangling, and critical devops too.<br class="auto-break"/><br class="auto-break"/>Go try the new <a class="auto-link" href="https://indieweb.org/">https://indieweb.org/</a> on any browser, on any device, and share your experience!<br class="auto-break"/><br class="auto-break"/>#<span class="p-category auto-tag">IndieNews</span><br class="auto-break"/><br class="auto-break"/>This is post 11 of #<span class="p-category auto-tag">100PostsOfIndieWeb</span>. #<span class="p-category auto-tag">100Posts</span><br class="auto-break"/><br class="auto-break"/>← <a class="auto-link" href="https://tantek.com/2024/046/t1/the-ephemeral-web">https://tantek.com/2024/046/t1/the-ephemeral-web</a><br class="auto-break"/>→ <a class="auto-link" href="https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases">https://tantek.com/2024/070/t1/updated-auto-linking-mention-use-cases</a></div>
</content>
<object-type xmlns="http://activitystrea.ms/spec/1.0/">note</object-type>
</entry>
</feed>
If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid Atom 1.0" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
Add this HTML to your page (change the image src
attribute if necessary):
If you would like to create a text link instead, here is the URL you can use:
http://www.feedvalidator.org/check.cgi?url=http%3A//tantek.com/updates.atom