This project has moved!
martymcguire / indiewebring.ws Goto Github PK
View Code? Open in Web Editor NEWCode for the glitch.com-powered site at πΈπ.ws
Code for the glitch.com-powered site at πΈπ.ws
This project has moved!
Proxying remote images (IndieWeb u-photos) will reduce DNS lookups and avoid any CORS issues. With server-side caching, it could also reduce unnecessary traffic to servers of participating members. In the future, it could hypothetically open the doors to pre-processing excessively large images.
The h-card info in the profile page seems to come from my h-entries and not the higher level (in the document tree) h-card on my site.
https://ruby.microformats.io/microformats?utf8=%E2%9C%93&url=https%3A%2F%2Fignite.digitalignition.net%2F shows the properties on the feed with much more info/larger avatar than the one embedded in each entry.
Shouldn't it prefer the higher level node?
My webring entry got the rather hard to view and literally-impossible-to-type designation "πβοΈ*β£". It'd be neat if we had the option to specify some (unique) emoji that are particularly relevant to us, for example if I had a choice I'd go with πππ.
We should be able to use an out-of-the-box OAuth2 client like https://github.com/panva/node-openid-client for this
There are a number of inactive profiles on the IndieWeb webring. This means that it is more difficult for people who are surfing the webring to discover new sites.
The webring was the rabbit hole that got me interested in the IndieWeb. If we do not include inactive profiles in the main webring, visitors may be more likely to keep looking through IndieWeb sites.
We could either:
We could send a webmention to all inactive profiles asking whether they'd still like to be included on the webring. If someone does not respond, we could add them to the "inactive" list.
Some people may have accidentally removed or changed the webring as they have updated their site and so I'd be in favor of creating a new "inactive" status.
By my count, there are 25 inactive users out of a total of 132 users. One of the inactive users is me as I changed my domain.
I have attached a script below that you can use to verify my findings:
import re
import json
import mf2py
import requests
from bs4 import BeautifulSoup
webring_raw = mf2py.parse(url="https://xn--sr8hvo.ws/directory")
results = []
# Check whether a site still displays a link to the webring
for item in webring_raw["items"]:
page = item["properties"]["url"]
try:
open_page = requests.get(page[0], timeout=10).content
soup = BeautifulSoup(open_page, "html.parser")
print("Checking {}".format(page[0]))
# Search for any instances of the webring URL
# Users may link in different ways but the webring URL is a common attribute among all profiles
has_link = soup.findAll("a", attrs={ "href": re.compile("https://xn--sr8hvo.ws*") })
if has_link:
status = "active"
else:
status = "inactive"
results.append(
{
"url": page[0],
"status": status
}
)
except:
print("Error in retrieving {}".format(page[0]))
results.append(
{
"url": page[0],
"status": "error"
}
)
with open("webring_results.json", "w+") as file:
json.dump(results, file)
# Script to tally up final results
# total = 0
# inactive = 0
# check = 0
# with open("webring_results.json", "r") as file:
# data = json.load(file)
# for d in data:
# total += 1
# if d["status"] == "inactive":
# inactive += 1
# elif d["status"] == "check":
# check += 1
# print("There are {} users on the webring.".format(total))
# print("There are {} inactive users.".format(inactive))
# print("There are {} users whose profiles need checked.".format(check))
If you are not familiar with Python, I'd be happy to walk you through the script!
Hello!
I think there's room to improve the accessibility of the output code as the arrows don't read well on screen readers (or as a standalone link).
On my own website I added some aria-labels to describe the arrows. Here's an example:
<a href="https://xn--sr8hvo.ws/previous" aria-label="Previous website in the IndieWeb webring">β</a> An IndieWeb Webring πΈπ <a href="https://xn--sr8hvo.ws//next" aria-label="Next website in the IndieWeb webring">
Since my website already has lang=en
set it doesn't matter, but this might not be be case for people copy/pasting this code who may have a website in any other language. So I also think there should be some sort of lang=en
wrapping up the output.
I also like Calum's approach on his website.
Opening up the issue as I'm sure there could be great suggestions of how to keep the code simple as well.
IndieWeb IRC chat for reference.
I have my u-photo nested two or three div
s under the h-card
div
. This causes Indiwebring to not pick up my photo.
When I added a hidden image directly underneath the h-card
tag, Indiewebring was able to parse it.
The expectation is that no matter how far nested the u-photo or any property is, it should be parsed and picked up.You may see the current source HTML on my site.
This is a behaviour that is also mimicked by IndieWeb Webify and a similar issue has been filed.
Is this expected behaviour? I tested it with some random sites aswell as mine, I clicked next, and then previous, and almost never went back to the original site.
Also, maybe the ring should have a separate "see a random page" button?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.