eupolicy.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
This Mastodon server is a friendly and respectful discussion space for people working in areas related to EU policy. When you request to create an account, please tell us something about you.

Server stats:

206
active users

#100PostsOfIndieWeb

0 posts0 participants0 posts today
Tantek Çelik<p>⚠️ .io domain<a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-1" rel="nofollow noopener" target="_blank">¹</a> likely being phased-out<a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-2" rel="nofollow noopener" target="_blank">²</a> — seven suggested steps<br><br>Good article in The Verge summarizing recent .io related events, see that for more context if this is news to you:<br>* <a class="" href="https://www.theverge.com/2024/10/8/24265441/uk-treaty-end-io-domain-chagos-islands" rel="nofollow noopener" target="_blank">https://www.theverge.com/2024/10/8/24265441/uk-treaty-end-io-domain-chagos-islands</a><br><br>It looks likely .io (and .io domains) will go away in the next few years (as .cs and .yu did<a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-3" rel="nofollow noopener" target="_blank">³</a>), so here are my suggested steps to take depending on your usage of .io domains:<br><br>1. Avoid buying new .io domains (or making plans with existing ones; sell if you can)<br>2. If you currently run a .io service<a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-4" rel="nofollow noopener" target="_blank">⁴</a> (for a company or community), make and publicize a transition plan (like a new domain, redirection, orderly shutdown plan for redirects)<br>3. If you have a personal site on a .io domain<a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-5" rel="nofollow noopener" target="_blank">⁵</a> or subdomain, make your own transition plan, and perhaps post about how others should link to your posts<br>4. If you are using someone else’s .io domain to publish (like <a class="" href="https://indieweb.social/tags/GitHubPages" rel="nofollow noopener" target="_blank">#<span class="p-category">GitHubPages</span></a><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_note-6" rel="nofollow noopener" target="_blank">⁶</a>), make a transition plan to publish elsewhere and leave a forwarding note and link behind<br>5. If you use a .io domain as your Web sign-in login on any sites, switch them to another non-io personal domain<br>6. Similarly if your site accepts <a class="" href="https://indieweb.social/tags/WebSignIn" rel="nofollow noopener" target="_blank">#<span class="p-category">WebSignIn</span></a> logins (via <a class="" href="https://indieweb.social/tags/IndieAuth" rel="nofollow noopener" target="_blank">#<span class="p-category">IndieAuth</span></a>, <a class="" href="https://indieweb.social/tags/RelMeAuth" rel="nofollow noopener" target="_blank">#<span class="p-category">RelMeAuth</span></a>, or even <a class="" href="https://indieweb.social/tags/OpenID" rel="nofollow noopener" target="_blank">#<span class="p-category">OpenID</span></a>), consider discouraging any new sign-ups from .io domains, and warning any existing users with .io domains to switch per # 5<br>7. If you have posts (or a whole <a class="" href="https://indieweb.social/tags/indieweb" rel="nofollow noopener" target="_blank">#<span class="p-category">indieweb</span></a> site) with links to .io sites or pages (like those in 2-4 above), make a plan for editing those links to point to an alternative or an archival copy (like on the Internet Archive) <br><br>And of course, post about your <a class="" href="https://indieweb.social/tags/dotIO" rel="nofollow noopener" target="_blank">#<span class="p-category">dotIO</span></a> plans.<br><br>Glossary<br><br>Domain<br>&nbsp;<a class="" href="https://indieweb.org/domain" rel="nofollow noopener" target="_blank">https://indieweb.org/domain</a><br>IndieAuth<br>&nbsp;<a class="" href="https://indieweb.org/IndieAuth" rel="nofollow noopener" target="_blank">https://indieweb.org/IndieAuth</a><br>Internet Archive<br>&nbsp;<a class="" href="https://web.archive.org/" rel="nofollow noopener" target="_blank">https://web.archive.org/</a><br>OpenID<br>&nbsp;<a class="" href="https://indieweb.org/OpenID" rel="nofollow noopener" target="_blank">https://indieweb.org/OpenID</a><br>Redirect <br>&nbsp;<a class="" href="https://indieweb.org/redirect" rel="nofollow noopener" target="_blank">https://indieweb.org/redirect</a><br>RelMeAuth<br>&nbsp;<a class="" href="https://indieweb.org/RelMeAuth" rel="nofollow noopener" target="_blank">https://indieweb.org/RelMeAuth</a><br>Web sign-in<br>&nbsp;<a class="" href="https://indieweb.org/Web_sign-in" rel="nofollow noopener" target="_blank">https://indieweb.org/Web_sign-in</a><br><br><br>References: <br><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-1" rel="nofollow noopener" target="_blank">¹</a> <a class="" href="https://indieweb.org/.io" rel="nofollow noopener" target="_blank">https://indieweb.org/.io</a><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-2" rel="nofollow noopener" target="_blank">²</a> <a class="" href="https://en.wikipedia.org/wiki/.io#Phasing_Out" rel="nofollow noopener" target="_blank">https://en.wikipedia.org/wiki/.io#Phasing_Out</a><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-3" rel="nofollow noopener" target="_blank">³</a> <a class="" href="https://en.wikipedia.org/wiki/.cs" rel="nofollow noopener" target="_blank">https://en.wikipedia.org/wiki/.cs</a><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-4" rel="nofollow noopener" target="_blank">⁴</a> E.g. <a class="" href="https://indieweb.org/webmention.io" rel="nofollow noopener" target="_blank">https://indieweb.org/webmention.io</a> or <a class="" href="https://indieweb.org/granary.io" rel="nofollow noopener" target="_blank">https://indieweb.org/granary.io</a><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-5" rel="nofollow noopener" target="_blank">⁵</a> E.g. <a class="" href="https://indieweb.org/werd.io" rel="nofollow noopener" target="_blank">https://indieweb.org/werd.io</a><br><a href="https://tantek.com/2024/285/t1/io-domain-suggested-steps#t5ZT1_ref-6" rel="nofollow noopener" target="_blank">⁶</a> <a class="" href="https://indieweb.org/github.io" rel="nofollow noopener" target="_blank">https://indieweb.org/github.io</a> <br><br><br>This is post 25 of <a class="" href="https://indieweb.social/tags/100PostsOfIndieWeb" rel="nofollow noopener" target="_blank">#<span class="p-category">100PostsOfIndieWeb</span></a>. <a class="" href="https://indieweb.social/tags/100Posts" rel="nofollow noopener" target="_blank">#<span class="p-category">100Posts</span></a><br><br>← <a class="" href="https://tantek.com/2024/283/t1/metaphors-constructive-cooperative-joyful" rel="nofollow noopener" target="_blank">https://tantek.com/2024/283/t1/metaphors-constructive-cooperative-joyful</a><br>→ 🔮</p>
Tantek Çelik<p>Adventures in IndieWeb / ActivityPub (AP) bridging:<br><br>While in general my posts are being successfully federated by <a class="" href="https://fed.brid.gy/" rel="nofollow noopener" target="_blank">https://fed.brid.gy/</a> (#BridgyFed), my most recent three posts, and two more earlier this year, were delivered successfully to multiple <a class="" href="https://indieweb.social/tags/Mastodon" rel="nofollow noopener" target="_blank">#<span class="p-category">Mastodon</span></a> instances AP inboxes (returned 202), however the posts do not show up if you look-up my profile on those instances (and thus followers never saw them).<br><br>These most recent posts:<br>* <a class="" href="https://tantek.com/2024/245/t1/read-write-suggest-edit-web" rel="nofollow noopener" target="_blank">https://tantek.com/2024/245/t1/read-write-suggest-edit-web</a><br>* <a class="" href="https://tantek.com/2024/242/t1/indiewebcamp-portland" rel="nofollow noopener" target="_blank">https://tantek.com/2024/242/t1/indiewebcamp-portland</a><br>* <a class="" href="https://tantek.com/2024/238/t3/indiewebcamp-auto-linking" rel="nofollow noopener" target="_blank">https://tantek.com/2024/238/t3/indiewebcamp-auto-linking</a><br>and these earlier this year:<br>* <a class="" href="https://tantek.com/2024/173/t1/years-posse-microformats-adoption" rel="nofollow noopener" target="_blank">https://tantek.com/2024/173/t1/years-posse-microformats-adoption</a><br>* <a class="" href="https://tantek.com/2024/044/t1/twenty-years-microformats" rel="nofollow noopener" target="_blank">https://tantek.com/2024/044/t1/twenty-years-microformats</a><br><br>were all delivered to over 300 instances, which returned "202" codes, however none of them show up in profile views on those instances, e.g.<br>* <a class="" href="https://indieweb.social/@tantek.com@tantek.com" rel="nofollow noopener" target="_blank">https://indieweb.social/@tantek.com@tantek.com</a><br>* <a class="" href="https://mastodon.social/@tantek.com@tantek.com" rel="nofollow noopener" target="_blank">https://mastodon.social/@tantek.com@tantek.com</a><br>* <a class="" href="https://social.coop/@tantek.com@tantek.com" rel="nofollow noopener" target="_blank">https://social.coop/@tantek.com@tantek.com</a><br>* <a class="" href="https://w3c.social/@tantek.com@tantek.com" rel="nofollow noopener" target="_blank">https://w3c.social/@tantek.com@tantek.com</a><br>(My most recent post on all of these is the same 2024-08-25 post starting with “All setup here at IndieWebCamp Portland!”)<br><br>Why would a Mastodon instance respond with a 202 to an AP inbox delivery and then not show that post on the local profile view?<br><br>GitHub tracking bug in case you can help narrow/track this down or have <br>* <a class="" href="https://github.com/snarfed/bridgy-fed/issues/884" rel="nofollow noopener" target="_blank">https://github.com/snarfed/bridgy-fed/issues/884</a><br><br>Let’s see if this post makes it to your Mastodon (or other <a class="" href="https://indieweb.social/tags/fediverse" rel="nofollow noopener" target="_blank">#<span class="p-category">fediverse</span></a>) reader/client.<br><br><a class="" href="https://indieweb.social/tags/indieweb" rel="nofollow noopener" target="_blank">#<span class="p-category">indieweb</span></a> <a class="" href="https://indieweb.social/tags/ActivityPub" rel="nofollow noopener" target="_blank">#<span class="p-category">ActivityPub</span></a> <br><br>This is post 21 of <a class="" href="https://indieweb.social/tags/100PostsOfIndieWeb" rel="nofollow noopener" target="_blank">#<span class="p-category">100PostsOfIndieWeb</span></a>. <a class="" href="https://indieweb.social/tags/100Posts" rel="nofollow noopener" target="_blank">#<span class="p-category">100Posts</span></a><br><br>← <a class="" href="https://tantek.com/2024/245/t1/read-write-suggest-edit-web" rel="nofollow noopener" target="_blank">https://tantek.com/2024/245/t1/read-write-suggest-edit-web</a><br>→ 🔮</p>
Tantek Çelik<p>Happy 12 years of <a class="" href="https://indieweb.org/POSSE" rel="nofollow noopener" target="_blank">https://indieweb.org/POSSE</a> <a class="" href="https://indieweb.social/tags/POSSE" rel="nofollow noopener" target="_blank">#<span class="p-category">POSSE</span></a> and<br>19 years of <a class="" href="https://microformats.org/" rel="nofollow noopener" target="_blank">https://microformats.org/</a> <a class="" href="https://indieweb.social/tags/microformats" rel="nofollow noopener" target="_blank">#<span class="p-category">microformats</span></a>! (as of yesterday, the 20th)<br><br>A few highlights from the past year:<br><br>POSSE (Publish on your Own Site, Syndicate Elsewhere) has grown steadily as a common practice in the <a class="" href="https://indieweb.social/tags/IndieWeb" rel="nofollow noopener" target="_blank">#<span class="p-category">IndieWeb</span></a> community, personal sites, CMSs (like Withknown, which itself reached 10 years in May!), and services (like <a class="" href="https://micro.blog" rel="nofollow noopener" target="_blank">https://micro.blog</a> and Bridgy) for over a decade.<br><br>In its 12th year, POSSE broke through to broader technology press and adoption beyond the community. For example:<br><br>* David Pierce’s (<a class="" href="https://mas.to/@pierce" rel="nofollow noopener" target="_blank">@pierce@mas.to</a>) excellent article <a class="" href="https://TheVerge.com" rel="nofollow noopener" target="_blank">@TheVerge.com</a> (<a class="" href="https://mastodon.social/@verge" rel="nofollow noopener" target="_blank">@verge@mastodon.social</a>): “The poster’s guide to the internet of the future” (<a class="" href="https://www.theverge.com/2023/10/23/23928550/posse-posting-activitypub-standard-twitter-tumblr-mastodon" rel="nofollow noopener" target="_blank">https://www.theverge.com/2023/10/23/23928550/posse-posting-activitypub-standard-twitter-tumblr-mastodon</a>):<br>&nbsp; “Your post appears natively on all of those platforms, typically with some kind of link back to your blog. And your blog becomes the hub for everything, your main home on the internet.<br>Done right, POSSE is the best of all posting worlds.”<br><br>* David also recorded a 29 minute podcast on POSSE with some great interviews: <a class="" href="https://podcasts.apple.com/us/podcast/the-posters-guide-to-the-new-internet/id430333725?i=1000632256014" rel="nofollow noopener" target="_blank">https://podcasts.apple.com/us/podcast/the-posters-guide-to-the-new-internet/id430333725?i=1000632256014</a><br><br>* Cory Doctorow (<a class="" href="https://craphound.com" rel="nofollow noopener" target="_blank">@craphound.com</a> <a class="" href="https://mamot.fr/@doctorow" rel="nofollow noopener" target="_blank">@doctorow@mamot.fr</a>) declared in his Pluralistic blog (<a class="" href="https://pluralistic.net" rel="nofollow noopener" target="_blank">@pluralistic.net</a>) post: “Vice surrenders” (<a class="" href="https://pluralistic.net/2024/02/24/anti-posse/" rel="nofollow noopener" target="_blank">https://pluralistic.net/2024/02/24/anti-posse/</a>):<br>&nbsp; “This is the moment for POSSE (Post Own Site, Share Everywhere [sic]), a strategy that sees social media as a strategy for bringing readers to channels that you control” <br><br>* And none other than Molly White (<a class="" href="https://mollywhite.net" rel="nofollow noopener" target="_blank">@mollywhite.net</a> <a class="" href="https://hachyderm.io/@molly0xfff" rel="nofollow noopener" target="_blank">@molly0xfff@hachyderm.io</a>) of <a class="" href="https://web3isgoinggreat.com" rel="nofollow noopener" target="_blank">@web3isgoinggreat.com</a> (<a class="" href="https://indieweb.social/@web3isgreat" rel="nofollow noopener" target="_blank">@web3isgreat@indieweb.social</a>) built, deployed, and started actively using her own POSSE setup as described in her post titled “POSSE” (<a class="" href="https://www.mollywhite.net/micro/entry/202403091817" rel="nofollow noopener" target="_blank">https://www.mollywhite.net/micro/entry/202403091817</a>) to: <br>&nbsp; "… write posts in the microblog and automatically crosspost them to Twitter/Mastodon/Bluesky, while keeping the original post on my site."<br>&nbsp; <br>Congrats Molly and well done!<br><br><br>In its 19th year, the microformats formal <a class="" href="https://indieweb.social/tags/microformats2" rel="nofollow noopener" target="_blank">#<span class="p-category">microformats2</span></a> syntax and popular vocabularies h-card, h-entry, and h-feed, kept growing across IndieWeb (micro)blogging services and software like CMSs &amp; SSGs both for publishing, and richer peer-to-peer social web interactions via <a class="" href="https://indieweb.social/tags/Webmention" rel="nofollow noopener" target="_blank">#<span class="p-category">Webmention</span></a>.<br><br>Beyond the IndieWeb, the rel=me microformat, AKA <a class="" href="https://indieweb.social/tags/relMe" rel="nofollow noopener" target="_blank">#<span class="p-category">relMe</span></a>, continues to be adopted by services to support <a class="" href="https://indieweb.social/tags/distributed" rel="nofollow noopener" target="_blank">#<span class="p-category">distributed</span></a> <a class="" href="https://indieweb.social/tags/verification" rel="nofollow noopener" target="_blank">#<span class="p-category">verification</span></a>, such as these in the past year: <br><br>* Meta Platforms <a class="" href="https://indieweb.social/tags/Threads" rel="nofollow noopener" target="_blank">#<span class="p-category">Threads</span></a> user profile "Link" field<a href="https://tantek.com/2024/173/t1/years-posse-microformats-beyond#t5Xa1_note-1" rel="nofollow noopener" target="_blank">¹</a> <br>* <a class="" href="https://indieweb.social/tags/Letterboxd" rel="nofollow noopener" target="_blank">#<span class="p-category">Letterboxd</span></a> user profile website field<a href="https://tantek.com/2024/173/t1/years-posse-microformats-beyond#t5Xa1_note-2" rel="nofollow noopener" target="_blank">²</a><br><br><br>For both POSSE and microformats, there is always more we can do to improve their techniques, technologies, and tools to help people own their content and identities online, while staying connected to friends across the web.<br><br>Got suggestions for this coming year? Join us in chat:<br>* <a class="" href="https://chat.indieweb.org/dev" rel="nofollow noopener" target="_blank">https://chat.indieweb.org/dev</a><br>* <a class="" href="https://chat.indieweb.org/microformats" rel="nofollow noopener" target="_blank">https://chat.indieweb.org/microformats</a><br>for discussions about POSSE and microformats, respectively.<br><br><br>Previously: <a class="" href="https://tantek.com/2023/171/t1/anniversaries-microformats-posse" rel="nofollow noopener" target="_blank">https://tantek.com/2023/171/t1/anniversaries-microformats-posse</a><br><br><br>This is post 15 of <a class="" href="https://indieweb.social/tags/100PostsOfIndieWeb" rel="nofollow noopener" target="_blank">#<span class="p-category">100PostsOfIndieWeb</span></a>. <a class="" href="https://indieweb.social/tags/100Posts" rel="nofollow noopener" target="_blank">#<span class="p-category">100Posts</span></a><br><br>← <a class="" href="https://tantek.com/2024/151/t1/minimum-interesting-service-worker" rel="nofollow noopener" target="_blank">https://tantek.com/2024/151/t1/minimum-interesting-service-worker</a><br>→ <a class="" href="https://tantek.com/2024/237/t1/people-over-protocols-platforms" rel="nofollow noopener" target="_blank">https://tantek.com/2024/237/t1/people-over-protocols-platforms</a><br><br><br>Post glossary:<br><br>Bridgy<br>&nbsp; <a class="" href="https://brid.gy/" rel="nofollow noopener" target="_blank">https://brid.gy/</a> and <a class="" href="https://fed.brid.gy/" rel="nofollow noopener" target="_blank">https://fed.brid.gy/</a> for direct federation instead of POSSE<br>CMS<br>&nbsp; <a class="" href="https://indieweb.org/CMS" rel="nofollow noopener" target="_blank">https://indieweb.org/CMS</a><br>h-card<br>&nbsp; <a class="" href="https://microformats.org/wiki/h-card" rel="nofollow noopener" target="_blank">https://microformats.org/wiki/h-card</a><br>h-entry<br>&nbsp; <a class="" href="https://microformats.org/wiki/h-entry" rel="nofollow noopener" target="_blank">https://microformats.org/wiki/h-entry</a><br>h-feed<br>&nbsp; <a class="" href="https://microformats.org/wiki/h-feed" rel="nofollow noopener" target="_blank">https://microformats.org/wiki/h-feed</a><br>microformats2 syntax<br>&nbsp; <a class="" href="https://microformats.org/wiki/microformats2-parsing" rel="nofollow noopener" target="_blank">https://microformats.org/wiki/microformats2-parsing</a><br>rel-me<br>&nbsp; <a class="" href="https://microformats.org/wiki/rel-me" rel="nofollow noopener" target="_blank">https://microformats.org/wiki/rel-me</a><br>SSG<br>&nbsp; <a class="" href="https://indieweb.org/SSG" rel="nofollow noopener" target="_blank">https://indieweb.org/SSG</a><br>Webmention<br>&nbsp; <a class="" href="https://indieweb.org/Webmention" rel="nofollow noopener" target="_blank">https://indieweb.org/Webmention</a><br>Withknown<br>&nbsp; <a class="" href="https://indieweb.org/Known" rel="nofollow noopener" target="_blank">https://indieweb.org/Known</a><br><br><br>References:<br><br><a href="https://tantek.com/2024/173/t1/years-posse-microformats-beyond#t5Xa1_ref-1" rel="nofollow noopener" target="_blank">¹</a> <a class="" href="https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me" rel="nofollow noopener" target="_blank">https://tantek.com/2023/234/t1/threads-supports-indieweb-rel-me</a><br><a href="https://tantek.com/2024/173/t1/years-posse-microformats-beyond#t5Xa1_ref-2" rel="nofollow noopener" target="_blank">²</a> <a class="" href="https://indieweb.org/rel-me#Letterboxd" rel="nofollow noopener" target="_blank">https://indieweb.org/rel-me#Letterboxd</a></p>
Tantek Çelik<p>Yesterday I proposed the idea of a “minimum interesting service worker” that could provide a link (or links) to archives or mirrors when your site was unavailable as one possible solution to the desire to make personal <a class="" href="https://indieweb.social/tags/indieweb" rel="nofollow noopener" target="_blank">#<span class="p-category">indieweb</span></a> sites more reliable by providing at least a user path to “soft repair” links to your site that may otherwise seem broken.<br><br>Minimum because it only requires two files and one line of script in site footer template, and interesting because it provides both a novel user benefit and personal site publisher benefits.<br><br>The idea occurred to me during an informal coffee chat over Zoom with a couple of other Indieweb community folks yesterday, and afterwards I braindumped a bit into the IndieWeb Developers Chat channel<a href="https://tantek.com/2024/151/t1/minimum-interesting-service-worker#t5XD1_note-1" rel="nofollow noopener" target="_blank">¹</a>. Figured it was worth writing up rather than waiting to implement it.<br><br>Basic idea:<br><br>You have a service worker (and “offline” HTML page) on your personal site, installed from any page on your site, that all it does is cache the offline page, and on future requests to your site checks to see if the requested page is available, and if so serves it, otherwise it displays your offline page with a “site appears to be unreachable” message that a lot of service workers provide, AND provides an algorithmically constructed link to the page on an archive (e.g. Internet Archive) or static mirror of your site (typically at another domain).<br><br>This is minimal because it requires only two files: your service worker (a JS file) and your offline page (a minimal self-contained static HTML file with inline CSS). Doable in &lt;1k bytes of code, with no additional local caching or storage requirements, thus a negligible impact on site visitors (likely less than the cookies that major sites store).<br><br>User benefit:<br><br>If someone has ever visited your personal site, then in the future whenever they click a link to your pages or posts, if your site/domain is unavailable for any reason, then the reader would see a notice (from your offline page) and a link to view an archive/mirror copy instead, thus providing a one-click ability for the reader to “soft-repair” any otherwise apparently broken links to your site.<br><br>Personal site publisher benefits:<br><br>Having such a service worker that automatically provides your readers links to where they can view your content on an archive or mirror means you can go on vacation or otherwise step away from your personal site, knowing that if it does go down, (at least prior) site visitors will still have a way to click-through and view your published content.<br><br>Additional enhancements:<br><br>Ideally any archive or mirror copies would use rel=canonical to link back to the page on your domain, so any crawlers or search engines could automatically prefer your original page, or browsers could offer the user a choice to “View original”. You can do that by including a rel=canonical link in all your original pages, so when they are archived or mirrored, those copies automatically include a rel=canonical link back to your original page or post.<br><br>The simplest implementation would be to ping the Internet Archive to save<a href="https://tantek.com/2024/151/t1/minimum-interesting-service-worker#t5XD1_note-2" rel="nofollow noopener" target="_blank">²</a> your page or post upon publishing it. You could also add code to your site to explicitly generate a static mirror of your pages, perhaps with an SSG or crawler like Spiderpig, to a GitHub repo, which is then auto-served as GitHub static pages, perhaps on its own domain yet at the same paths as your original pages (to make it trivial to generate such mirror links automatically).<br><br>If you’re using links to the Internet Archive, you can generate them automatically by prefixing your page URL with <a class="" href="https://web.archive.org/web/*/" rel="nofollow noopener" target="_blank">https://web.archive.org/web/*/</a> e.g. this post:<br><br><a class="" href="https://web.archive.org/web/*/https://tantek.com/2024/151/t1/minimum-interesting-service-worker" rel="nofollow noopener" target="_blank">https://web.archive.org/web/*/https://tantek.com/2024/151/t1/minimum-interesting-service-worker</a><br><br>Possible generic library:<br><br>It may be possible to write this minimum interesting service worker (e.g. misv.js) as a generic (rather than site-specific) service worker that literally anyone with a personal site could “install” as is (a JS file, an HTML file, and a one-line script tag in their site-wide footer) and it would figure everything out from the context it is running in, unchanged (zero configuration necessary).<br><br><br>This is post 14 of <a class="" href="https://indieweb.social/tags/100PostsOfIndieWeb" rel="nofollow noopener" target="_blank">#<span class="p-category">100PostsOfIndieWeb</span></a>. <a class="" href="https://indieweb.social/tags/100Posts" rel="nofollow noopener" target="_blank">#<span class="p-category">100Posts</span></a><br><br>← <a class="" href="https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton" rel="nofollow noopener" target="_blank">https://tantek.com/2024/072/t1/created-at-indiewebcamp-brighton</a><br>→ 🔮<br><br><br>Post glossary:<br><br>GitHub static pages<br>&nbsp; <a class="" href="https://indieweb.org/GitHub_Pages" rel="nofollow noopener" target="_blank">https://indieweb.org/GitHub_Pages</a><br>HTML<br>&nbsp; <a class="" href="https://indieweb.org/HTML" rel="nofollow noopener" target="_blank">https://indieweb.org/HTML</a><br>JS<br>&nbsp; <a class="" href="https://indieweb.org/js" rel="nofollow noopener" target="_blank">https://indieweb.org/js</a><br>rel-canonical<br>&nbsp; <a class="" href="https://indieweb.org/rel-canonical" rel="nofollow noopener" target="_blank">https://indieweb.org/rel-canonical</a><br>service worker<br>&nbsp; <a class="" href="https://indieweb.org/service_worker" rel="nofollow noopener" target="_blank">https://indieweb.org/service_worker</a><br>Spiderpig<br>&nbsp; <a class="" href="https://indieweb.org/Spiderpig" rel="nofollow noopener" target="_blank">https://indieweb.org/Spiderpig</a><br>SSG<br>&nbsp; <a class="" href="https://indieweb.org/SSG" rel="nofollow noopener" target="_blank">https://indieweb.org/SSG</a><br><br>&nbsp; <br>References:<br><br><a href="https://tantek.com/2024/151/t1/minimum-interesting-service-worker#t5XD1_ref-1" rel="nofollow noopener" target="_blank">¹</a> <a class="" href="https://chat.indieweb.org/dev/2024-05-29#t1717006352142600" rel="nofollow noopener" target="_blank">https://chat.indieweb.org/dev/2024-05-29#t1717006352142600</a><br><a href="https://tantek.com/2024/151/t1/minimum-interesting-service-worker#t5XD1_ref-2" rel="nofollow noopener" target="_blank">²</a> <a class="" href="https://indieweb.org/Internet_Archive#Trigger_an_Archive" rel="nofollow noopener" target="_blank">https://indieweb.org/Internet_Archive#Trigger_an_Archive</a></p>