$def with (url, details, audits, a11y, manifest) $ short_title = str(url).removeprefix("@").removeprefix("https://") $var title = short_title
Uninterpreted $title
$type:
a.k.a. $", ".join(nicknames)
$details["domain"]["name"] $if "metaverse" in details: $ hash = details["metaverse"][:5]$hash
$role
\
$if not loop.last:
,
$if note := card.pop("note", None):
$note[0]
$if categories := card.pop("category", None):đˇī¸
$for category in categories:
\
$if isinstance(category, dict):
$ cat_props = category.pop("properties")
$if "url" in cat_props:
\
$cat_props["name"][0]\
$if "url" in cat_props:
\
$else:
$category\
\
$if not loop.last:
,
đ $if street_address: $street_address[0] $ area_line = [] $if locality: $ area_line.append(locality[0]) $if region: $ area_line.append(region[0]) $", ".join(area_line) $if postal_code: $postal_code[0] $if country_name: $country_name[0]
$ emails = [e.partition(":")[2] for e in card.pop("email", [])] $ tels = [] $for tel in card.pop("tel", []): $if ":" in tel: $tels.append(tel.partition(":")[2]) $else: $tels.append(tel) $ keys = set(card.pop("key", []) + rels.pop("pgpkey", [])) $ all_urls = list(urls) $for _url in sorted(urls): $if _url.startswith("sms:") or _url.startswith("callto:"): $ tel = _url.partition(":")[2] $if tel not in tels: $ tels.append(tel) $urls.remove(_url) $elif _url.startswith("mailto:"): $ email = _url.partition(":")[2] $if email not in emails: $ emails.append(email) $urls.remove(_url) $if emails:đ $for key in keys: $key $if not loop.last: , $ web_sign_in.append(uri(key).minimized)
$def render_rel_me(silo_name, domain, profile_pattern, user): $ path = re.sub(r"(\(.+\))", user, profile_pattern).replace("\\", "") $user $ supported_web_signin_silos = ["github.com", "twitter.com"] $if urls: $for _url in sorted(urls): $if _url.startswith(url.minimized): $ urls.remove(_url) $continueNo representative card available.
$ license = rels.pop("license", None) $if license: $if "search_url" in details: $ search_url, search_query_name = details["search_url"]$pformat(entry)$if details["whostyle"]:
next: $rel_next[0]
$if rel_prev := rels.pop("prev", None):previous: $rel_prev[0]
No content feed available.
Supports $else:
Does not support IndieAuth\ $if auth_ep: $if token_ep: with a token endpoint\ $if ticket_ep: and a ticket endpoint\ .
$# $if auth_ep and not indieauth_metadata: $#rel=authorization_endpoint
is deprecated, leave
$# it for now but start using rel=indieauth-metadata
instead
$# read more
Supports web sign-in.
OpenID was a protocol for using a web address $# as an identity to sign-in to websites; it is losing support, is $# effectively dead (versions 1 & 2 are both deprecated, sites are $# dropping support), and has been replaced on the IndieWeb with $# web-sign-in and IndieAuth. read more
$ webmention_ep = rels.pop("webmention", None) $if webmention_ep:Supports $else:
Does not support Webmention on the homepage.
$ micropub_ep = rels.pop("micropub", None) $ media_ep = rels.pop("media-endpoint", None) $if micropub_ep:Supports $else:
Does not support Micropub\ $if micropub_ep and media_ep: with a media endpoint\ .
$ microsub_ep = rels.pop("microsub", None) $if microsub_ep:Supports $else:
Does not support Microsub.
No external stylesheets.
$# $# TODO inline stylesheets $# $#$script["text"]
No scripting.
$# $#...
Initial weight:
$response["length"] KB
Response time:
$if response["time"] < 1:
$round(response["time"] * 1000) ms
$else:
$round(response["time"], 2) s
$if audits:
Total weight:
$audits$# $get_human_size(audits["audits"]["total-byte-weight"]["numericValue"])
This site is secure and on the HSTS preload list.
$elif url.scheme == "https":This site is secure.
$else:This site is not secure.
This site has external dependencies.
This site is truly independent.
$len(a11y) accessibility concerns.
$else:There are no accessibility concerns.