indieweb directory
This article is a stub. You can help the IndieWeb wiki by expanding it.
An indieweb directory is a directory of indieweb sites; there are a couple of examples, and there is a brainstorm for a simple canonical retro-designed indieweb directory.
IndieWeb Examples
Examples of indieweb directories:
Indieseek
- Indieseek.xyz Indieweb Directory is a human edited, Indieweb directory created by Brad Enslen.
href.cool
- href.cool is a directory inspired by the old, failed link collections like the original Yahoo! and DMOZ created by Kicks Condor
Brainstorming
indieweb.us
Aaron Parecki has indieweb.us and asked (2024-11-16) what to do with it.
Tantek Çelik suggested it could be a/the indieweb directory by the implied meaning of the name "IndieWeb dot Us", where "us" can be read as a group pronoun.
Thoughts from Tantek Çelik how it could work:
- indieweb.us should be the directory. Have to sign-in with IndieAuth to add yourself and it automatically puts you/your site in hashtag pages according to the hashtags/p-category that of all your recent posts on your home page, that are in 2+ posts
- because you have to sign-in with IndieAuth to add your site, it's 100% opt-in
- would make a great "simple" demo for IndieAuth where just signing in does something. no complex UI needed, no need to enter an email address or other extra identity workflow nonsense
- bet it would motivate a bunch of IndieAuth setups
- just so people show up in the directory
- a directory of indieweb sites is probably one of the most ask for things by new people in #indieweb chat
- and something that's 100% automatic after you sign-in would be kinda amazing, and demonstrate what all the building blocks enable
- so literally it's 1. sign-in == opt-in 2. there is no step 2
- I wouldn't even call it sign-in. I'd call it "Add your website: [ https:/example.com ]"
- and the trick is that to "refresh" the information about your domain, you would just "Add your site" again. so if they don't like the title, they can go fix it on their site, and the re-add it
What about name+photo? — Aaron Parecki
- Aaron Parecki: most people won't have an h-card yet, so they would need to add one
- Tantek Çelik: right, absent that it would tell you and and prompt to redirect you to IndieWebifyMe to help you with your h-card
- Tantek Çelik: like it would pre-fill in the 'url' input here with your website: https://indiewebify.me/validate-h-card/
- Tantek Çelik: so in response to "what about name+photo" I would say unnecessary for v1, except to use the <title> of the page for link text of the domain in the directory
- also IIRC the original Yahoo interface didn't have "name+photo", just site name, which you can get from the <title> of the home page
In practice the <title> tag is pretty messy, so I would at least want to let people edit what was pulled from there — Aaron Parecki
- Tantek Çelik: nah, let their mess be obvious. I bet in practice the typical *indieweb* site does not have a messy <title>
- Tantek Çelik: I think it's quite indieweb to encourage people to fix their site rather than gathering separate side-data about their site somewhere else (an alternative title)
- Tantek Çelik: also simplifies the data model of the directory — the only key piece of information it needs to keep is (1) the URL. and maybe (2) the date added (could be useful for other UI things like sorting etc., or "in directory since ..." features in the future. all other data (like the <title> of the home page) is merely "cached" e.g. the hashtags from 2+ posts on the home page h-entry posts etc. IMO that's the proper "indieweb" design — no side data, all "data" is retrieved/generated from the person's site
How do we build this? (time?)
- Tantek Çelik: if we can break it into pieces, I can help with some front end bits. maybe even some back end functions to do things like: h-feed -> list of hashtags in 2+ posts in the h-feed. would be cool to build it as a set of re-usable components that could be useful for other projects
Possible components/functions:
- minimal website starter code that consumes IndieAuth and then displays the signed in URL and a sign-out button.
- function to extract plain text from the <title> of a URL
- function to parse out the main h-feed from a URL (including code that explicitly picks the "main" h-feed, no matter how deep in the mf2json of the page)
- function that consumes mf2json of an h-feed, and returns a plain text list of (hash)tags that occur in 2+ h-entry posts in that h-feed, ordered by frequency of (hash)tags across those posts (alphabetical for tied frequencies).
- function that consumes a plain text array of hashtags and produces an alphabetically sorted HTML list of links to subpages by hashtag
- function that consumes a plain text array of URLs and site names (from title tags), and returns an alphabetically sorted HTML list of those links with site names as their link text
- CSS to display the above lists similar to https://www.webdesignmuseum.org/gallery/yahoo-1994
- ...