From b8a660e208333ea8ef4998c2f815411f12ce7067 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sat, 30 Apr 2022 20:10:12 +0000
Subject: [PATCH] feat: copyable header anchors (fixes #86)

---
 assets/styles/base.scss              |   13 +++++++++++++
 layouts/partials/textprocessing.html |    4 ++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/assets/styles/base.scss b/assets/styles/base.scss
index 4d03a06..3b2801b 100644
--- a/assets/styles/base.scss
+++ b/assets/styles/base.scss
@@ -12,6 +12,19 @@
   font-weight: revert;
   margin: revert;
   padding: revert;
+
+  &:hover > .hanchor {
+    opacity: 1;
+  }
+}
+
+.hanchor {
+  font-family: Inter;
+  margin-left: -1em;
+  opacity: 0.3;
+  transition: opacity 0.3s ease;
+  color: var(--secondary);
+
 }
 
 p, ul, text {
diff --git a/layouts/partials/textprocessing.html b/layouts/partials/textprocessing.html
index 2312aa4..8e8c999 100644
--- a/layouts/partials/textprocessing.html
+++ b/layouts/partials/textprocessing.html
@@ -53,4 +53,8 @@
     {{end}}
   {{end}}
 {{end}}
+
+{{/* Add copyable anchors */}}
+{{ $content = $content | replaceRE "(<h[1-9] id=\"([^\"]+)\">)(.+)(</h[1-9]>)" `<a href="#${2}">${1}<span class="hanchor" ariaLabel="Anchor"># </span>${3}${4}</a>` }}
+
 {{ $content | safeHTML }}

--
Gitblit v1.10.0