Coder Social home page Coder Social logo

indiewebring.ws's Introduction

indiewebring.ws's People

Contributors

corlaez avatar dependabot[bot] avatar martymcguire avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

corlaez

indiewebring.ws's Issues

Proxy images

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.

Possible to customize emoji set?

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 πŸ’œπŸπŸ’œ.

Remove inactive profiles from the IndieWeb webring

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:

  • Remove the inactive profiles; or
  • Create a new status called "inactive" and add a new subheading to display these webring participants.

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!

Improve accessibility of the output code for the webring

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.

"Check your homepage h-card" doesn't pick up u-photo unless it's nested directly under the h-card tag

IndieWeb IRC chat for reference.

I have my u-photo nested two or three divs 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.