From d6dd33620c7bea3720361d51ab04668a0c913cce Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Mon, 19 Nov 2018 18:29:50 +0100
Subject: [PATCH] Fix wrong anchors

While experimenting with the ToC changes, it became obvious that anchors
for those unnamed headers don't work.

This patch fixes those links by running the autolinkify twice and make
sure linkify only adds links to non-empty ids.

Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
---
 public/js/extra.js | 6 ++++--
 public/js/index.js | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/public/js/extra.js b/public/js/extra.js
index ed1470b..76e9563 100644
--- a/public/js/extra.js
+++ b/public/js/extra.js
@@ -846,11 +846,13 @@ const linkifyAnchors = (level, containingElement) => {
     let header = headers[i]
     if (header.getElementsByClassName('anchor').length === 0) {
       if (typeof header.id === 'undefined' || header.id === '') {
-                // to escape characters not allow in css and humanize
+        // to escape characters not allow in css and humanize
         const id = slugifyWithUTF8(getHeaderContent(header))
         header.id = id
       }
-      header.insertBefore(anchorForId(header.id), header.firstChild)
+      if (!(typeof header.id === 'undefined' || header.id === '')) {
+        header.insertBefore(anchorForId(header.id), header.firstChild)
+      }
     }
   }
 }
diff --git a/public/js/index.js b/public/js/index.js
index 98c3b6d..a7f4df9 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -2786,6 +2786,7 @@ function updateViewInner () {
   renderTOC(ui.area.markdown)
   generateToc('ui-toc')
   generateToc('ui-toc-affix')
+  autoLinkify(ui.area.markdown)
   generateScrollspy()
   updateScrollspy()
   smoothHashScroll()