diff --git a/src/ttfrog/themes/default/base.html b/src/ttfrog/themes/default/base.html
index c275b00..68d59fc 100644
--- a/src/ttfrog/themes/default/base.html
+++ b/src/ttfrog/themes/default/base.html
@@ -22,9 +22,9 @@
{% for message in g.messages %}
-
+
+
{% endfor %}
{% block content %}{% endblock %}
diff --git a/src/ttfrog/themes/default/page.html b/src/ttfrog/themes/default/page.html
index 83126a3..08e0f73 100644
--- a/src/ttfrog/themes/default/page.html
+++ b/src/ttfrog/themes/default/page.html
@@ -4,7 +4,7 @@
{% endblock %}
{% block content %}
-
{{ page.body }}
+
{{ page.body }}
{% endblock %}
diff --git a/src/ttfrog/themes/default/static/froghat.css b/src/ttfrog/themes/default/static/froghat.css
index da9a44a..1ce75cc 100644
--- a/src/ttfrog/themes/default/static/froghat.css
+++ b/src/ttfrog/themes/default/static/froghat.css
@@ -279,7 +279,7 @@ div.macro {
display: inline;
}
-div[data-macro-name="toc"] {
+[data-macro-name="toc"] {
display: inline;
float: left;
border-radius: 5px;
@@ -290,43 +290,52 @@ div[data-macro-name="toc"] {
padding: 0ch 2ch;
}
-div[data-macro-name="toc"] ul {
+[data-macro-name="toc"] ul {
box-sizing: border-box;
list-style: none;
- padding-left: 2ch;
+ padding-left: 0ch;
font-weight: normal;
margin-left: 0px;
}
-div[data-macro-name="toc"] > ul:first-child {
- padding-left: 0ch;
- margin-left: 0px;
-}
-div[data-macro-name="toc"] > ul:first-child > li {
- padding-left: 0ch;
- margin-left: 0px;
-}
-div[data-macro-name="toc"] > ul:first-child > li {
- font-weight: bold;
-}
-
-div[data-macro-name="toc"] > ul > li {
- font-weight: bold;
-}
-
-div[data-macro-name="toc"] > ul > li {
+[data-macro-name="toc"] ul ul {
padding-left: 2ch;
}
-div[data-macro-name="toc"] a {
+[data-macro-name="toc"] > ul:first-child {
+ padding-left: 0ch;
+ margin-left: 0px;
+}
+[data-macro-name="toc"] > ul:first-child > li {
+ padding-left: 0ch;
+ margin-left: 0px;
+}
+[data-macro-name="toc"] > ul:first-child > li {
+ font-weight: bold;
+}
+
+[data-macro-name="toc"] > ul > li {
+ font-weight: bold;
+}
+
+[data-macro-name="toc"] > ul > li {
+ padding-left: 0ch;
+}
+
+[data-macro-name="toc"] a {
display: block;
width: 100%;
}
-div[data-macro-name="toc"] a:hover {
+[data-macro-name="toc"] a:hover {
background: #CCC;
}
+[data-macro-name="toc"] .header {
+ font-size: var(--default-font-size);
+ width: fit-content;
+ margin: 2ch auto 0 auto;
+}
#froghat {
display: none;
diff --git a/src/ttfrog/themes/default/static/froghat.js b/src/ttfrog/themes/default/static/froghat.js
index 1ff787f..9487020 100644
--- a/src/ttfrog/themes/default/static/froghat.js
+++ b/src/ttfrog/themes/default/static/froghat.js
@@ -243,9 +243,6 @@ class MacroPlugin extends FroghatPlugin {
macros = {
// image: {}
- // toc {}
- // widget {}
- //
style: {
inline: false,
toHTML: (token, node) => {
@@ -272,9 +269,9 @@ class MacroPlugin extends FroghatPlugin {
},
toc: {
inline: true,
- element: 'div',
+ element: 'aside',
toHTML: (token, node) => {
- return node + "
";
+ return node + "";
},
postprocess: (html) => {
const subList = (depth) => {
@@ -284,9 +281,10 @@ class MacroPlugin extends FroghatPlugin {
return li;
};
+ var tocIndex = 0;
+
const buf = document.createElement('div');
buf.innerHTML = html;
- const tocElement =
buf.querySelectorAll('[data-macro-name="toc"]').forEach(tocElement => {
var params = {
@@ -296,6 +294,11 @@ class MacroPlugin extends FroghatPlugin {
const headings = buf.querySelectorAll("h2, h3, h4, h5, h6");
+ var header = document.createElement("h2");
+ header.className = 'header';
+ header.textContent = 'Table of Contents';
+ tocElement.prepend(header);
+
const toc = document.createElement("ul");
toc.setAttribute('role', 'list');
@@ -311,7 +314,8 @@ class MacroPlugin extends FroghatPlugin {
}
var index = document.createElement("li");
- index.innerHTML = '