chiark / gitweb /
wip links
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Jan 2021 22:58:15 +0000 (22:58 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 3 Jan 2021 22:58:15 +0000 (22:58 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/global.rs

index 10f13bd434767aaf1ce525d96f2483e0c968450a..79e30999ccf35cab315a82c349aa791fb68932e6 100644 (file)
@@ -455,6 +455,13 @@ impl Display for InstanceName {
   }
 }
 
+impl From<(LinkKind, &str)> for Html {
+  fn from((k, v): (LinkKind, &str)) -> Html {
+    let url = htmlescape::encode_minimal(v);
+    Html(format!("<a href={url}>{kind}</a>", url=url, kind=k))
+  }
+}
+
 impl Deref for LinksTable {
   type Target = EnumMap<LinkKind, Option<String>>;
   fn deref(&self) -> &Self::Target { &self.0 }
@@ -468,9 +475,7 @@ impl From<&LinksTable> for Html {
     Html(links.iter()
          .filter_map(|(k,v)| {
            let v = v.as_ref()?;
-           let url = htmlescape::encode_minimal(v);
-           Some(format!("<a href={url}>{kind}</a>",
-                        url=url, kind=k))
+           Some(Html::from((k, v.as_str())).0)
          })
          .join(" | "))
   }