diff --git a/assets/css/common/post-single.css b/assets/css/common/post-single.css index 79ccbec..a5cd2c8 100644 --- a/assets/css/common/post-single.css +++ b/assets/css/common/post-single.css @@ -260,18 +260,34 @@ .toc { margin: 0 2px 40px 2px; border: 1px solid var(--border); - background: var(--code-bg); + background: var(--entry); border-radius: var(--radius); padding: 0.4em; } -.dark .toc { - background: var(--entry); +.toc-container.wide { + position: absolute; + height: 100%; + border-right: 1px solid var(--border); + left: calc((var(--toc-width) + var(--gap)) * -1); + top: calc(var(--gap) * 2); + width: var(--toc-width); +} + +.wide .toc { + position: sticky; + top: var(--gap); + border: unset; + background: unset; + border-radius: unset; + width: 100%; + margin: 0 2px 40px 2px; } .toc details summary { cursor: zoom-in; margin-inline-start: 20px; + padding: 12px 0; } .toc details[open] summary { @@ -283,13 +299,27 @@ font-weight: 500; } +.toc-container.wide .toc .inner { + margin: 0; +} + +.active { + font-weight: 500; +} + +.toc ul { + list-style-type: circle; +} + .toc .inner { - margin: 0 20px; - padding: 10px 20px; + margin: 0 0 0 20px; + padding: 0px 15px 15px 20px; + font-size: 16px; } .toc li ul { - margin-inline-start: var(--gap); + margin-inline-start: calc(var(--gap) * 0.5); + list-style-type: none; } .toc summary:focus { @@ -311,7 +341,6 @@ .paginav { border-radius: var(--radius); background: var(--code-bg); - border: 1px solid var(--border); } .post-tags a { @@ -321,11 +350,10 @@ color: var(--secondary); font-size: 14px; line-height: 34px; - background: var(--code-bg); + background: var(--tertiary); } -.post-tags a:hover, -.paginav a:hover { +.post-tags a:hover { background: var(--border); } @@ -427,4 +455,4 @@ h6:hover .anchor { [dir="rtl"] .paginav .next { text-align: left; -} +} \ No newline at end of file diff --git a/assets/css/core/theme-vars.css b/assets/css/core/theme-vars.css index fd0c5ee..4306383 100644 --- a/assets/css/core/theme-vars.css +++ b/assets/css/core/theme-vars.css @@ -3,6 +3,7 @@ --content-gap: 20px; --nav-width: 1024px; --main-width: 720px; + --toc-width: 300px; --header-height: 60px; --footer-height: 60px; --radius: 8px; diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html index 7a4c019..0d2ed25 100644 --- a/layouts/partials/toc.html +++ b/layouts/partials/toc.html @@ -1,93 +1,152 @@ {{- $headers := findRE "(.|\n])+?" .Content -}} {{- $has_headers := ge (len $headers) 1 -}} {{- if $has_headers -}} -
-
- - {{- i18n "toc" | default "Table of Contents" }} - +
+ + + + +{{- end }} \ No newline at end of file