feat: add scroll spy to toc pages as an option (experimental)
This commit is contained in:
parent
75d250b240
commit
8d833bd931
|
@ -570,3 +570,7 @@ $navbar-dark-active-color: $link-color-dark;
|
||||||
[data-dark-mode] details summary::before {
|
[data-dark-mode] details summary::before {
|
||||||
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-dark-mode] #toc a.active {
|
||||||
|
color: $link-color-dark;
|
||||||
|
}
|
||||||
|
|
|
@ -214,11 +214,17 @@ body {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#TableOfContents ul {
|
#TableOfContents ul,
|
||||||
|
#toc ul {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#toc a.active {
|
||||||
|
color: $primary;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
::selection {
|
::selection {
|
||||||
background: rgba(212, 53, 159, 0.2);
|
background: rgba(212, 53, 159, 0.2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,6 +92,7 @@ lastMod = false
|
||||||
docsVersioning = false
|
docsVersioning = false
|
||||||
fullWidth = false
|
fullWidth = false
|
||||||
navbarSticky = true
|
navbarSticky = true
|
||||||
|
scrollSpy = true # experimental; needs Bootstrap >= 5.2.0-beta1
|
||||||
|
|
||||||
[menu]
|
[menu]
|
||||||
[menu.section]
|
[menu.section]
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
{{ .Scratch.Set "class" .Type -}}
|
{{ .Scratch.Set "class" .Type -}}
|
||||||
{{ .Scratch.Add "class" " list" -}}
|
{{ .Scratch.Add "class" " list" -}}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
<body class="{{ .Scratch.Get "class" }}">
|
<body class="{{ .Scratch.Get "class" }}"{{ if eq .Site.Params.options.scrollSpy true }} data-bs-spy="scroll" data-bs-target="#toc" data-bs-root-margin="0px 0px -90%" data-bs-smooth-scroll="true" tabindex="0"{{ end }}>
|
||||||
{{ partial "header/header.html" . }}
|
{{ partial "header/header.html" . }}
|
||||||
<div class="wrap container-{{ if .Site.Params.options.fullWidth }}fluid{{ else }}xxl{{ end }}" role="document">
|
<div class="wrap container-{{ if .Site.Params.options.fullWidth }}fluid{{ else }}xxl{{ end }}" role="document">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="page-links d-none d-xl-block">
|
<div class="page-links d-none d-xl-block">
|
||||||
<h3>On this page</h3>
|
<h3>On this page</h3>
|
||||||
{{ .TableOfContents }}
|
{{ if eq .Site.Params.options.scrollSpy true -}}
|
||||||
|
{{ .TableOfContents | replaceRE "<nav id=\"TableOfContents\">" "<nav id=\"toc\">" | safeHTML }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ .TableOfContents }}
|
||||||
|
{{ end -}}
|
||||||
</div>
|
</div>
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"@fullhuman/postcss-purgecss": "^4.1",
|
"@fullhuman/postcss-purgecss": "^4.1",
|
||||||
"auto-changelog": "^2.4",
|
"auto-changelog": "^2.4",
|
||||||
"autoprefixer": "^10.4",
|
"autoprefixer": "^10.4",
|
||||||
"bootstrap": "^5.1",
|
"bootstrap": "^5.2.0-beta1",
|
||||||
"clipboard": "^2.0",
|
"clipboard": "^2.0",
|
||||||
"eslint": "^8.18",
|
"eslint": "^8.18",
|
||||||
"exec-bin": "^1.0.0",
|
"exec-bin": "^1.0.0",
|
||||||
|
@ -2247,16 +2247,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/bootstrap": {
|
"node_modules/bootstrap": {
|
||||||
"version": "5.1.3",
|
"version": "5.2.0-beta1",
|
||||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0-beta1.tgz",
|
||||||
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==",
|
"integrity": "sha512-6qbgs177WZEFY4SLQUq3tEHayYG80nfDmyTpdKi0MJqRMdS+HAoq24+YKfx6wf+nHY0rx8zrh477J1lFu4WzOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": {
|
"funding": [
|
||||||
"type": "opencollective",
|
{
|
||||||
"url": "https://opencollective.com/bootstrap"
|
"type": "github",
|
||||||
},
|
"url": "https://github.com/sponsors/twbs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/bootstrap"
|
||||||
|
}
|
||||||
|
],
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@popperjs/core": "^2.10.2"
|
"@popperjs/core": "^2.11.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/brace-expansion": {
|
"node_modules/brace-expansion": {
|
||||||
|
@ -8519,9 +8525,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bootstrap": {
|
"bootstrap": {
|
||||||
"version": "5.1.3",
|
"version": "5.2.0-beta1",
|
||||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.0-beta1.tgz",
|
||||||
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==",
|
"integrity": "sha512-6qbgs177WZEFY4SLQUq3tEHayYG80nfDmyTpdKi0MJqRMdS+HAoq24+YKfx6wf+nHY0rx8zrh477J1lFu4WzOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
"@fullhuman/postcss-purgecss": "^4.1",
|
"@fullhuman/postcss-purgecss": "^4.1",
|
||||||
"auto-changelog": "^2.4",
|
"auto-changelog": "^2.4",
|
||||||
"autoprefixer": "^10.4",
|
"autoprefixer": "^10.4",
|
||||||
"bootstrap": "^5.1",
|
"bootstrap": "^5.2.0-beta1",
|
||||||
"clipboard": "^2.0",
|
"clipboard": "^2.0",
|
||||||
"eslint": "^8.18",
|
"eslint": "^8.18",
|
||||||
"exec-bin": "^1.0.0",
|
"exec-bin": "^1.0.0",
|
||||||
|
|
Loading…
Reference in New Issue