mirror of
https://github.com/McShelby/hugo-theme-relearn.git
synced 2025-03-20 16:15:09 +00:00
menu: make footer area configurable #1059
This commit is contained in:
parent
566c17d000
commit
b89d1e3fb6
33 changed files with 597 additions and 385 deletions
|
@ -15,9 +15,6 @@
|
|||
--CODE-INLINE-BG-color: rgba(255, 250, 233, 1); /* color for inline code background */
|
||||
--CODE-INLINE-BORDER-color: rgba(248, 232, 200, 1); /* color of inline code border */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(45, 54, 63, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
|
||||
--MENU-HEADER-color: rgba(255, 255, 255, 1); /* color of menu header */
|
||||
--MENU-HEADER-BG-color: rgba(28, 144, 243, 1); /* Background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: rgba(51, 161, 255, 1); /*Color of menu header border */
|
||||
|
@ -26,6 +23,10 @@
|
|||
--MENU-SEARCH-BG-color: rgba(22, 122, 208, 1); /* Search field background color (by default borders + icons) */
|
||||
--MENU-SEARCH-BORDER-color: rgba(51, 161, 255, 1); /* Override search field border color */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(45, 54, 63, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HEADER-BORDER-color); /* separator color between menu search box and home menu */
|
||||
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(32, 39, 43, 1); /* Background color of the active section and its children */
|
||||
--MENU-SECTIONS-BG-color: rgba(37, 44, 49, 1); /* Background color of other sections */
|
||||
--MENU-SECTIONS-LINK-color: rgba(204, 204, 204, 1); /* Color of links in menu */
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
--CODE-INLINE-BG-color: rgba(255, 250, 233, 1); /* color for inline code background */
|
||||
--CODE-INLINE-BORDER-color: rgba(248, 232, 200, 1); /* color of inline code border */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(46, 59, 46, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
|
||||
--MENU-HEADER-color: rgba(255, 255, 255, 1); /* color of menu header */
|
||||
--MENU-HEADER-BG-color: rgba(116, 181, 89, 1); /* Background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: rgba(156, 212, 132, 1); /*Color of menu header border */
|
||||
|
@ -26,6 +23,10 @@
|
|||
--MENU-SEARCH-BG-color: rgba(89, 154, 62, 1); /* Search field background color (by default borders + icons) */
|
||||
--MENU-SEARCH-BORDER-color: rgba(132, 199, 103, 1); /* Override search field border color */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(46, 59, 46, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HEADER-BORDER-color); /* separator color between menu search box and home menu */
|
||||
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(27, 33, 28, 1); /* Background color of the active section and its children */
|
||||
--MENU-SECTIONS-BG-color: rgba(34, 39, 35, 1); /* Background color of other sections */
|
||||
--MENU-SECTIONS-LINK-color: rgba(204, 204, 204, 1); /* Color of links in menu */
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
--CODE-INLINE-BG-color: rgba(255, 247, 221, 1); /* color for inline code background */
|
||||
--CODE-INLINE-BORDER-color: rgba(251, 240, 203, 1); /* color of inline code border */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(224, 224, 224, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(240, 240, 240, 1); /* Color of the hovered home button text */
|
||||
|
||||
--MENU-HEADER-color: rgba(255, 255, 255, 1); /* color of menu header */
|
||||
--MENU-HEADER-BG-color: rgba(132, 81, 161, 1); /* Background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: rgba(156, 111, 182, 1); /*Color of menu header border */
|
||||
|
@ -26,6 +23,10 @@
|
|||
--MENU-SEARCH-BG-color: rgba(118, 72, 144, 1); /* Search field background color (by default borders + icons) */
|
||||
--MENU-SEARCH-BORDER-color: rgba(145, 94, 174, 1); /* Override search field border color */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(224, 224, 224, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(240, 240, 240, 1); /* Color of the hovered home button text */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HEADER-BORDER-color); /* separator color between menu search box and home menu */
|
||||
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(37, 31, 41, 1); /* Background color of the active section and its children */
|
||||
--MENU-SECTIONS-BG-color: rgba(50, 42, 56, 1); /* Background color of other sections */
|
||||
--MENU-SECTIONS-LINK-color: rgba(204, 204, 204, 1); /* Color of links in menu */
|
||||
|
|
|
@ -28,13 +28,14 @@
|
|||
--MENU-HEADER-color: rgba(255, 255, 255, 1); /* color of menu header */
|
||||
--MENU-HEADER-BG-color: rgba(0, 0, 0, 0); /* background color of menu header */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(255, 255, 255, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(208, 208, 208, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(248, 248, 248, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(16, 16, 16, 0.6); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: rgba(232, 232, 232, 1); /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(255, 255, 255, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(208, 208, 208, 1); /* hovered home button color if configured */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HEADER-BG-color); /* separator color between menu search box and home menu */
|
||||
|
||||
--MENU-SECTIONS-BG-color: linear-gradient(165deg, rgba(243, 0, 178, 0.825) 0%, rgba(28, 144, 243, 0.7) 65%, rgba(0, 227, 211, 0.7) 100%); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(0, 0, 0, 0.166); /* background color of the active menu section */
|
||||
--MENU-SECTIONS-LINK-color: rgba(255, 255, 255, 1); /* link color of menu topics */
|
||||
|
@ -188,7 +189,8 @@ body #R-sidebar select:hover,
|
|||
body #R-sidebar .collapsible-menu li:not(.active) > label:hover,
|
||||
body #R-sidebar .menu-control:hover,
|
||||
body #R-sidebar a:hover,
|
||||
body #R-prefooter button:hover {
|
||||
body #R-homelinks button:hover,
|
||||
body #R-content-wrapper button:hover {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
text-shadow:
|
||||
0 0 1px rgba(255, 255, 255, 1),
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
--CODE-INLINE-BG-color: rgba(255, 250, 233, 1); /* color for inline code background */
|
||||
--CODE-INLINE-BORDER-color: rgba(248, 232, 200, 1); /* color of inline code border */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(56, 43, 43, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
|
||||
--MENU-HEADER-color: rgba(255, 255, 255, 1); /* color of menu header */
|
||||
--MENU-HEADER-BG-color: rgba(220, 16, 16, 1); /* Background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: rgba(226, 49, 49, 1); /*Color of menu header border */
|
||||
|
@ -26,6 +23,10 @@
|
|||
--MENU-SEARCH-BG-color: rgba(185, 0, 0, 1); /* Search field background color (by default borders + icons) */
|
||||
--MENU-SEARCH-BORDER-color: rgba(239, 32, 32, 1); /* Override search field border color */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(56, 43, 43, 1); /* Color of the home button text */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* Color of the hovered home button text */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HEADER-BORDER-color); /* separator color between menu search box and home menu */
|
||||
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(43, 32, 32, 1); /* Background color of the active section and its children */
|
||||
--MENU-SECTIONS-BG-color: rgba(49, 37, 37, 1); /* Background color of other sections */
|
||||
--MENU-SECTIONS-LINK-color: rgba(204, 204, 204, 1); /* Color of links in menu */
|
||||
|
|
|
@ -23,15 +23,16 @@
|
|||
--OPENAPI-CODE-theme: idea; /* name of the default OpenAPI code theme for this variant, can be overridden in hugo.toml */
|
||||
|
||||
--MENU-HEADER-BG-color: rgba(0, 0, 0, 0); /* background color of menu header */
|
||||
--MENU-HEADER-SEPARATOR-color: rgba(96, 96, 96, 1); /* separator color between menu header and menu */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(64, 64, 64, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(255, 255, 255, 0.2); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: transparent; /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: rgba(96, 96, 96, 1); /* separator color between menu search box and home menu */
|
||||
--MENU-HOME-BOTTOM-SEPARATOR-color: rgba(96, 96, 96, 1); /* separator color between home menu and menu*/
|
||||
|
||||
--MENU-SECTIONS-BG-color: rgba(131, 201, 50, 1); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: transparent; /* background color of the active menu section */
|
||||
--MENU-SECTIONS-LINK-color: rgba(50, 50, 50, 1); /* link color of menu topics */
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
|
||||
--MENU-HEADER-color: rgba(40, 40, 40, 1); /* color of menu header */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(224, 224, 224, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(50, 50, 50, 1); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: rgba(224, 224, 224, 1); /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SECTIONS-BG-color: rgba(43, 43, 43, 1); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-LINK-color: rgba(186, 186, 186, 1); /* link color of menu topics */
|
||||
--MENU-SECTIONS-LINK-HOVER-color: rgba(255, 255, 255, 1); /* hovered link color of menu topics */
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
|
||||
--MENU-HEADER-color: rgba(40, 40, 40, 1); /* color of menu header */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(224, 224, 224, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(50, 50, 50, 1); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: rgba(224, 224, 224, 1); /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(64, 64, 64, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(0, 0, 0, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SECTIONS-BG-color: rgba(40, 40, 40, 1); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: rgba(0, 0, 0, 0.166); /* background color of the active menu section */
|
||||
--MENU-SECTIONS-LINK-color: rgba(186, 186, 186, 1); /* link color of menu topics */
|
||||
|
|
|
@ -27,15 +27,17 @@
|
|||
--MENU-TOPBAR-SEPARATOR-color: rgba(71, 71, 71, 1); /* separator color of vertical line between menu and topbar */
|
||||
--MENU-HEADER-BG-color: transparent; /* background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: transparent; /* border color between menu header and menu */
|
||||
--MENU-HEADER-SEPARATOR-color: rgba(71, 71, 71, 0.66); /* separator color between menu header and menu */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(240, 240, 240, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(47, 129, 235, 1); /* hovered home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(47, 129, 235, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(32, 32, 32, 1); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: rgba(71, 71, 71, 0.66); /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(240, 240, 240, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(47, 129, 235, 1); /* hovered home button color if configured */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: rgba(71, 71, 71, 0.66); /* separator color between menu search box and home menu */
|
||||
--MENU-HOME-SEPARATOR-color: rgba(71, 71, 71, 0.66); /* separator color between home menus */
|
||||
--MENU-HOME-BOTTOM-SEPARATOR-color: rgba(71, 71, 71, 0.66); /* separator color between home menu and menu */
|
||||
|
||||
--MENU-SECTIONS-BG-color: rgba(39, 39, 39, 1); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: transparent; /* background color of the active menu section */
|
||||
--MENU-SECTIONS-LINK-color: rgba(240, 240, 240, 0.75); /* link color of menu topics */
|
||||
|
|
|
@ -27,15 +27,17 @@
|
|||
--MENU-TOPBAR-SEPARATOR-color: rgba(210, 210, 210, 1); /* separator color of vertical line between menu and topbar */
|
||||
--MENU-HEADER-BG-color: transparent; /* background color of menu header */
|
||||
--MENU-HEADER-BORDER-color: transparent; /* border color between menu header and menu */
|
||||
--MENU-HEADER-SEPARATOR-color: rgba(210, 210, 210, 0.66); /* separator color between menu header and menu */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(48, 48, 48, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(26, 115, 232, 1); /* hoverd home button color if configured */
|
||||
|
||||
--MENU-SEARCH-color: rgba(26, 115, 232, 1); /* text and icon color of search box */
|
||||
--MENU-SEARCH-BG-color: rgba(255, 255, 255, 1); /* background color of search box */
|
||||
--MENU-SEARCH-BORDER-color: rgba(210, 210, 210, 0.66); /* border color of search box */
|
||||
|
||||
--MENU-HOME-LINK-color: rgba(48, 48, 48, 1); /* home button color if configured */
|
||||
--MENU-HOME-LINK-HOVER-color: rgba(26, 115, 232, 1); /* hoverd home button color if configured */
|
||||
--MENU-HOME-TOP-SEPARATOR-color: rgba(210, 210, 210, 0.66); /* separator color between menu search box and home menu */
|
||||
--MENU-HOME-SEPARATOR-color: rgba(210, 210, 210, 0.66); /* separator color between home menus */
|
||||
--MENU-HOME-BOTTOM-SEPARATOR-color: rgba(210, 210, 210, 0.66); /* separator color between home menu and menu */
|
||||
|
||||
--MENU-SECTIONS-BG-color: rgba(134, 134, 134, 0.066); /* background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc. */
|
||||
--MENU-SECTIONS-ACTIVE-BG-color: transparent; /* background color of the active menu section */
|
||||
--MENU-SECTIONS-LINK-color: rgba(48, 48, 48, 1); /* link color of menu topics */
|
||||
|
|
|
@ -279,41 +279,6 @@ a:focus,
|
|||
z-index: 100;
|
||||
}
|
||||
|
||||
#R-menu-footer {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
#R-menu-footer > hr:first-child {
|
||||
margin-bottom: 1.25rem;
|
||||
margin-top: 1.25rem;
|
||||
}
|
||||
|
||||
#R-footer {
|
||||
color: var(--INTERNAL-MENU-SECTIONS-LINK-color);
|
||||
font-size: 0.8125rem;
|
||||
margin-bottom: 1.25rem;
|
||||
margin-top: 0.75rem;
|
||||
text-align: center;
|
||||
}
|
||||
#R-footer:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#R-footer > * {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#R-footer > hr:first-child {
|
||||
margin-bottom: 1.25rem;
|
||||
margin-top: -0.5rem;
|
||||
}
|
||||
|
||||
/* increase specifity to override following #R-content-wrapper hr style */
|
||||
#R-footer > hr:nth-child(n) {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#R-sidebar .padding {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
@ -322,10 +287,6 @@ a:focus,
|
|||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
#R-sidebar .R-sidebarmenu > .nav-title ~ ul {
|
||||
margin-top: 0.8rem;
|
||||
}
|
||||
|
||||
#R-sidebar ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
|
@ -364,21 +325,67 @@ a:focus,
|
|||
font-family: var(--INTERNAL-MAIN-TITLES-H1-font);
|
||||
letter-spacing: var(--INTERNAL-MAIN-TITLES-H1-letter-spacing);
|
||||
line-height: 110%;
|
||||
margin: 1.2rem 0 0.8rem 0;
|
||||
margin: 1.25rem 0 -0.25rem 0;
|
||||
padding-inline-start: 1rem;
|
||||
text-rendering: optimizeLegibility;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#R-sidebar .footermargin {
|
||||
flex-grow: 1;
|
||||
#R-sidebar hr {
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
margin: 1rem 1rem 0 1rem;
|
||||
}
|
||||
|
||||
#R-homelinks hr {
|
||||
border-color: var(--INTERNAL-MENU-HOME-SEPARATOR-color);
|
||||
}
|
||||
#R-homelinks .R-menu-divider:first-child hr {
|
||||
border-color: var(--INTERNAL-MENU-HOME-TOP-SEPARATOR-color);
|
||||
margin-top: 0;
|
||||
}
|
||||
#R-homelinks .R-menu-divider:last-child hr {
|
||||
border-color: var(--INTERNAL-MENU-HOME-BOTTOM-SEPARATOR-color);
|
||||
margin-bottom: 3px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#R-content-wrapper hr {
|
||||
border-color: var(--INTERNAL-MENU-SECTION-SEPARATOR-color);
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
margin: 1.5rem 1rem 1rem 1rem;
|
||||
}
|
||||
|
||||
#R-footer-margin {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
#R-footer-margin + .R-menu-divider hr {
|
||||
margin-top: 1.25rem;
|
||||
}
|
||||
|
||||
#R-footer {
|
||||
color: var(--INTERNAL-MENU-SECTIONS-LINK-color);
|
||||
font-size: 0.8125rem;
|
||||
padding-bottom: 1.25rem;
|
||||
padding-top: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
#R-footer:empty {
|
||||
padding-bottom: 0.625rem;
|
||||
padding-top: 0.625rem;
|
||||
}
|
||||
|
||||
#R-footer > * {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#R-footer > hr:first-child {
|
||||
margin-bottom: 1.25rem;
|
||||
margin-top: -0.5rem;
|
||||
}
|
||||
|
||||
#R-footer > hr {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
article .R-taxonomy.tags {
|
||||
|
@ -1933,20 +1940,6 @@ html[dir='rtl'] .menu-control span {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
.footerLangSwitch,
|
||||
.footerVariantSwitch,
|
||||
.footerVisitedLinks,
|
||||
.footerFooter {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.showLangSwitch,
|
||||
.showVariantSwitch,
|
||||
.showVisitedLinks,
|
||||
.showFooter {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* clears the 'X' from Chrome's search input */
|
||||
input[type='search']::-webkit-search-decoration,
|
||||
input[type='search']::-webkit-search-cancel-button,
|
||||
|
@ -2397,52 +2390,6 @@ html[dir='rtl'] #R-sidebar ul.collapsible-menu > li > input:checked + label > i.
|
|||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
/* basic menu header styles */
|
||||
|
||||
#R-homelinks {
|
||||
background-color: var(--INTERNAL-MENU-HEADER-BORDER-color);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#R-homelinks ul {
|
||||
margin: 0.5rem 0;
|
||||
}
|
||||
#R-homelinks hr {
|
||||
border-color: var(--INTERNAL-MENU-HEADER-SEPARATOR-color);
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
margin: 0 1rem 3px 1rem;
|
||||
}
|
||||
|
||||
#R-homelinks .nav-title {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
/* override for the menu header */
|
||||
|
||||
#R-homelinks select,
|
||||
#R-homelinks .collapsible-menu label,
|
||||
#R-homelinks .menu-control,
|
||||
#R-homelinks :is(a, span) {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
#R-homelinks select:hover,
|
||||
#R-homelinks :is(.collapsible-menu, :not(.collapsible-menu)) li:not(.active) > label:hover,
|
||||
#R-homelinks .menu-control:hover,
|
||||
#R-homelinks :is(.collapsible-menu, :not(.collapsible-menu)) a:hover {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-HOVER-color);
|
||||
}
|
||||
|
||||
#R-homelinks li.active > label,
|
||||
#R-homelinks li.active > a {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
#R-homelinks li.active > a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* basic logo stuff
|
||||
|
||||
a#R-logo {
|
||||
|
@ -2699,6 +2646,59 @@ body #R-logo svg :not([fill='#000000']) {
|
|||
padding-top: calc(0.125rem - var(--bpx1) * 1px);
|
||||
}
|
||||
|
||||
/* basic menu header styles */
|
||||
|
||||
#R-homelinks {
|
||||
background-color: var(--INTERNAL-MENU-HEADER-BORDER-color);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#R-sidebar #R-homelinks ul {
|
||||
margin: 0.75rem 0;
|
||||
}
|
||||
#R-sidebar #R-homelinks ul.space {
|
||||
margin: 0.625rem 0;
|
||||
}
|
||||
#R-sidebar #R-homelinks ul.morespace {
|
||||
margin: 0.5rem 0;
|
||||
}
|
||||
|
||||
#R-homelinks .nav-title {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
/* override for the menu header */
|
||||
|
||||
#R-homelinks select,
|
||||
#R-homelinks .collapsible-menu label,
|
||||
#R-homelinks .menu-control,
|
||||
#R-homelinks :is(a, span) {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
#R-homelinks ul.collapsible-menu li.active > a {
|
||||
border-bottom-color: transparent;
|
||||
border-top-color: transparent;
|
||||
border-inline-start-color: transparent;
|
||||
border-inline-end-color: transparent;
|
||||
}
|
||||
|
||||
#R-homelinks select:hover,
|
||||
#R-homelinks :is(.collapsible-menu, :not(.collapsible-menu)) li:not(.active) > label:hover,
|
||||
#R-homelinks .menu-control:hover,
|
||||
#R-homelinks :is(.collapsible-menu, :not(.collapsible-menu)) a:hover {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-HOVER-color);
|
||||
}
|
||||
|
||||
#R-homelinks li.active > label,
|
||||
#R-homelinks li.active > a {
|
||||
color: var(--INTERNAL-MENU-HOME-LINK-color);
|
||||
}
|
||||
|
||||
#R-homelinks li.active > a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
article .R-taxonomy ul,
|
||||
article .R-taxonomy li {
|
||||
list-style: none;
|
||||
|
|
|
@ -85,15 +85,17 @@
|
|||
--INTERNAL-MENU-HEADER-color: var(--MENU-HEADER-color, var(--INTERNAL-MENU-SECTIONS-LINK-color));
|
||||
--INTERNAL-MENU-HEADER-BG-color: var(--MENU-HEADER-BG-color, var(--PRIMARY-color, rgba( 0, 0, 0, 0 ))); /* not --INTERNAL-PRIMARY-color */
|
||||
--INTERNAL-MENU-HEADER-BORDER-color: var(--MENU-HEADER-BORDER-color, var(--INTERNAL-MENU-HEADER-BG-color));
|
||||
--INTERNAL-MENU-HEADER-SEPARATOR-color: var(--MENU-HEADER-SEPARATOR-color, var(--INTERNAL-MENU-HEADER-BORDER-color));
|
||||
|
||||
--INTERNAL-MENU-HOME-LINK-color: var(--MENU-HOME-LINK-color, rgba( 50, 50, 50, 1 ));
|
||||
--INTERNAL-MENU-HOME-LINK-HOVER-color: var(--MENU-HOME-LINK-HOVER-color, var(--MENU-HOME-LINK-HOVERED-color, rgba( 128, 128, 128, 1 )));
|
||||
|
||||
--INTERNAL-MENU-SEARCH-color: var(--MENU-SEARCH-color, var(--MENU-SEARCH-BOX-ICONS-color, rgba( 224, 224, 224, 1 )));
|
||||
--INTERNAL-MENU-SEARCH-BG-color: var(--MENU-SEARCH-BG-color, rgba( 50, 50, 50, 1 ));
|
||||
--INTERNAL-MENU-SEARCH-BORDER-color: var(--MENU-SEARCH-BORDER-color, var(--MENU-SEARCH-BOX-color, var(--INTERNAL-MENU-SEARCH-BG-color)));
|
||||
|
||||
--INTERNAL-MENU-HOME-LINK-color: var(--MENU-HOME-LINK-color, rgba( 50, 50, 50, 1 ));
|
||||
--INTERNAL-MENU-HOME-LINK-HOVER-color: var(--MENU-HOME-LINK-HOVER-color, var(--MENU-HOME-LINK-HOVERED-color, rgba( 128, 128, 128, 1 )));
|
||||
--INTERNAL-MENU-HOME-TOP-SEPARATOR-color: var(--MENU-HOME-TOP-SEPARATOR-color, var(--INTERNAL-MENU-HOME-LINK-color));
|
||||
--INTERNAL-MENU-HOME-SEPARATOR-color: var(--MENU-HOME-SEPARATOR-color, var(--INTERNAL-MENU-HOME-LINK-color));
|
||||
--INTERNAL-MENU-HOME-BOTTOM-SEPARATOR-color: var(--MENU-HOME-BOTTOM-SEPARATOR-color, var(--MENU-HEADER-SEPARATOR-color, var(--INTERNAL-MENU-HEADER-BORDER-color)));
|
||||
|
||||
--INTERNAL-MENU-SECTIONS-ACTIVE-BG-color: var(--MENU-SECTIONS-ACTIVE-BG-color, rgba( 0, 0, 0, .166 ));
|
||||
--INTERNAL-MENU-SECTIONS-BG-color: var(--MENU-SECTIONS-BG-color, rgba( 40, 40, 40, 1 ));
|
||||
--INTERNAL-MENU-SECTIONS-LINK-color: var(--MENU-SECTIONS-LINK-color, rgba( 186, 186, 186, 1 ));
|
||||
|
@ -103,7 +105,7 @@
|
|||
--INTERNAL-MENU-SECTION-ACTIVE-CATEGORY-BORDER-color: var(--MENU-SECTION-ACTIVE-CATEGORY-BORDER-color, transparent);
|
||||
|
||||
--INTERNAL-MENU-VISITED-color: var(--MENU-VISITED-color, var(--INTERNAL-SECONDARY-color));
|
||||
--INTERNAL-MENU-SECTION-SEPARATOR-color: var(--MENU-SECTION-SEPARATOR-color, var(--MENU-SECTION-HR-color, rgba( 96, 96, 96, 1 )));
|
||||
--INTERNAL-MENU-SECTION-SEPARATOR-color: var(--MENU-SECTION-SEPARATOR-color, var(--MENU-SECTION-HR-color, var(--INTERNAL-MENU-SECTIONS-LINK-color)));
|
||||
|
||||
--INTERNAL-BOX-CAPTION-color: var(--BOX-CAPTION-color, rgba( 255, 255, 255, 1 ));
|
||||
--INTERNAL-BOX-BG-color: var(--BOX-BG-color, rgba( 255, 255, 255, .833 ));
|
||||
|
|
|
@ -60,9 +60,6 @@ var variants = {
|
|||
});
|
||||
});
|
||||
select.appendChild(option);
|
||||
document.querySelectorAll('.footerVariantSwitch').forEach(function (e) {
|
||||
e.classList.add('showVariantSwitch');
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -70,11 +67,6 @@ var variants = {
|
|||
var option = document.querySelector('#R-select-variant-' + this.customvariantname);
|
||||
if (option) {
|
||||
option.remove();
|
||||
if (this.variants.length <= 1) {
|
||||
document.querySelectorAll('.footerVariantSwitch').forEach(function (e) {
|
||||
e.classList.remove('showVariantSwitch');
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -384,6 +376,7 @@ var variants = {
|
|||
this.styleGraphGroup('#coloredboxes', 'BOX-BG-color');
|
||||
this.styleGraphGroup('#menu', 'MENU-SECTIONS-BG-color');
|
||||
this.styleGraphGroup('#menuheader', 'MENU-HEADER-BG-color');
|
||||
this.styleGraphGroup('#menuhome', 'MENU-HEADER-BORDER-color');
|
||||
this.styleGraphGroup('#menusections', 'MENU-SECTIONS-ACTIVE-BG-color');
|
||||
},
|
||||
|
||||
|
@ -428,6 +421,15 @@ var variants = {
|
|||
''
|
||||
) +
|
||||
' end\n' +
|
||||
' subgraph menuhome["home"]\n' +
|
||||
' direction LR\n' +
|
||||
g_groups['home'].reduce(
|
||||
function (a, e) {
|
||||
return a + ' ' + this.generateGraphGroupedEdge(e) + '\n';
|
||||
}.bind(this),
|
||||
''
|
||||
) +
|
||||
' end\n' +
|
||||
' subgraph menusections["sections"]\n' +
|
||||
' direction LR\n' +
|
||||
g_groups['sections'].reduce(
|
||||
|
@ -564,13 +566,16 @@ var variants = {
|
|||
{ name: 'MENU-HEADER-color', group: 'header', fallback: 'MENU-SECTIONS-LINK-color', tooltip: 'color of menu header' },
|
||||
{ name: 'MENU-HEADER-BG-color', group: 'header', fallback: 'PRIMARY-color', tooltip: 'background color of menu header' },
|
||||
{ name: 'MENU-HEADER-BORDER-color', group: 'header', fallback: 'MENU-HEADER-BG-color', tooltip: 'border color between menu header and menu' },
|
||||
{ name: 'MENU-HEADER-SEPARATOR-color', group: 'header', fallback: 'MENU-HEADER-BORDER-color', tooltip: 'separator color between menu header and menu' },
|
||||
{ name: 'MENU-HOME-LINK-color', group: 'header', default: '#323232', tooltip: 'home button color if configured' },
|
||||
{ name: 'MENU-HOME-LINK-HOVER-color', group: 'header', default: '#808080', tooltip: 'hoverd home button color if configured' },
|
||||
{ name: 'MENU-SEARCH-color', group: 'header', default: '#e0e0e0', tooltip: 'text and icon color of search box' },
|
||||
{ name: 'MENU-SEARCH-BG-color', group: 'header', default: '#323232', tooltip: 'background color of search box' },
|
||||
{ name: 'MENU-SEARCH-BORDER-color', group: 'header', fallback: 'MENU-SEARCH-BG-color', tooltip: 'border color of search box' },
|
||||
|
||||
{ name: 'MENU-HOME-LINK-color', group: 'home', default: '#323232', tooltip: 'home button color if configured' },
|
||||
{ name: 'MENU-HOME-LINK-HOVER-color', group: 'home', default: '#808080', tooltip: 'hoverd home button color if configured' },
|
||||
{ name: 'MENU-HOME-TOP-SEPARATOR-color', group: 'home', fallback: 'MENU-HOME-LINK-color', tooltip: 'separator color between menu search box and home menu' },
|
||||
{ name: 'MENU-HOME-SEPARATOR-color', group: 'home', fallback: 'MENU-HOME-LINK-color', tooltip: 'separator color between home menus' },
|
||||
{ name: 'MENU-HOME-BOTTOM-SEPARATOR-color', group: 'home', fallback: 'MENU-HEADER-BORDER-color', tooltip: 'separator color between home menu and menu' },
|
||||
|
||||
{ name: 'MENU-SECTIONS-BG-color', group: 'sections', default: '#282828', tooltip: 'background of the menu; this is NOT just a color value but can be a complete CSS background definition including gradients, etc.' },
|
||||
{ name: 'MENU-SECTIONS-ACTIVE-BG-color', group: 'sections', default: 'rgba( 0, 0, 0, .166 )', tooltip: 'background color of the active menu section' },
|
||||
{ name: 'MENU-SECTIONS-LINK-color', group: 'sections', default: '#bababa', tooltip: 'link color of menu topics' },
|
||||
|
@ -578,7 +583,7 @@ var variants = {
|
|||
{ name: 'MENU-SECTION-ACTIVE-CATEGORY-color', group: 'sections', default: '#444444', tooltip: 'text color of the displayed menu topic' },
|
||||
{ name: 'MENU-SECTION-ACTIVE-CATEGORY-BG-color', group: 'sections', fallback: 'MAIN-BG-color', tooltip: 'background color of the displayed menu topic' },
|
||||
{ name: 'MENU-SECTION-ACTIVE-CATEGORY-BORDER-color', group: 'sections', default: 'transparent', tooltip: 'border color between the displayed menu topic and the content' },
|
||||
{ name: 'MENU-SECTION-SEPARATOR-color', group: 'sections', default: '#606060', tooltip: 'separator color between menu sections and menu footer' },
|
||||
{ name: 'MENU-SECTION-SEPARATOR-color', group: 'sections', default: '#606060', tooltip: 'separator color between menus' },
|
||||
{ name: 'MENU-VISITED-color', group: 'sections', fallback: 'SECONDARY-color', tooltip: 'icon color of visited menu topics if configured' },
|
||||
|
||||
{ name: 'BOX-CAPTION-color', group: 'colored boxes', default: 'rgba( 255, 255, 255, 1 )', tooltip: 'text color of colored box titles' },
|
||||
|
|
|
@ -294,15 +294,16 @@ disableShortcutsTitle = false
|
|||
# these arrays.
|
||||
# This can be overridden in the page's frontmatter.
|
||||
# Each entry can contain the following keys:
|
||||
# - `type` is mandatory. Either `page` in case it should generate a tre from
|
||||
# the page structure or `menu` in case it should generate a tree from a
|
||||
# defined menu.
|
||||
# - `type` is mandatory. Either `page` in case it should generate a tree from
|
||||
# the page structure, `menu` in case it should generate a tree from a
|
||||
# defined menu, `custom` for arbitrary HTML snippets or `divider` for a
|
||||
# horizontal ruler.
|
||||
# - `identifier` is mandatory. In case of `type=page`, anything can be used,
|
||||
# in case of `type=menu` the `identifier` key must be identical to the
|
||||
# key of the menu definition.
|
||||
# - `main`, boolean. If `true`, the first tree level is spaced more generous
|
||||
# and the text is emphasized. Default: `true` for `type=page` and `false`
|
||||
# for `type=menu`
|
||||
# for `type=menu` and `type=custom`
|
||||
# - `disableTitle`, boolean. If `true`, there is no title above the tree.
|
||||
# Default: `true` for `type=page` and `false` for `type=menu`. If a title
|
||||
# should be used, in case of `type=page` it will be taken from the page's
|
||||
|
@ -311,23 +312,34 @@ disableShortcutsTitle = false
|
|||
# from the menu `title` according to Hugo's documentation and if not set
|
||||
# from the menu `name` and if this is not set form the page's `linkTitle`.
|
||||
# - `pageRef`, optional. In case of `type=page` this is the starting page's
|
||||
# path. If not set, the home page will be used.
|
||||
# path. If not set, the home page will be used.
|
||||
# - `elements`, optional. In case of `type=custom` the list of elements to
|
||||
# display. The theme shipps with the following predefined snippets which
|
||||
# all accept the `icon` parameter to overwrite the default icon
|
||||
# - languageswitcher: will display the language switcher
|
||||
# - variantswitcher: will display the variant switcher
|
||||
# - historyclearer: will display a button to clear the history of visited links
|
||||
|
||||
# Define your own menus of the sidebar header.
|
||||
# The sidebar header menu.
|
||||
# Default: see notes
|
||||
# If not given, this accounts to the settings for disableLandingPageButton
|
||||
# and landingPageName. Otherwise you are free to define any menus as explained
|
||||
# above
|
||||
sidebarheadermenus = ""
|
||||
# If not given, defaults to
|
||||
# - a home button if configured; if you redefine this, use a Hugo menu and a type=menu to replicate this
|
||||
# - a divider to separate from the sidebarmenus (depending on the configuration of the theme variant)
|
||||
sidebarheadermenus = ''
|
||||
|
||||
# Default: the value used below, but see the notes
|
||||
# The sidebar menus are built from this parameter. If not set, it contains
|
||||
# the below default. The default for the shortcut's disableTitle accounts
|
||||
# to the setting of disableShortcutsTitle.
|
||||
sidebarmenus = [
|
||||
{ type = 'page', identifier = 'home', main = true, disableTitle = true, pageRef = '' },
|
||||
{ type = 'menu', identifier = 'shortcuts', main = false, disableTitle = false },
|
||||
]
|
||||
# The main sidebar header.
|
||||
# Default: see notes
|
||||
# - the main page menu based on your content structure
|
||||
# - the shortcuts menu including the title if configured
|
||||
sidebarmenus = ''
|
||||
|
||||
# The main sidebar header.
|
||||
# Default: see notes
|
||||
# - a divider to separate from the sidebarmenus if any of the following is configured
|
||||
# - the language switcher if multilingual is configured
|
||||
# - the variant switcher if multiple variants are configured
|
||||
# - the history clearer if you configured to mark visited pages
|
||||
sidebarfootermenus = ''
|
||||
|
||||
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
# Hidden pages
|
||||
|
|
|
@ -166,15 +166,16 @@ collapsibleMenu = true
|
|||
# Menus are written from the sidebar's top to buttom in the order given in
|
||||
# these arrays. If not set, the set value of your site's hugo.toml is used.
|
||||
# Each entry can contain the following keys:
|
||||
# - `type` is mandatory. Either `page` in case it should generate a tre from
|
||||
# the page structure or `menu` in case it should generate a tree from a
|
||||
# defined menu.
|
||||
# - `type` is mandatory. Either `page` in case it should generate a tree from
|
||||
# the page structure, `menu` in case it should generate a tree from a
|
||||
# defined menu, `custom` for arbitrary HTML snippets or `divider` for a
|
||||
# horizontal ruler.
|
||||
# - `identifier` is mandatory. In case of `type=page`, anything can be used,
|
||||
# in case of `type=menu` the `identifier` key must be identical to the
|
||||
# key of the menu definition.
|
||||
# - `main`, boolean. If `true`, the first tree level is spaced more generous
|
||||
# and the text is emphasized. Default: `true` for `type=page` and `false`
|
||||
# for `type=menu`
|
||||
# for `type=menu` and `type=custom`
|
||||
# - `disableTitle`, boolean. If `true`, there is no title above the tree.
|
||||
# Default: `true` for `type=page` and `false` for `type=menu`. If a title
|
||||
# should be used, in case of `type=page` it will be taken from the page's
|
||||
|
@ -183,23 +184,34 @@ collapsibleMenu = true
|
|||
# from the menu `title` according to Hugo's documentation and if not set
|
||||
# from the menu `name` and if this is not set form the page's `linkTitle`.
|
||||
# - `pageRef`, optional. In case of `type=page` this is the starting page's
|
||||
# path. If not set, the home page will be used.
|
||||
# path. If not set, the home page will be used.
|
||||
# - `elements`, optional. In case of `type=custom` the list of elements to
|
||||
# display. The theme shipps with the following predefined snippets which
|
||||
# all accept the `icon` parameter to overwrite the default icon
|
||||
# - languageswitcher: will display the language switcher
|
||||
# - variantswitcher: will display the variant switcher
|
||||
# - historyclearer: will display a button to clear the history of visited links
|
||||
|
||||
# Define your own menus of the sidebar header.
|
||||
# The sidebar header menu.
|
||||
# Default: see notes
|
||||
# If not given, this accounts to the settings for disableLandingPageButton
|
||||
# and landingPageName. Otherwise you are free to define any menus as explained
|
||||
# above
|
||||
sidebarheadermenus = ""
|
||||
# If not given, defaults to
|
||||
# - a home button if configured; if you redefine this, use a Hugo menu and a type=menu to replicate this
|
||||
# - a divider to separate from the sidebarmenus (depending on the configuration of the theme variant)
|
||||
sidebarheadermenus = ''
|
||||
|
||||
# Default: the value used below, but see the notes
|
||||
# The sidebar menus are built from this parameter. If not set, it contains
|
||||
# the below default. The default for the shortcut's disableTitle accounts
|
||||
# to the setting of disableShortcutsTitle.
|
||||
sidebarmenus = [
|
||||
{ type = 'page', identifier = 'home', main = true, disableTitle = true, pageRef = '' },
|
||||
{ type = 'menu', identifier = 'shortcuts', main = false, disableTitle = false },
|
||||
]
|
||||
# The main sidebar header.
|
||||
# Default: see notes
|
||||
# - the main page menu based on your content structure
|
||||
# - the shortcuts menu including the title if configured
|
||||
sidebarmenus = ''
|
||||
|
||||
# The main sidebar header.
|
||||
# Default: see notes
|
||||
# - a divider to separate from the sidebarmenus if any of the following is configured
|
||||
# - the language switcher if multilingual is configured
|
||||
# - the variant switcher if multiple variants are configured
|
||||
# - the history clearer if you configured to mark visited pages
|
||||
sidebarfootermenus = ''
|
||||
|
||||
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
# Hidden pages
|
||||
|
|
|
@ -54,7 +54,7 @@ In the above example, the path of your theme file must be `assets/css/theme-rele
|
|||
|
||||
#### Multiple Variants
|
||||
|
||||
To let the reader choose between multiple variants, set `themeVariant` like this:
|
||||
To let the reader choose between multiple variants by displaying a variant switcher, set `themeVariant` like this:
|
||||
|
||||
{{< multiconfig file=hugo >}}
|
||||
[params]
|
||||
|
@ -63,6 +63,8 @@ To let the reader choose between multiple variants, set `themeVariant` like this
|
|||
|
||||
The first variant is the default, and a selector will appear if there's more than one.
|
||||
|
||||
If you want to have more control, where the variant switcher is positioned or you want to configure a different icon, see the [chapter on sidebar configuration](configuration/sidebar/menus#defining-sidebar-menus).
|
||||
|
||||
#### Adjust to OS Settings
|
||||
|
||||
Use the `auto` value to match OS light/dark settings. Usually it makes sense to set it in the first position and make it the default.
|
||||
|
|
|
@ -52,7 +52,11 @@ For a free configuration of the header menus, see [configuration of the sidebar
|
|||
|
||||
## History
|
||||
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} Turn on `showVisitedLinks=true` to see checkmarks next to visited pages in the main menu. This also adds a `Clear History` option at the bottom of the menu to remove all checkmarks. Note that checkmarks will disappear if you rebuild your site, as the page IDs may change.
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} Turn on `showVisitedLinks=true` to see checkmarks next to visited pages in the main menu. This also adds a history clearer button at the bottom of the menu to remove all checkmarks.
|
||||
|
||||
If you want to have more control, where the history clearer is positioned or you want to configure a different icon, see the [chapter on sidebar configuration](configuration/sidebar/menus#defining-sidebar-menus).
|
||||
|
||||
Note that checkmarks will disappear if you rebuild your site, as the page IDs may change.
|
||||
|
||||
{{< multiconfig file=hugo >}}
|
||||
[params]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
+++
|
||||
categories = ["howto"]
|
||||
description = "Configure all things menus"
|
||||
frontmatter = ["alwaysopen", "collapsibleMenu", "linkTitle", "menuPageRef", "menuPost", "menuPre", "menuUrl", "ordersectionsby", "sidebarheadermenus", "sidebarmenus"]
|
||||
options = ["alwaysopen", "collapsibleMenu", "disableShortcutsTitle", "ordersectionsby", "sidebarheadermenus", "sidebarmenus"]
|
||||
frontmatter = ["alwaysopen", "collapsibleMenu", "linkTitle", "menuPageRef", "menuPost", "menuPre", "menuUrl", "ordersectionsby", "sidebarfootermenus", "sidebarheadermenus", "sidebarmenus"]
|
||||
options = ["alwaysopen", "collapsibleMenu", "disableShortcutsTitle", "ordersectionsby", "sidebarfootermenus", "sidebarheadermenus", "sidebarmenus"]
|
||||
title = "Menus"
|
||||
weight = 4
|
||||
+++
|
||||
|
@ -126,43 +126,74 @@ For this, open `content/log/first-day/_index.md` and add the following front mat
|
|||
|
||||
### For Hugo Menus
|
||||
|
||||
Just don't give your parent menu entry configuration a `url` or `pageRef`. See the [next section](#title-for-menus) for a special case.
|
||||
Just don't give your parent menu entry configuration a `url` or `pageRef`. See the [next section](#title-for-arbitrary-menus) for a special case.
|
||||
|
||||
If you want to learn how to configure different Hugo menus for each language, [see the official docs](https://gohugo.io/content-management/multilingual/#menus).
|
||||
|
||||
The following example will not generate clickable menu entries for the `Parent 1` and `Parent 2` menu entries.
|
||||
|
||||
{{< multiconfig fm=true >}}
|
||||
[[menu.addendum]]
|
||||
[[menu.shortcuts]]
|
||||
name = 'Parent 1'
|
||||
weight = 1
|
||||
|
||||
[[menu.addendum]]
|
||||
[[menu.shortcuts]]
|
||||
parent = 'Parent 1'
|
||||
name = 'Child 1'
|
||||
url = 'https://example.com/1'
|
||||
|
||||
[[menu.addendum]]
|
||||
[[menu.shortcuts]]
|
||||
name = 'Parent 2'
|
||||
weight = 2
|
||||
|
||||
[[menu.addendum]]
|
||||
[[menu.shortcuts]]
|
||||
parent = 'Parent 2'
|
||||
name = 'Child 2'
|
||||
url = 'https://example.com/2'
|
||||
{{< /multiconfig >}}
|
||||
|
||||
## Title for Menus
|
||||
## Predefined Shortcuts Menu
|
||||
|
||||
Each menu may have an optional title above its tree. This must be activated for each [menu by setting `disableMenuTitle=false` for each sidebar menu configuration](#parameter).
|
||||
By default, the theme supports one additional Hugo menu below the page menu in the sidebar named `shortcuts`. You only need to configure it in your `hugo.toml` to appear in your sidebar. For example:
|
||||
|
||||
{{< multiconfig fm=true >}}
|
||||
[[menu.shortcuts]]
|
||||
name = 'Example Entry'
|
||||
weight = 1
|
||||
url = 'https://example.com'
|
||||
{{< /multiconfig >}}
|
||||
|
||||
## Title for the Predefined Shortcuts Menu
|
||||
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} By default, the predefined shortcut menu has a the title _More_ (in the English translation) displayed above it.
|
||||
|
||||
You can disable this title with `disableShortcutsTitle=true`.
|
||||
|
||||
{{< multiconfig file=hugo >}}
|
||||
[params]
|
||||
disableShortcutsTitle = true
|
||||
{{< /multiconfig >}}
|
||||
|
||||
To change the title, override your translation file.
|
||||
|
||||
````toml {title="i18n/en.toml"}
|
||||
[shortcuts-menuTitle]
|
||||
other = "Other Great Stuff"
|
||||
````
|
||||
|
||||
## Title for Arbitrary Menus
|
||||
|
||||
Each menu may have an optional title above its tree. This must be activated for each [menu by setting `disableMenuTitle=false` for each sidebar menu configuration](#defining-sidebar-menus).
|
||||
|
||||
{{% badge style="green" icon="fa-fw fab fa-markdown" title=" " %}}Front Matter{{% /badge %}} For page menus, set the `menuTitle` front matter for the root page of the menu. For example in the home page for the default sidebar menu. If no `menuTitle` was set, the title will be taken from your translation files by the key `<identifier>-menuTitle`, where `<identifier>` is the identifier of your sidebar menu configuration.
|
||||
|
||||
{{% badge color="blueviolet" icon="bars" title=" " %}}Menu{{% /badge %}} For Hugo menus, the title will be taken from your translation files by the key `<identifier>-menuTitle`, where `<identifier>` is the identifier of your sidebar menu configuration.
|
||||
|
||||
If you don't want to fiddle around with your translation files, you also have the possibility to let the title be taken from the menu definition. For that, define a nested menu that only has one top-level entry without `url` or `pageRef`.
|
||||
If you don't want to fiddle around with your translation files, you also have the possibility to let the title be taken from the menu definition. For that, define a nested menu that **only has one top-level entry** without `url` or `pageRef`.
|
||||
|
||||
In this case, the `title` or `name` is taken for the menu heading.
|
||||
|
||||
If you want to learn how to configure different Hugo menus for each language, [see the official docs](https://gohugo.io/content-management/multilingual/#menus).
|
||||
If you want to learn how to configure different Hugo menus for each language, [see here](https://gohugo.io/content-management/multilingual/#menus).
|
||||
|
||||
{{< multiconfig fm=true >}}
|
||||
[[menu.addendum]]
|
||||
|
@ -182,55 +213,109 @@ If you want to learn how to configure different Hugo menus for each language, [s
|
|||
weight = 2
|
||||
{{< /multiconfig >}}
|
||||
|
||||
## Title for the Predefined Shortcut Menu
|
||||
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} By default, the predefined shortcut menu has a the title _More_ (in the English translation).
|
||||
|
||||
You can disable this title with `disableShortcutsTitle=true`.
|
||||
|
||||
{{< multiconfig file=hugo >}}
|
||||
[params]
|
||||
disableShortcutsTitle = true
|
||||
{{< /multiconfig >}}
|
||||
|
||||
To change the title, override your translation file.
|
||||
|
||||
````toml {title="i18n/en.toml"}
|
||||
[shortcuts-menuTitle]
|
||||
other = "Other Great Stuff"
|
||||
````
|
||||
|
||||
## Defining Sidebar Menus
|
||||
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} {{% badge style="green" icon="fa-fw fab fa-markdown" title=" " %}}Front Matter{{% /badge %}} Menus are defined using the `sidebarheadermenus` or `sidebarmenus` option.
|
||||
|
||||
As these options are arrays, you can define as many menus, as you like.
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} {{% badge style="green" icon="fa-fw fab fa-markdown" title=" " %}}Front Matter{{% /badge %}} Menus are defined for individual areas of the sidebar::
|
||||
|
||||
- `sidebarheadermenus`: the non-scrolling area below the search box
|
||||
- `sidebarmenus`: the scrolling area below the search box
|
||||
- `sidebarfootermenus`: the area at the bottom of the sidebar
|
||||
|
||||
If you don't overwrite this option, for `sidebarheadermenus` the theme accounts to your settings of `disableLandingPageButton` and `landingPageName`. See [configuration for the landing page](/configuration/sidebar/headerfooter#home-button-configuration) for further information.
|
||||
As these options are arrays, you can define as many menus, as you like in each area. Each menu is displayed as a distinct block in their area. You can configure titles for each menu and dividers between multiple menus.
|
||||
|
||||
If you don't overwrite this option, for `sidebarmenus` the theme defaults to
|
||||
If you don't set these options in your `hugo.toml`, the theme defaults as follows:
|
||||
|
||||
- `sidebarheadermenus`:
|
||||
- a home button if [configured](configuration/sidebar/headerfooter#home-button-configuration), if you redefine this, use a Hugo menu and a `type=menu` to replicate this
|
||||
- a divider to separate from the `sidebarmenus` (depending on the configuration of the theme variant)
|
||||
- `sidebarmenus`:
|
||||
- the main page menu based on your [content structure](authoring/structure)
|
||||
- the `shortcuts` menu including the title if [configured](#predefined-shortcuts-menu)
|
||||
- `sidebarfootermenus`:
|
||||
- a divider to separate from the `sidebarmenus` if any of the following is configured
|
||||
- the language switcher if multilingual is [configured](configuration/sitemanagement/multilingual#turn-off-language-switching)
|
||||
- the variant switcher if multiple variants are [configured](configuration/branding/colors/#multiple-variants)
|
||||
- the history clearer if you [configured](configuration/sidebar/headerfooter#history) to mark visited pages
|
||||
|
||||
However, if you decide to overwrite these options, the configuration for those features will not be taken into account anymore. For example, if you want to reorder the `sidebarfootermenus` by setting
|
||||
|
||||
{{< multiconfig >}}
|
||||
sidebarmenus = [
|
||||
{ type = 'page', identifier = 'home', main = true, disableTitle = true, pageRef = '' },
|
||||
{ type = 'menu', identifier = 'shortcuts', main = false, disableTitle = false },
|
||||
sidebarfootermenus = [
|
||||
{ type = 'divider' },
|
||||
{ type = 'custom', elements = [ { type = 'historyclearer' }, { type = 'variantswitcher' }, { type = 'languageswitcher' } ] }
|
||||
]
|
||||
{{< /multiconfig >}}
|
||||
|
||||
The default value for the shortcut's `disableTitle` accounts to the setting of `disableShortcutsTitle`.
|
||||
and no multilingual configuration is configured, the language switcher will be shown non the less.
|
||||
|
||||
### Parameter
|
||||
### Page Menu
|
||||
|
||||
The page menu generates a menu tree out of your directory structure. You can give it a starting page from where the tree is generated down. If now starting page is given, the home page is used.
|
||||
|
||||
| Name | Default | Notes |
|
||||
|-----------------------|-----------------|-------------|
|
||||
| type | _<empty>_ | The type of menu.<br><br>- `page` for a page menu<br>- `menu` for a Hugo menu |
|
||||
| identifier | _<empty>_ | A unique identifier for this entry<br><br>- for `type=page` an arbitrary name<br>- for `page=menu` the identifier of the menu definition in your `hugo.toml` |
|
||||
| main | see notes | Whether to add additional spacing and larger text to the menu<br><br>- for `type=page` defaults to `true`<br>- for `page=menu` defaults to `false` |
|
||||
| disableTitle | see notes | Whether to print a title above the menu<br><br>- for `type=page` defaults to `true`<br>- for `page=menu` defaults to `false` |
|
||||
| pageRef | _<empty>_ | Only for `type=page`, the page path to start the menu tree. If not set, defaults to the home page. |
|
||||
| **type** | _<empty>_ | `page`, required |
|
||||
| **identifier** | _<empty>_ | Optional with no special meaning besides for error messages |
|
||||
| **main** | `true` | Whether to add additional spacing and larger text to the menu |
|
||||
| **disableTitle** | `true` | Whether to print a title above the menu |
|
||||
| **pageRef** | `/` | The path of the page to start the menu tree |
|
||||
|
||||
### Hugo Menu
|
||||
|
||||
The Hugo menu generates a menu tree out of a Hugo menu definition with the same `identifier`.
|
||||
|
||||
| Name | Default | Notes |
|
||||
|-----------------------|-----------------|-------------|
|
||||
| **type** | _<empty>_ | `menu`, required |
|
||||
| **identifier** | _<empty>_ | The identifier of the menu definition in your `hugo.toml` |
|
||||
| **main** | `false` | Whether to add additional spacing and larger text to the menu |
|
||||
| **disableTitle** | `false` | Whether to print a title above the menu; for the predefined `shortcuts` menu, accounts to the setting of `disableShortcutsTitle` |
|
||||
|
||||
### Custom
|
||||
|
||||
The custom menu allows you to define arbitrary HTML snippets wrapped inside of a `li` element. There is no title available to print above these menus.
|
||||
|
||||
| Name | Default | Notes |
|
||||
|-----------------------|-----------------|-------------|
|
||||
| **type** | _<empty>_ | `custom`, required |
|
||||
| **identifier** | _<empty>_ | Optional with no special meaning besides for error messages |
|
||||
| **main** | `false` | Whether to add additional spacing and larger text to the menu |
|
||||
| **elements** | _<empty>_ | The list of snippets, contained in `layouts/partials/sidebar/element`, to be displayed. See below.
|
||||
|
||||
A HTML snippet has its own parameter. Your self-defined snippets can contain further parameters that are passed to your snippet partial when called. Your snippets must be stored in `layouts/partials/sidebar/element` and the name of the snippet partial needs to be `<TYPE>.html` where `<TYPE>` is the type of the element.
|
||||
|
||||
| Name | Default | Notes |
|
||||
|-----------------------|-----------------|-------------|
|
||||
| **type** | _<empty>_ | The theme ships with the following snippets:<br><br>- `languageswitcher`: will display the language switcher<br>- `variantswitcher`: will display the variant switcher<br>- `historyclearer`: will display a button to clear the history of visited links |
|
||||
| **icon** | see notes | [Font Awesome icon name](shortcodes/icon#finding-an-icon) set to the left of the list entry. Depending on the **type** there is a default icon. Any given value will overwrite the default. |
|
||||
|
||||
### Divider
|
||||
|
||||
A horizontal ruler
|
||||
|
||||
| Name | Default | Notes |
|
||||
|-----------------------|-----------------|-------------|
|
||||
| **type** | _<empty>_ | `divider` |
|
||||
| **identifier** | _<empty>_ | Optional with no special meaning besides for error messages |
|
||||
|
||||
### Example
|
||||
|
||||
The following example configures the language switcher and history clearer into the menu header, only shows the the page menu in the main sidebar section and keeps the menu footer empty:
|
||||
|
||||
{{< multiconfig >}}
|
||||
sidebarheadermenus = [
|
||||
{ type = 'custom', elements = [
|
||||
{ type = 'languageswitcher' },
|
||||
{ type = 'historyclearer' }
|
||||
]},
|
||||
{ type = 'divider' },
|
||||
]
|
||||
sidebarmenus = [
|
||||
{ type = 'page' }
|
||||
]
|
||||
sidebarfootermenus = []
|
||||
{{< /multiconfig >}}
|
||||
|
||||
|
||||
## Redefining Sidebar Menus for Certain Pages
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
+++
|
||||
categories = ["howto"]
|
||||
description = "Configure all things menus"
|
||||
frontmatter = ["alwaysopen", "collapsibleMenu", "linkTitle", "menuPost", "menuPre", "ordersectionsby", "sidebarheadermenus", "sidebarmenus"]
|
||||
options = ["alwaysopen", "collapsibleMenu", "disableShortcutsTitle", "ordersectionsby", "sidebarheadermenus", "sidebarmenus"]
|
||||
frontmatter = ["alwaysopen", "collapsibleMenu", "linkTitle", "menuPageRef", "menuPost", "menuPre", "menuUrl", "ordersectionsby", "sidebarfootermenus", "sidebarheadermenus", "sidebarmenus"]
|
||||
options = ["alwaysopen", "collapsibleMenu", "disableShortcutsTitle", "ordersectionsby", "sidebarfootermenus", "sidebarheadermenus", "sidebarmenus"]
|
||||
title = "Menus"
|
||||
weight = 4
|
||||
+++
|
||||
|
|
|
@ -148,6 +148,8 @@ Check the [search configuration](configuration/sidebar/search#mixed-language-sup
|
|||
|
||||
{{% badge style="cyan" icon="gears" title=" " %}}Option{{% /badge %}} By default the theme shows a language switcher in the lower part of the menu.
|
||||
|
||||
If you want to have more control, where the language switcher is positioned or you want to configure a different icon, see the [chapter on sidebar configuration](configuration/sidebar/menus#defining-sidebar-menus).
|
||||
|
||||
To disable the language switcher set `disableLanguageSwitchingButton=true`
|
||||
|
||||
{{< multiconfig file=hugo >}}
|
||||
|
|
|
@ -10,9 +10,17 @@ weight = -6
|
|||
|
||||
### New
|
||||
|
||||
- {{% badge style="info" icon="plus-circle" title=" " %}}New{{% /badge %}} The free menu configuration for the main menu area, [introduced in 7.1.0](introduction/releasenotes/7/1), is extended to the non-scolling menu header area between search box and main scrolling area using the `sidebarheadermenus` option.
|
||||
- {{% badge style="info" icon="plus-circle" title=" " %}}New{{% /badge %}} The menu configuration for the main menu area, [introduced in 7.1.0](introduction/releasenotes/7/1), is extended to the non-scrolling menu header area between search box and main scrolling area using the `sidebarheadermenus` option and to the menu footer area using the `sidebarfootermenus` option.
|
||||
|
||||
The [configuration for all sidebar menus](/configuration/sidebar/menus#defining-sidebar-menus) is similar.
|
||||
The [configuration for all sidebar menus](/configuration/sidebar/menus#defining-sidebar-menus) is similar and now comes with two new types of menus.
|
||||
|
||||
The `divider` type adds a horizontal ruler.
|
||||
|
||||
The `custom` type allows to insert any HTML snippets into the menu. The HTML must be wrapped in a `li` element to not break HTML validation. The theme ships with the following snippets:
|
||||
|
||||
- `languageswitcher`: will display the language switcher
|
||||
- `variantswitcher`: will display the variant switcher
|
||||
- `historyclearer`: will display a button to clear the history of visited links
|
||||
|
||||
You don’t need to change anything in your existing installation as the old configuration is used as a default.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!-- CSS styles are in layouts/partials/custom-header.html -->
|
||||
<a id="R-logo" href="{{ partial "permalink.gotmpl" (dict "to" .Site.Home) }}">
|
||||
{{ partial "shortcodes/image.html" (dict "page" . "url" "/images/logo.svg?border=false&inlinecontent&lightbox=false&shadow=false") }}
|
||||
{{ partial "shortcodes/image.html" (dict "page" . "url" "/images/logo.svg?border=false&inlinecontent&lightbox=false&shadow=false") }}
|
||||
<div class="logo-title">{{ .Site.Params.linkTitle | default .Site.Title }}</div>
|
||||
</a>
|
|
@ -1,46 +1,45 @@
|
|||
|
||||
<span class="github-buttons"></span>
|
||||
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
|
||||
<span class="github-buttons"></span>
|
||||
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
|
||||
{{- with resources.Get "/js/github-buttons/github-buttons.js" }}
|
||||
<script>
|
||||
function githubButtonsScheme(){
|
||||
var scheme = 'light';
|
||||
var colorPropertyValue = window.getComputedStyle( document.querySelector( '#R-sidebar' ) ).getPropertyValue( 'background-color' );
|
||||
var colorValues = colorPropertyValue.match( /\d+/g ).map( function( e ){ return parseInt(e,10); });
|
||||
if( colorValues.length === 3 && ((0.2126 * colorValues[0]) + (0.7152 * colorValues[1]) + (0.0722 * colorValues[2]) < 165) ){
|
||||
{{- /* Luma, https://en.wikipedia.org/wiki/Luma_%28video%29, SMPTE C, Rec. 709 weightings */}}
|
||||
scheme = 'dark';
|
||||
}
|
||||
return scheme;
|
||||
}
|
||||
function githubButtonsInit(){
|
||||
if( !window.githubButtons ){
|
||||
{{- /* wait for the script to load */}}
|
||||
setTimeout( githubButtonsInit, 50 );
|
||||
return;
|
||||
}
|
||||
var scheme = githubButtonsScheme();
|
||||
var githubButtonsHTML = `
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/archive/main.zip" data-color-scheme="${scheme}" data-icon="octicon-cloud-download" aria-label="Download McShelby/hugo-theme-relearn on GitHub">Download</a>
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn" data-color-scheme="${scheme}" data-icon="octicon-star" data-show-count="true" aria-label="Star McShelby/hugo-theme-relearn on GitHub">Star</a>
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/fork" data-color-scheme="${scheme}" data-icon="octicon-repo-forked" data-show-count="true" aria-label="Fork McShelby/hugo-theme-relearn on GitHub">Fork</a>
|
||||
`;
|
||||
document.querySelector( '.github-buttons' ).innerHTML = githubButtonsHTML;
|
||||
document.querySelectorAll( '.github-button' ).forEach( function( anchor ){
|
||||
anchor.dataset.colorScheme = scheme;
|
||||
window.githubButtons.render( anchor, function( el ){
|
||||
anchor.parentNode.replaceChild( el, anchor );
|
||||
});
|
||||
});
|
||||
}
|
||||
document.addEventListener( 'themeVariantLoaded', function( e ){
|
||||
{{- /* we have to wait until the CSS class .default-animation has settled and the buttons have loaded to recalculate the scheme again */}}
|
||||
setTimeout( githubButtonsInit, 400 );
|
||||
});
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
||||
setTimeout( githubButtonsInit, 400 );
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
function githubButtonsScheme(){
|
||||
var scheme = 'light';
|
||||
var colorPropertyValue = window.getComputedStyle( document.querySelector( '#R-sidebar' ) ).getPropertyValue( 'background-color' );
|
||||
var colorValues = colorPropertyValue.match( /\d+/g ).map( function( e ){ return parseInt(e,10); });
|
||||
if( colorValues.length === 3 && ((0.2126 * colorValues[0]) + (0.7152 * colorValues[1]) + (0.0722 * colorValues[2]) < 165) ){
|
||||
{{- /* Luma, https://en.wikipedia.org/wiki/Luma_%28video%29, SMPTE C, Rec. 709 weightings */}}
|
||||
scheme = 'dark';
|
||||
}
|
||||
return scheme;
|
||||
}
|
||||
function githubButtonsInit(){
|
||||
if( !window.githubButtons ){
|
||||
{{- /* wait for the script to load */}}
|
||||
setTimeout( githubButtonsInit, 50 );
|
||||
return;
|
||||
}
|
||||
var scheme = githubButtonsScheme();
|
||||
var githubButtonsHTML = `
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/archive/main.zip" data-color-scheme="${scheme}" data-icon="octicon-cloud-download" aria-label="Download McShelby/hugo-theme-relearn on GitHub">Download</a>
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn" data-color-scheme="${scheme}" data-icon="octicon-star" data-show-count="true" aria-label="Star McShelby/hugo-theme-relearn on GitHub">Star</a>
|
||||
<a class="github-button" href="https://github.com/McShelby/hugo-theme-relearn/fork" data-color-scheme="${scheme}" data-icon="octicon-repo-forked" data-show-count="true" aria-label="Fork McShelby/hugo-theme-relearn on GitHub">Fork</a>
|
||||
`;
|
||||
document.querySelector( '.github-buttons' ).innerHTML = githubButtonsHTML;
|
||||
document.querySelectorAll( '.github-button' ).forEach( function( anchor ){
|
||||
anchor.dataset.colorScheme = scheme;
|
||||
window.githubButtons.render( anchor, function( el ){
|
||||
anchor.parentNode.replaceChild( el, anchor );
|
||||
});
|
||||
});
|
||||
}
|
||||
document.addEventListener( 'themeVariantLoaded', function( e ){
|
||||
{{- /* we have to wait until the CSS class .default-animation has settled and the buttons have loaded to recalculate the scheme again */}}
|
||||
setTimeout( githubButtonsInit, 400 );
|
||||
});
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
||||
setTimeout( githubButtonsInit, 400 );
|
||||
});
|
||||
</script>
|
||||
{{- $assetBusting := partialCached "assetbusting.gotmpl" . }}
|
||||
{{- $minify := not hugo.IsServer }}
|
||||
{{- if and (isset site.Params "minify") (ne site.Params.minify "") }}
|
||||
|
@ -50,5 +49,5 @@
|
|||
{{- if $minify }}
|
||||
{{- $res = $res | minify }}
|
||||
{{- end }}
|
||||
<script async src="{{ $res.RelPermalink }}{{ $assetBusting }}"></script>
|
||||
<script async src="{{ $res.RelPermalink }}{{ $assetBusting }}"></script>
|
||||
{{- end }}
|
|
@ -1,5 +1,5 @@
|
|||
<!-- CSS styles are in layouts/partials/custom-header.html -->
|
||||
<a id="R-logo" href="{{ partial "permalink.gotmpl" (dict "to" .Site.Home) }}">
|
||||
{{ partial "shortcodes/image.html" (dict "page" . "url" "/images/logo.svg?border=false&inlinecontent&lightbox=false&shadow=false") }}
|
||||
{{ partial "shortcodes/image.html" (dict "page" . "url" "/images/logo.svg?border=false&inlinecontent&lightbox=false&shadow=false") }}
|
||||
<div class="logo-title">{{ .Site.Params.linkTitle | default .Site.Title }}</div>
|
||||
</a>
|
9
layouts/partials/_relearn/defaultSidebar.gotmpl
Normal file
9
layouts/partials/_relearn/defaultSidebar.gotmpl
Normal file
|
@ -0,0 +1,9 @@
|
|||
{{- $defaultmenuconfigs := slice
|
||||
(dict "type" "page" "identifier" "home")
|
||||
}}
|
||||
{{- if index site.Menus "shortcuts" }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append
|
||||
(dict "type" "menu" "identifier" "shortcuts" "disableTitle" site.Params.disableShortcutsTitle)
|
||||
}}
|
||||
{{- end }}
|
||||
{{- return $defaultmenuconfigs }}
|
27
layouts/partials/_relearn/defaultSidebarFooter.gotmpl
Normal file
27
layouts/partials/_relearn/defaultSidebarFooter.gotmpl
Normal file
|
@ -0,0 +1,27 @@
|
|||
{{- $defaultmenuconfigs := slice }}
|
||||
{{- $defaultconfigelements := slice }}
|
||||
|
||||
{{- $siteLanguages := site.Languages }}
|
||||
{{- $showlangswitch := and hugo.IsMultilingual (not site.Params.disableLanguageSwitchingButton) (gt (int (len $siteLanguages)) 1) }}
|
||||
{{- if $showlangswitch }}
|
||||
{{- $defaultconfigelements = $defaultconfigelements | append (dict "type" "languageswitcher") }}
|
||||
{{- end }}
|
||||
|
||||
{{- $themevariants := partialCached "_relearn/themeVariants.gotmpl" . }}
|
||||
{{- $showvariantswitch := gt (int (len $themevariants)) 1 }}
|
||||
{{- if $showvariantswitch }}
|
||||
{{- $defaultconfigelements = $defaultconfigelements | append (dict "type" "variantswitcher") }}
|
||||
{{- end }}
|
||||
|
||||
{{- $showvisitedlinks := site.Params.showVisitedLinks }}
|
||||
{{- if $showvisitedlinks }}
|
||||
{{- $defaultconfigelements = $defaultconfigelements | append (dict "type" "historyclearer") }}
|
||||
{{- end }}
|
||||
|
||||
{{- if $defaultconfigelements }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append (dict "type" "divider") }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append
|
||||
(dict "type" "custom" "identifier" "controls" "disableTitle" true "elements" $defaultconfigelements)
|
||||
}}
|
||||
{{- end }}
|
||||
{{- return $defaultmenuconfigs }}
|
27
layouts/partials/_relearn/defaultSidebarHeader.gotmpl
Normal file
27
layouts/partials/_relearn/defaultSidebarHeader.gotmpl
Normal file
|
@ -0,0 +1,27 @@
|
|||
{{- $defaultmenuconfigs := slice }}
|
||||
{{- if not site.Params.disableLandingPageButton }}
|
||||
{{- if (ne site.Params.landingPageURL nil) }}
|
||||
{{- warnf "UNSUPPORTED usage of 'landingPageURL' config parameter found, remove it and optionally overwrite the `logo.html` partial to provide a link if it should not point to the project's home page; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/4/#4-2-0" }}
|
||||
{{- end }}
|
||||
{{- $title := trim (.Site.Params.landingPageName | plainify) "\n\r\t " }}
|
||||
{{- $pre := "" }}
|
||||
{{- $post := "" }}
|
||||
{{- if $title }}
|
||||
{{- $escapedTitle := replaceRE `([\.+*?()|[\]{}^$\\])` "\\$1" $title }}
|
||||
{{- $pre = (replaceRE (printf `%s.*` $escapedTitle) "" site.Params.landingPageName) | safeHTML }}
|
||||
{{- $post = (replaceRE (printf `.*?%s` $escapedTitle) "" site.Params.landingPageName) | safeHTML }}
|
||||
{{- else }}
|
||||
{{- $title = T "home-button" }}
|
||||
{{- $pre = `<i class="fa-fw fas fa-home"></i> ` | safeHTML }}
|
||||
{{- end }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append (dict "type" "divider") }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append
|
||||
(dict "type" "menu" "identifier" "homelinks" "disableTitle" true "entries" (slice
|
||||
(dict "Menu" "" "Children" (slice
|
||||
(dict "Menu" "" "Pre" $pre "Post" $post "Title" $title "PageRef" "/" )
|
||||
))
|
||||
))
|
||||
}}
|
||||
{{- end }}
|
||||
{{- $defaultmenuconfigs = $defaultmenuconfigs | append (dict "type" "divider") }}
|
||||
{{- return $defaultmenuconfigs }}
|
|
@ -1,2 +1 @@
|
|||
|
||||
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
|
||||
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn" title="love"><i class="fas fa-heart"></i></a> by <a href="https://gohugo.io/">Hugo</a></p>
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
{{- $showvisitedlinks := .Site.Params.showVisitedLinks }}
|
||||
<aside id="R-sidebar" class="default-animation{{ if $showvisitedlinks }} showVisitedLinks{{ end }}">
|
||||
{{- $showvisitedlinks := site.Params.showVisitedLinks }}
|
||||
<aside id="R-sidebar" class="default-animation">
|
||||
{{- $currentNode := . }}
|
||||
<div id="R-header-topbar" class="default-animation"></div>
|
||||
<div id="R-header-wrapper" class="default-animation">
|
||||
|
@ -33,102 +32,25 @@
|
|||
{{- end }}
|
||||
</div>
|
||||
<div id="R-homelinks" class="default-animation{{ if not .Site.Params.disableLandingPageButton }} homelinks{{ end }}">
|
||||
{{- $defaultmenuconfigs := slice }}
|
||||
{{- if not .Site.Params.disableLandingPageButton }}
|
||||
{{- if (ne .Site.Params.landingPageURL nil) }}
|
||||
{{- warnf "UNSUPPORTED usage of 'landingPageURL' config parameter found, remove it and optionally overwrite the `logo.html` partial to provide a link if it should not point to the project's home page; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/4/#4-2-0" }}
|
||||
{{- end }}
|
||||
{{- $title := trim (.Site.Params.landingPageName | plainify) "\n\r\t " }}
|
||||
{{- $pre := "" }}
|
||||
{{- $post := "" }}
|
||||
{{- if $title }}
|
||||
{{- $escapedTitle := replaceRE `([\.+*?()|[\]{}^$\\])` "\\$1" $title }}
|
||||
{{- $pre = (replaceRE (printf `%s.*` $escapedTitle) "" .Site.Params.landingPageName) | safeHTML }}
|
||||
{{- $post = (replaceRE (printf `.*?%s` $escapedTitle) "" .Site.Params.landingPageName) | safeHTML }}
|
||||
{{- else }}
|
||||
{{- $title = T "home-button" }}
|
||||
{{- $pre = `<i class="fa-fw fas fa-home"></i> ` | safeHTML }}
|
||||
{{- end }}
|
||||
{{- $defaultmenuconfigs = slice
|
||||
(dict "type" "menu" "identifier" "R-homelinks" "disableTitle" true "entries" (slice
|
||||
(dict "Menu" "" "Children" (slice
|
||||
(dict "Menu" "" "Pre" $pre "Post" $post "Title" $title "PageRef" "/" )
|
||||
))
|
||||
))
|
||||
}}
|
||||
{{- $menuconfigs := .Params.sidebarheadermenus | default site.Params.sidebarheadermenus }}
|
||||
{{- if or (eq (printf "%T" $menuconfigs) "string") (eq (printf "%T" $menuconfigs) "<nil>") }}
|
||||
{{- $menuconfigs = partialCached "_relearn/defaultSidebarHeader.gotmpl" . }}
|
||||
{{- end }}
|
||||
{{- $menuconfigs := .Params.sidebarheadermenus | default site.Params.sidebarheadermenus | default $defaultmenuconfigs }}
|
||||
{{- partial "partials/inline/menu" (dict "currentnode" $currentNode "configs" $menuconfigs "showvisitedlinks" false) }}
|
||||
<hr class="padding">
|
||||
</div>
|
||||
<div id="R-content-wrapper" class="highlightable">
|
||||
{{- $menuconfigs := .Params.sidebarmenus | default site.Params.sidebarmenus | default (slice
|
||||
(dict "type" "page" "identifier" "home")
|
||||
(dict "type" "menu" "identifier" "shortcuts" "disableTitle" site.Params.disableShortcutsTitle)
|
||||
) }}
|
||||
{{- $menuconfigs := .Params.sidebarmenus | default site.Params.sidebarmenus }}
|
||||
{{- if or (eq (printf "%T" $menuconfigs) "string") (eq (printf "%T" $menuconfigs) "<nil>") }}
|
||||
{{- $menuconfigs = partialCached "_relearn/defaultSidebar.gotmpl" . }}
|
||||
{{- end }}
|
||||
{{- partial "partials/inline/menu" (dict "currentnode" $currentNode "configs" $menuconfigs "showvisitedlinks" $showvisitedlinks) }}
|
||||
{{- $siteLanguages := .Site.Languages }}
|
||||
{{- $showlangswitch := and hugo.IsMultilingual (not .Site.Params.disableLanguageSwitchingButton) (gt (int (len $siteLanguages)) 1) }}
|
||||
{{- $themevariants := partialCached "_relearn/themeVariants.gotmpl" . }}
|
||||
{{- $showvariantswitch := gt (int (len $themevariants)) 1 }}
|
||||
{{- $footer := partial "menu-footer.html" . }}
|
||||
{{- $plainfooter := trim ($footer | plainify) "\n\r\t " }}
|
||||
{{- $showfooter := not (eq 0 (int (len $plainfooter))) }}
|
||||
<div class="padding footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}{{if $showfooter}} showFooter{{end}}"></div>
|
||||
<div id="R-menu-footer">
|
||||
<hr class="padding default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}{{if $showfooter}} showFooter{{end}}">
|
||||
<div id="R-prefooter" class="footerLangSwitch footerVariantSwitch footerVisitedLinks{{if $showlangswitch}} showLangSwitch{{end}}{{if $showvariantswitch}} showVariantSwitch{{end}}{{if $showvisitedlinks}} showVisitedLinks{{end}}">
|
||||
<ul>
|
||||
<li id="R-select-language-container" class="footerLangSwitch{{if $showlangswitch}} showLangSwitch{{end}}">
|
||||
<div class="padding menu-control">
|
||||
<i class="fa-fw fas fa-language"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<label class="a11y-only" for="R-select-language">{{ T "Language" }}</label>
|
||||
<select id="R-select-language" onchange="location = this.querySelector( `#R-select-language-${this.value}` ).dataset.url;">
|
||||
{{- $page := .Page }}
|
||||
{{- $pageLang := .Page.Language.Lang }}
|
||||
{{- range .Page.AllTranslations }}
|
||||
<option id="R-select-language-{{ .Language.Lang }}" value="{{ .Language.Lang }}" data-url="{{ partial "permalink.gotmpl" (dict "to" .) }}" lang="{{ .Language.LanguageCode }}"{{ if eq $pageLang .Language.Lang }} selected{{ end }}>{{ .Language.LanguageName }}</option>
|
||||
{{- end }}
|
||||
</select>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</li>
|
||||
<li id="R-select-variant-container" class="footerVariantSwitch{{if $showvariantswitch}} showVariantSwitch{{end}}">
|
||||
<div class="padding menu-control">
|
||||
<i class="fa-fw fas fa-paint-brush"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<label class="a11y-only" for="R-select-variant">{{ T "Theme" }}</label>
|
||||
<select id="R-select-variant" onchange="window.relearn.changeVariant( this.value );">
|
||||
{{- $firstvariant := true }}
|
||||
{{- range $themevariants }}
|
||||
{{- $themevariant := . }}
|
||||
<option id="R-select-variant-{{ $themevariant.identifier }}" value="{{ $themevariant.identifier }}"{{- if $firstvariant }} selected{{ end }}>{{ $themevariant.name }}</option>
|
||||
{{- $firstvariant = false }}
|
||||
{{- end }}
|
||||
</select>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<script>window.relearn.markVariant();</script>
|
||||
</li>
|
||||
<li class="footerVisitedLinks{{if $showvisitedlinks}} showVisitedLinks{{end}}">
|
||||
<div class="padding menu-control">
|
||||
<i class="fa-fw fas fa-history"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<button onclick="clearHistory();">{{ T "Clear-History" }}</button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="R-footer" class="footerFooter{{if $showfooter}} showFooter{{end}}">{{- $footer }}</div>
|
||||
<div id="R-footer-margin"></div>
|
||||
{{- $menuconfigs := .Params.sidebarfootermenus | default site.Params.sidebarfootermenus }}
|
||||
{{- if or (eq (printf "%T" $menuconfigs) "string") (eq (printf "%T" $menuconfigs) "<nil>") }}
|
||||
{{- $menuconfigs = partialCached "_relearn/defaultSidebarFooter.gotmpl" . }}
|
||||
{{- end }}
|
||||
{{- partial "partials/inline/menu" (dict "currentnode" $currentNode "configs" $menuconfigs "showvisitedlinks" $showvisitedlinks) }}
|
||||
<div id="R-footer">{{ partial "menu-footer.html" . }}</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
|
@ -142,8 +64,12 @@
|
|||
{{- partial "partials/inline/page-tree" (dict "currentnode" $currentNode "config" $config "showvisitedlinks" $showvisitedlinks) }}
|
||||
{{- else if eq $config.type "menu" }}
|
||||
{{- partial "partials/inline/menu-tree" (dict "currentnode" $currentNode "config" $config "showvisitedlinks" $showvisitedlinks "entries" ($config.entries | default (index site.Menus $config.identifier))) }}
|
||||
{{- else if eq $config.type "custom" }}
|
||||
{{- partial "partials/inline/custom-list" (dict "currentnode" $currentNode "config" $config "elements" $config.elements) }}
|
||||
{{- else if eq $config.type "divider" }}
|
||||
{{- partial "partials/inline/divider" (dict "currentnode" $currentNode "config" $config "elements" $config.elements) }}
|
||||
{{- else }}
|
||||
{{- warnf "WARNING: unknown menu type '%s' found in parameter 'sidebarmenus' for menu '%s'; use either 'page' or 'menu'" $config.type $config.identifier }}
|
||||
{{- warnf "WARNING: unknown menu type '%s' found in parameter 'sidebarmenus' for menu '%s'; use either 'page', 'menu', 'custom' or 'divider'" $config.type $config.identifier }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -447,4 +373,28 @@
|
|||
{{- if $url }}{{ if $showvisitedlinks }}<i class="fa-fw fas fa-check read-icon"></i>{{ end }}</a>{{ else }}</span>{{ end }}</li>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "partials/inline/custom-list" }}
|
||||
{{- $currentNode := .currentnode }}
|
||||
{{- $config := .config }}
|
||||
{{- with .elements }}
|
||||
<div id="R-shortcutmenu-{{ $config.identifier }}" class="R-sidebarmenu">
|
||||
{{- $classes := "" }}
|
||||
{{- if ($config.main | default false) }}
|
||||
{{- $classes = "space" }}
|
||||
{{- end }}
|
||||
<ul class="{{ $classes }}">
|
||||
{{- range . }}
|
||||
{{- partial (printf "sidebar/element/%s.html" .type) (dict "page" $currentNode "config" $config "element" .) }}
|
||||
{{- end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "partials/inline/divider" }}
|
||||
<div class="R-menu-divider default-animation">
|
||||
<hr class="padding">
|
||||
</div>
|
||||
{{- end }}
|
14
layouts/partials/sidebar/element/historyclearer.html
Normal file
14
layouts/partials/sidebar/element/historyclearer.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{{- $icon := .element.icon | default "history" }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
<li class="R-historyclearer">
|
||||
<div class="padding menu-control">
|
||||
<i class="{{ $icon }}"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<button onclick="clearHistory();">{{ T "Clear-History" }}</button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</li>
|
20
layouts/partials/sidebar/element/languageswitcher.html
Normal file
20
layouts/partials/sidebar/element/languageswitcher.html
Normal file
|
@ -0,0 +1,20 @@
|
|||
{{- $icon := .element.icon | default "language" }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
<li class="R-languageswitcher">
|
||||
<div class="padding menu-control">
|
||||
<i class="{{ $icon }}"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<label class="a11y-only" for="R-select-language">{{ T "Language" }}</label>
|
||||
<select id="R-select-language" onchange="location = this.querySelector( `#R-select-language-${this.value}` ).dataset.url;">
|
||||
{{- $pageLang := .page.Language.Lang }}
|
||||
{{- range .page.AllTranslations }}
|
||||
<option id="R-select-language-{{ .Language.Lang }}" value="{{ .Language.Lang }}" data-url="{{ partial "permalink.gotmpl" (dict "to" .) }}" lang="{{ .Language.LanguageCode }}"{{ if eq $pageLang .Language.Lang }} selected{{ end }}>{{ .Language.LanguageName }}</option>
|
||||
{{- end }}
|
||||
</select>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</li>
|
24
layouts/partials/sidebar/element/variantswitcher.html
Normal file
24
layouts/partials/sidebar/element/variantswitcher.html
Normal file
|
@ -0,0 +1,24 @@
|
|||
{{- $themevariants := partialCached "_relearn/themeVariants.gotmpl" .page }}
|
||||
{{- $icon := .element.icon | default "paint-brush" }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
<li class="R-variantswitcher">
|
||||
<div class="padding menu-control">
|
||||
<i class="{{ $icon }}"></i>
|
||||
<span> </span>
|
||||
<div class="control-style">
|
||||
<label class="a11y-only" for="R-select-variant">{{ T "Theme" }}</label>
|
||||
<select id="R-select-variant" onchange="window.relearn.changeVariant( this.value );">
|
||||
{{- $firstvariant := true }}
|
||||
{{- range $themevariants }}
|
||||
{{- $themevariant := . }}
|
||||
<option id="R-select-variant-{{ $themevariant.identifier }}" value="{{ $themevariant.identifier }}"{{- if $firstvariant }} selected{{ end }}>{{ $themevariant.name }}</option>
|
||||
{{- $firstvariant = false }}
|
||||
{{- end }}
|
||||
</select>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<script>window.relearn.markVariant();</script>
|
||||
</li>
|
|
@ -1 +1 @@
|
|||
7.5.0+6e9f056fd7ce9909fba00e8973ff439a09614879
|
||||
7.5.0+566c17d000a04bc3d189525bfb8d2ea06dcfe71d
|
Loading…
Add table
Reference in a new issue