about summary refs log tree commit diff
path: root/templates/src/mf2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'templates/src/mf2.rs')
-rw-r--r--templates/src/mf2.rs10
1 files changed, 5 insertions, 5 deletions
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" => { }