From 14e58b4137f8f77af43cad8b712596c2e1ab7e8a Mon Sep 17 00:00:00 2001 From: Vika Date: Mon, 26 Aug 2024 17:49:45 +0300 Subject: Indicate `u-uid` as `rel=canonical` This only displays on top-level entries, not ones in feeds. This should help search indexers know which URI is the canonical for a given link. I wonder why Google doesn't bother to parse MF2 markup. Do they think themselves monarchs of the Internet, able to show peasants their place? their search results are shitty anyway, I'd rather ask GPT-2. Yes, GPT TWO. Not even 3, 4 or 4o! --- templates/src/mf2.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'templates') diff --git a/templates/src/mf2.rs b/templates/src/mf2.rs index 0b33f9f..4a683d6 100644 --- a/templates/src/mf2.rs +++ b/templates/src/mf2.rs @@ -21,9 +21,9 @@ fn decode_geo_uri(uri: &str) -> String { } markup::define! { - Entry<'a>(post: &'a serde_json::Value) { + Entry<'a>(post: &'a serde_json::Value, from_feed: bool) { @if post.pointer("/properties/like-of").is_none() && post.pointer("/properties/bookmark-of").is_none() { - @FullEntry { post } + @FullEntry { post, from_feed: *from_feed } } else { // Show a mini-post. @MiniEntry { post } @@ -96,7 +96,7 @@ markup::define! { } } } - FullEntry<'a>(post: &'a serde_json::Value) { + FullEntry<'a>(post: &'a serde_json::Value, from_feed: bool) { article."h-entry" { header.metadata { @if let Some(name) = post["properties"]["name"][0].as_str() { @@ -121,7 +121,7 @@ markup::define! { } div { span { - a."u-url"."u-uid"[href=post["properties"]["uid"][0].as_str().unwrap()] { + a."u-url"."u-uid"[href=post["properties"]["uid"][0].as_str().unwrap(), rel=(!from_feed).then_some("canonical")] { @if let Some(published) = post["properties"]["published"][0].as_str() { time."dt-published"[datetime=published] { @chrono::DateTime::parse_from_rfc3339(published) @@ -367,7 +367,7 @@ markup::define! { @if feed["children"].is_array() { @for child in feed["children"].as_array().unwrap() { @match child["type"][0].as_str().unwrap() { - "h-entry" => { @Entry { post: child } } + "h-entry" => { @Entry { post: child, from_feed: true, } } "h-feed" => { @Feed { feed: child, cursor: None } } "h-food" => { @Food { food: child } } //"h-event" => { } -- cgit 1.4.1