summaryrefslogtreecommitdiff
path: root/themes/blowfish/layouts/partials/toc.html
diff options
context:
space:
mode:
authorChristoph Cullmann <christoph@cullmann.io>2024-06-26 21:44:28 +0200
committerChristoph Cullmann <christoph@cullmann.io>2024-06-26 21:44:28 +0200
commit58e2c9ae87f09dac79ecf962331ae2c51f4ba7f1 (patch)
treed819d1747427f81d1883a715ec60d13d575053e4 /themes/blowfish/layouts/partials/toc.html
parentb1a7697b03cfb0143af78993387f758836e842bf (diff)
update the theme
Diffstat (limited to 'themes/blowfish/layouts/partials/toc.html')
-rw-r--r--themes/blowfish/layouts/partials/toc.html37
1 files changed, 32 insertions, 5 deletions
diff --git a/themes/blowfish/layouts/partials/toc.html b/themes/blowfish/layouts/partials/toc.html
index e9dc950..5f3ffa1 100644
--- a/themes/blowfish/layouts/partials/toc.html
+++ b/themes/blowfish/layouts/partials/toc.html
@@ -1,10 +1,11 @@
-<details open class="toc-right mt-0 overflow-hidden rounded-lg ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 hidden lg:block">
+<details open id="TOCView"
+ class="toc-right mt-0 overflow-y-scroll overscroll-contain scrollbar-thin scrollbar-track-neutral-200 scrollbar-thumb-neutral-400 dark:scrollbar-track-neutral-800 dark:scrollbar-thumb-neutral-600 rounded-lg ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 hidden lg:block">
<summary
class="block py-1 text-lg font-semibold cursor-pointer bg-neutral-100 text-neutral-800 ltr:-ml-5 ltr:pl-5 rtl:-mr-5 rtl:pr-5 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden">
{{ i18n "article.table_of_contents" }}
</summary>
<div
- class="min-w-[220px] py-2 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600">
+ class="min-w-[220px] py-2 border-dotted ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600">
{{ .TableOfContents | emojify }}
</div>
</details>
@@ -19,8 +20,33 @@
</div>
</details>
-{{ if .Site.Params.smartTOC }}
<script>
+
+ var margin = 200;
+ var marginError = 50;
+
+ (function () {
+ var $window = $(window);
+ var $toc = $('#TOCView');
+ var tocHeight = $toc.height();
+
+ function onResize() {
+ var windowAndMarginHeight = $window.height() - margin;
+ if(tocHeight >= windowAndMarginHeight) {
+ $toc.css("overflow-y", "scroll")
+ $toc.css("max-height", (windowAndMarginHeight + marginError) + "px")
+ } else {
+ $toc.css("overflow-y", "hidden")
+ $toc.css("max-height", "9999999px")
+ }
+ }
+
+ $window.on('resize', onResize);
+ $(document).ready(onResize);
+ })();
+
+{{ if .Site.Params.smartTOC }}
+
(function () {
var $toc = $('#TableOfContents');
if ($toc.length > 0) {
@@ -33,7 +59,7 @@
h.each(function (i, e) {
e = $(e);
if (e.offset().top - $(window).height()/3 <= currentScroll) {
- id = e.attr('id');
+ id = decodeURIComponent(e.attr('id'));
}
});
var active = $toc.find('a.active');
@@ -61,5 +87,6 @@
});
}
})();
+{{ end }}
+
</script>
-{{ end }} \ No newline at end of file