mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 18:14:28 +00:00
Compare commits
86 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9c71856e49 | ||
![]() |
9300a794b1 | ||
![]() |
6d57058d9e | ||
![]() |
b6e5b24514 | ||
![]() |
f1d99aa191 | ||
![]() |
5597ad8c7d | ||
![]() |
cce1a68c0b | ||
![]() |
b3116d0c86 | ||
![]() |
0540f4f0ae | ||
![]() |
172fbcfbfb | ||
![]() |
2cfb171f9e | ||
![]() |
d1e589f60c | ||
![]() |
e866263fd0 | ||
![]() |
f749f7311c | ||
![]() |
29f0caf070 | ||
![]() |
b3a16435f8 | ||
![]() |
2a17b0faa1 | ||
![]() |
b29206df52 | ||
![]() |
88210f6f0f | ||
![]() |
571353a1f0 | ||
![]() |
22a2b3e308 | ||
![]() |
c91642cbb8 | ||
![]() |
12f334292a | ||
![]() |
9394ae46e8 | ||
![]() |
aa82875644 | ||
![]() |
6245c70de5 | ||
![]() |
51a85ac675 | ||
![]() |
a9d62233b4 | ||
![]() |
b9ff083fee | ||
![]() |
a8efa359f9 | ||
![]() |
0be27d429a | ||
![]() |
e6de1f6d5c | ||
![]() |
7db1b24358 | ||
![]() |
7b68f9b26c | ||
![]() |
9c0427be0d | ||
![]() |
da32ba604a | ||
![]() |
011c83bfc9 | ||
![]() |
5bc0364110 | ||
![]() |
b4e09ac819 | ||
![]() |
baa8b31078 | ||
![]() |
54c3afaa31 | ||
![]() |
00bc00d877 | ||
![]() |
9f03167c1e | ||
![]() |
b7add5ed8d | ||
![]() |
d78df1cd0a | ||
![]() |
b231f486b0 | ||
![]() |
0601a8583f | ||
![]() |
d9190b121f | ||
![]() |
d568cdadf1 | ||
![]() |
c17d98e073 | ||
![]() |
7d3a878c56 | ||
![]() |
f7d5605d2d | ||
![]() |
306a94261b | ||
![]() |
484dc39338 | ||
![]() |
dca9b3a1da | ||
![]() |
f11f9f0d71 | ||
![]() |
e10d41cb76 | ||
![]() |
b929b8e12a | ||
![]() |
f4d8ab82f1 | ||
![]() |
7aa17ef998 | ||
![]() |
aa2da9a398 | ||
![]() |
d920da77f2 | ||
![]() |
5920c352bd | ||
![]() |
934ea784cc | ||
![]() |
2577c24b08 | ||
![]() |
da74fc8a93 | ||
![]() |
1a2b4a1b02 | ||
![]() |
da7dfc58ef | ||
![]() |
c14b8279b6 | ||
![]() |
ebf5c7e0ac | ||
![]() |
86aa6a2041 | ||
![]() |
f0f7f13293 | ||
![]() |
d71a0af48d | ||
![]() |
2037a93c84 | ||
![]() |
40cdde008d | ||
![]() |
fad037d8f8 | ||
![]() |
b4a973dbf7 | ||
![]() |
ffc19cd7ce | ||
![]() |
68a7f37439 | ||
![]() |
a5a73fd188 | ||
![]() |
f030fa8140 | ||
![]() |
f2fefdaa9e | ||
![]() |
1a585304f3 | ||
![]() |
05e1f58c1a | ||
![]() |
dda87bb14f | ||
![]() |
2bce17eb46 |
8
.github/workflows/lint-build.yml
vendored
8
.github/workflows/lint-build.yml
vendored
@@ -51,6 +51,11 @@ jobs:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: ">1.0.0"
|
||||
|
||||
- name: Set up Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
@@ -89,6 +94,9 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||
|
||||
- name: Display environment
|
||||
run: npm run env
|
||||
|
||||
- name: Build main site
|
||||
run: npm run build:cache
|
||||
|
||||
|
@@ -1,69 +1,21 @@
|
||||
// Adapted from https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/google_analytics.html
|
||||
|
||||
{{- define "__ga_js_set_doNotTrack" -}}{{/* This is also used in the async version. */}}
|
||||
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
||||
{{- if not $pc.RespectDoNotTrack -}}
|
||||
{{ if and (not hugo.IsServer) (not site.Config.Privacy.GoogleAnalytics.Disable) }}
|
||||
{{ with site.Config.Services.GoogleAnalytics.ID }}
|
||||
{{ if strings.HasPrefix (lower .) "ua-" }}
|
||||
{{ warnf "Google Analytics 4 (GA4) replaced Google Universal Analytics (UA) effective 1 July 2023. See https://support.google.com/analytics/answer/11583528. Create a GA4 property and data stream, then replace the Google Analytics ID in your site configuration with the new value." }}
|
||||
{{ else }}
|
||||
var doNotTrack = false;
|
||||
{{- else -}}
|
||||
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
|
||||
var doNotTrack = (dnt == "1" || dnt == "yes");
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
|
||||
{{- if (and (not hugo.IsServer) (not $pc.Disable)) -}}
|
||||
{{ with .Site.Config.Services.GoogleAnalytics.ID -}}
|
||||
{{ if hasPrefix . "G-"}}
|
||||
{{ template "__ga_js_set_doNotTrack" $ }}
|
||||
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
gtag('js', new Date());
|
||||
gtag('config', '{{ . }}', { 'anonymize_ip': {{- $pc.AnonymizeIP -}} });
|
||||
}
|
||||
|
||||
{{ else if hasPrefix . "UA-" }}
|
||||
{{ template "__ga_js_set_doNotTrack" $ }}
|
||||
|
||||
if (!doNotTrack) {
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
{{- if $pc.UseSessionStorage }}
|
||||
if (window.sessionStorage) {
|
||||
var GA_SESSION_STORAGE_KEY = 'ga:clientId';
|
||||
ga('create', '{{ . }}', {
|
||||
'storage': 'none',
|
||||
'clientId': sessionStorage.getItem(GA_SESSION_STORAGE_KEY)
|
||||
});
|
||||
|
||||
ga(function(tracker) {
|
||||
sessionStorage.setItem(GA_SESSION_STORAGE_KEY, tracker.get('clientId'));
|
||||
});
|
||||
}
|
||||
{{ else }}
|
||||
ga('create', '{{ . }}', 'auto');
|
||||
{{ end -}}
|
||||
{{ if $pc.AnonymizeIP }}
|
||||
ga('set', 'anonymizeIp', true);
|
||||
{{ end }}
|
||||
|
||||
ga('send', 'pageview');
|
||||
}
|
||||
{{- end }}
|
||||
{{ end -}}
|
||||
{{- end }}
|
||||
if ({{ site.Config.Privacy.GoogleAnalytics.RespectDoNotTrack }}) {
|
||||
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
|
||||
var doNotTrack = (dnt == "1" || dnt == "yes");
|
||||
}
|
||||
if (!doNotTrack) {
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', '{{ . }}');
|
||||
}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
@@ -28,7 +28,7 @@ a:active {
|
||||
}
|
||||
|
||||
.main-content {
|
||||
margin-top: $overlay-offset;
|
||||
margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
$utilities: map-merge(
|
||||
|
@@ -20,6 +20,8 @@ strong {
|
||||
|
||||
$navbar-height: h.$navbar-height;
|
||||
$navbar-offset: h.$navbar-offset;
|
||||
$navbar-offset-xs: h.$navbar-offset-xs;
|
||||
$navbar-size: h.$navbar-size;
|
||||
$overlay-offset: h.$overlay-offset;
|
||||
$primary: h.$primary;
|
||||
$secondary: h.$secondary;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
// scss-docs-start breadcrumb
|
||||
.breadcrumb {
|
||||
padding-top: 0.3 * $navbar-offset;
|
||||
padding-top: calc(0.3 * var(--navbar-offset));
|
||||
}
|
||||
|
||||
// scss-docs-end breadcrumb
|
||||
|
@@ -1,3 +1,3 @@
|
||||
.feature {
|
||||
margin-top: 0.3 * $navbar-offset;
|
||||
margin-top: calc(0.3 * var(--navbar-offset));
|
||||
}
|
||||
|
@@ -23,7 +23,7 @@
|
||||
text-align: start;
|
||||
vertical-align: text-top;
|
||||
border-radius: 0;
|
||||
padding: 0 0 (4 * $spacer) 0;
|
||||
padding: 0 0 (4 * $spacer);
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
@@ -132,6 +132,43 @@
|
||||
|
||||
:root {
|
||||
--dropdown-horizontal-bg: var(--#{$prefix}light);
|
||||
--navbar-offset: #{$navbar-offset-xs};
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
display: inline-block;
|
||||
white-space: normal;
|
||||
text-align: center !important;
|
||||
vertical-align: middle;
|
||||
padding: 0 $spacer;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.navbar-container {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(#{$navbar-size}) {
|
||||
:root {
|
||||
--navbar-offset: #{$navbar-offset};
|
||||
}
|
||||
|
||||
.navbar-container {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
text-align: initial !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
margin-right: var(--bs-navbar-brand-margin-end);
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
|
@@ -1,10 +1,10 @@
|
||||
// scss-docs-start sidebar
|
||||
.sidebar {
|
||||
top: $navbar-offset;
|
||||
top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
.sidebar-overflow {
|
||||
top: $navbar-offset;
|
||||
top: var(--navbar-offset);
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@
|
||||
// stylelint-disable annotation-no-unknown
|
||||
|
||||
// scss-docs-start display-color
|
||||
.d-none-light {
|
||||
.d-none-light, .d-none-inline-light {
|
||||
display: none if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,21 @@
|
||||
display: block if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-inline-dark {
|
||||
display: inline if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.d-none-light {
|
||||
display: block if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-dark {
|
||||
.d-none-inline-light {
|
||||
display: inline if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.d-none-dark, .d-none-inline-dark {
|
||||
display: none if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
|
@@ -3,34 +3,34 @@
|
||||
//
|
||||
h1 {
|
||||
margin-top: $spacer * 2.5;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: $spacer * 2;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: $spacer * 1.75;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: $spacer * 1.5;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin-top: $spacer * 1.25;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
h6 {
|
||||
margin-top: $spacer;
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
||||
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
|
||||
scroll-margin-top: $navbar-offset;
|
||||
scroll-margin-top: var(--navbar-offset);
|
||||
}
|
||||
|
@@ -66,6 +66,15 @@ arguments:
|
||||
Flag indicating if pagination should be added to the card group, if the
|
||||
list exceeds the maximum number of cards to display.
|
||||
group: partial
|
||||
pagination:
|
||||
type: int
|
||||
optional: true
|
||||
comment: >-
|
||||
Number of elements per page in pagination, overrides site settings.
|
||||
group: partial
|
||||
options:
|
||||
min: 1
|
||||
release: v0.23.12
|
||||
href:
|
||||
type: string
|
||||
optional: true
|
||||
|
@@ -211,6 +211,14 @@ arguments:
|
||||
optional: true
|
||||
comment: Render hook for the image partial.
|
||||
group: partial
|
||||
sizes:
|
||||
type: string
|
||||
default: 100vw
|
||||
optional: true
|
||||
comment: >-
|
||||
One or more strings separated by commas, indicating the source sizes of an
|
||||
image set.
|
||||
group: partial
|
||||
body:
|
||||
optional: true
|
||||
comment: >-
|
||||
|
@@ -98,6 +98,14 @@ arguments:
|
||||
- low
|
||||
- auto
|
||||
group: partial
|
||||
sizes:
|
||||
type: string
|
||||
default: 100vw
|
||||
optional: true
|
||||
comment: >-
|
||||
One or more strings separated by commas, indicating the source sizes of an
|
||||
image set.
|
||||
group: partial
|
||||
title:
|
||||
type: string
|
||||
optional: true
|
||||
|
@@ -18,6 +18,7 @@ arguments:
|
||||
type:
|
||||
- page.Pages
|
||||
- resource.Resources
|
||||
- '[]map[string]interface {}'
|
||||
optional: true
|
||||
comment: Array of pages to be rendered as nav items.
|
||||
group: partial
|
||||
|
@@ -118,6 +118,7 @@ arguments:
|
||||
values:
|
||||
- light
|
||||
- dark
|
||||
- none
|
||||
group: partial
|
||||
release: v0.23.0
|
||||
logo:
|
||||
|
@@ -59,6 +59,7 @@
|
||||
overlayMode = "dark"
|
||||
horizontal = false
|
||||
offset = "5.5rem"
|
||||
offsetXS = "5.5rem"
|
||||
search = true
|
||||
searchModal = false
|
||||
breadcrumb = true
|
||||
|
@@ -219,6 +219,7 @@
|
||||
"flex-column",
|
||||
"flex-fill",
|
||||
"flex-grow-1",
|
||||
"flex-md-grow-0",
|
||||
"font-monospace",
|
||||
"footer",
|
||||
"form-control",
|
||||
@@ -226,6 +227,7 @@
|
||||
"fs-5",
|
||||
"fs-6",
|
||||
"fs-md-5",
|
||||
"fw-30",
|
||||
"fw-bold",
|
||||
"fw-semibold",
|
||||
"g-0",
|
||||
@@ -300,11 +302,13 @@
|
||||
"navbar",
|
||||
"navbar-brand",
|
||||
"navbar-collapse",
|
||||
"navbar-container",
|
||||
"navbar-contrast",
|
||||
"navbar-expand-md",
|
||||
"navbar-fixed-top",
|
||||
"navbar-nav",
|
||||
"navbar-nav-scroll",
|
||||
"navbar-title",
|
||||
"navbar-toggler",
|
||||
"next",
|
||||
"no-js",
|
||||
|
12
go.mod
12
go.mod
@@ -4,13 +4,13 @@ go 1.19
|
||||
|
||||
require (
|
||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.2.5 // indirect
|
||||
github.com/gethinode/mod-flexsearch v1.10.0 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.8.1 // indirect
|
||||
github.com/gethinode/mod-katex v1.0.7 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.0.0 // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.2.6 // indirect
|
||||
github.com/gethinode/mod-flexsearch v1.11.3 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.8.2 // indirect
|
||||
github.com/gethinode/mod-katex v1.0.8 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.0.1 // indirect
|
||||
github.com/gethinode/mod-lottie v1.4.4 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.1.1 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.2.2 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||
)
|
||||
|
18
go.sum
18
go.sum
@@ -16,6 +16,8 @@ github.com/gethinode/mod-bootstrap v1.2.4 h1:4CFNpwpRKiZlMVWg9u5+ijSb924j4yM3G1p
|
||||
github.com/gethinode/mod-bootstrap v1.2.4/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.2.5 h1:h6yAlkMZA34wJU3pLFpLxp1ynEBte/YTY4kGEQtMGPE=
|
||||
github.com/gethinode/mod-bootstrap v1.2.5/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.2.6 h1:joKKVqWzPgitPbUFlU4oIRj72YXsEHkVun3TPf4ZZ2Q=
|
||||
github.com/gethinode/mod-bootstrap v1.2.6/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
|
||||
@@ -52,6 +54,14 @@ github.com/gethinode/mod-flexsearch v1.9.0 h1:AE+w7QeZTxh36JNTG+CASDLxaqlCZKn+EU
|
||||
github.com/gethinode/mod-flexsearch v1.9.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.10.0 h1:ymlHu5G2635D/h2axG4jgpGS+Vvtzxg07SZX8pJOJSo=
|
||||
github.com/gethinode/mod-flexsearch v1.10.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.10.1 h1:aZ4WjUxfiCV1eiGjIUdP+lRTlOI/flPc6ABUQ99C+Es=
|
||||
github.com/gethinode/mod-flexsearch v1.10.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.11.0 h1:CQArPhjQRtIZqAK4ysOiBzAB1hi//L4RTelH+ScjbXU=
|
||||
github.com/gethinode/mod-flexsearch v1.11.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.11.1 h1:TtaE6Dv0lH4x73SHDaZpQJLjk52lRu/VoLf6+CXFOLs=
|
||||
github.com/gethinode/mod-flexsearch v1.11.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.11.3 h1:ykxpUg8M4vr1C4QzxJOPGt+1ZmPAD/gOCZoFcZxWoWw=
|
||||
github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||
@@ -88,6 +98,8 @@ github.com/gethinode/mod-fontawesome v1.8.0 h1:YEuCmvCdzcemF1eFK35Wnp1asKKO3/xbx
|
||||
github.com/gethinode/mod-fontawesome v1.8.0/go.mod h1:uvuC2YL8mdXNp6NRzFOu4TWsHvtY9AZ8YxJkF23/M/8=
|
||||
github.com/gethinode/mod-fontawesome v1.8.1 h1:iyvULrpaGizQoI5Vl9WjFYcMGWefdyG90NGK2UKax+k=
|
||||
github.com/gethinode/mod-fontawesome v1.8.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-fontawesome v1.8.2 h1:LAzLytyh9c9gLzBWMju6Gtp3uEojhBQEYw0o38EUKZY=
|
||||
github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
|
||||
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
|
||||
@@ -102,6 +114,8 @@ github.com/gethinode/mod-katex v1.0.5 h1:AVhcTINYory0ygChQERf8PcyJkbT1oqhmLRF6ES
|
||||
github.com/gethinode/mod-katex v1.0.5/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.0.7 h1:FTEhvi3r+O5lPeOxB7OsanFZuAB14yC5fIk3DqhkNyY=
|
||||
github.com/gethinode/mod-katex v1.0.7/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.0.8 h1:tFGFz/JIEogCz4wvUsUncrOsOupPxsjP+TwU/3NxIjY=
|
||||
github.com/gethinode/mod-katex v1.0.8/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
|
||||
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
||||
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
|
||||
@@ -116,6 +130,8 @@ github.com/gethinode/mod-leaflet v0.4.0 h1:Xc6c1UTf4m1saQLFfFWT5sEpwj25xVGuS8csG
|
||||
github.com/gethinode/mod-leaflet v0.4.0/go.mod h1:yr+bUKAstifdB16mbYh69OayAmgPOlNUubAmVn5eL2M=
|
||||
github.com/gethinode/mod-leaflet v1.0.0 h1:HdnWafOGkkK1hYGfqLYF3pp9dAFS/caxlzML9sO1rCc=
|
||||
github.com/gethinode/mod-leaflet v1.0.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-leaflet v1.0.1 h1:L4Coe6HTD9O0Txs1S8AtVg+6/TEneSF9i6fJK8jdWUw=
|
||||
github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
||||
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
||||
@@ -160,6 +176,8 @@ github.com/gethinode/mod-utils/v2 v2.1.0 h1:5I0IN/AX5qPFYx7tjWXk59GBevTJzixxZUGj
|
||||
github.com/gethinode/mod-utils/v2 v2.1.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.1.1 h1:aLBcS9Zbx+dqnu5oBsTM01AkkN5nwwifgbV4D0qiHnM=
|
||||
github.com/gethinode/mod-utils/v2 v2.1.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.2.2 h1:ZRxWIJKmZIDYsoMS3WhxxC+BWJrkd1dcZ8rz/cLZExc=
|
||||
github.com/gethinode/mod-utils/v2 v2.2.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||
|
@@ -39,7 +39,11 @@
|
||||
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
|
||||
{{ $paginator := "" }}
|
||||
{{ if and $isPages $paginate }}
|
||||
{{ $paginator = $page.Paginate $pages .max }}
|
||||
{{ with .pagination }}
|
||||
{{ $paginator = $page.Paginate $pages . }}
|
||||
{{ else }}
|
||||
{{ $paginator = $page.Paginate $pages }}
|
||||
{{ end }}
|
||||
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
|
||||
{{ end }}
|
||||
|
||||
@@ -74,12 +78,38 @@
|
||||
{{- $responsive := .responsive | default true -}}
|
||||
{{- $cols := string .cols | default "3" -}}
|
||||
|
||||
{{- $sizes := "100vw" }}
|
||||
{{- $colGrid := "" -}}
|
||||
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}}
|
||||
{{- else if eq $cols "2" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-2" }}{{ end -}}
|
||||
{{- else if eq $cols "3" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-3" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-3" }}{{ end -}}
|
||||
{{- else if eq $cols "4" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-4" }}{{ end -}}
|
||||
{{- else if eq $cols "5" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-5" }}{{ end -}}
|
||||
{{- if eq $cols "1" }}
|
||||
{{ $colGrid = "row-cols-1" -}}
|
||||
{{- else if eq $cols "2" }}
|
||||
{{ if $responsive }}
|
||||
{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}
|
||||
{{ else }}
|
||||
{{ $colGrid = "row-cols-2" }}
|
||||
{{ end -}}
|
||||
{{ $sizes = printf "(min-width: %s) 50vw, 100vw" $breakpoint.currentSize }}
|
||||
{{- else if eq $cols "3" }}
|
||||
{{ if $responsive }}
|
||||
{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-3" $breakpoint.prev $breakpoint.current }}
|
||||
{{ else }}
|
||||
{{ $colGrid = "row-cols-3" }}
|
||||
{{ end -}}
|
||||
{{ $sizes = printf "(min-width: %s) 33.3vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
|
||||
{{- else if eq $cols "4" }}
|
||||
{{ if $responsive }}
|
||||
{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.prev $breakpoint.current }}
|
||||
{{ else }}
|
||||
{{ $colGrid = "row-cols-4" }}
|
||||
{{ end -}}
|
||||
{{ $sizes = printf "(min-width: %s) 25vw, (min-width: %s) 50vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
|
||||
{{- else if eq $cols "5" }}
|
||||
{{ if $responsive }}
|
||||
{{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.prev $breakpoint.current }}
|
||||
{{ else }}
|
||||
{{ $colGrid = "row-cols-5" }}
|
||||
{{ end -}}
|
||||
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
|
||||
{{ end -}}
|
||||
|
||||
{{- if not $paginate -}}
|
||||
@@ -98,6 +128,7 @@
|
||||
"footer" $footer
|
||||
"header" $header
|
||||
"loading" $loading
|
||||
"sizes" $sizes
|
||||
"orientation" $orientation
|
||||
"padding" $padding
|
||||
"ratio" $ratio
|
||||
|
@@ -22,6 +22,7 @@
|
||||
{{- $iconStyle := "" -}}
|
||||
{{- $align := .align | default "start" -}}
|
||||
{{- $style := .style | default "" -}}
|
||||
{{- $sizes := .sizes | default "100vw" -}}
|
||||
{{- $loading := .loading -}}
|
||||
{{- $orientation := .orientation | default "stacked" -}}
|
||||
{{- $padding := (string .padding) | default "auto" -}}
|
||||
@@ -131,7 +132,7 @@
|
||||
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
|
||||
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
|
||||
{{- else if $icon -}}
|
||||
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
@@ -147,7 +148,7 @@
|
||||
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
|
||||
{{ if $button }}
|
||||
{{ $label := (or $buttonLabel $title) | default (T "readMore") }}
|
||||
<div>{{ partial "assets/button.html" (dict "title" $label "icon" "fas chevron-right" "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
|
||||
<div class="d-flex align-items-end">{{ partial "assets/button.html" (dict "title" $label "icon" "fas chevron-right" "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -157,7 +158,7 @@
|
||||
<!-- Render stacked / default card -->
|
||||
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
|
||||
{{- if $thumbnail -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
|
||||
{{- else if $icon -}}
|
||||
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||
@@ -172,7 +173,7 @@
|
||||
{{ $label := (or $buttonLabel $title) | default (T "readMore") }}
|
||||
<div class="row p-{{ $padding }}" >
|
||||
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
|
||||
<div class="col {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
|
||||
<div class="col d-flex align-items-end {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
|
||||
{{ partial "assets/button.html" (dict "title" $label "href" $href "outline" true "size" "sm" "class" "card-button") }}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -35,6 +35,8 @@
|
||||
{{- $lazy := eq $loading "lazy" -}}
|
||||
{{- $priority := .priority -}}
|
||||
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
|
||||
{{- $sizes := .sizes | default "100vw" -}}
|
||||
|
||||
|
||||
{{- define "partials/image-portrait.html" -}}
|
||||
{{- $dimensions := slice }}
|
||||
@@ -168,6 +170,7 @@
|
||||
{{- $modes := .modes -}}
|
||||
{{- $lazy := .lazy -}}
|
||||
{{- $page := .page -}}
|
||||
{{- $sizes := .sizes -}}
|
||||
{{- $priority := .priority -}}
|
||||
{{- $isVector := false -}}
|
||||
|
||||
@@ -235,7 +238,7 @@
|
||||
src="{{ $fallbackURL }}"
|
||||
{{ if $lazy }}loading="lazy"{{ end }}
|
||||
{{ with $priority }}fetchpriority="{{ . }}"{{ end }}
|
||||
{{ with $imgset -}}srcset="{{ . }}" sizes="100vw"{{- end }}
|
||||
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
|
||||
{{ with $height }}height="{{ . }}"{{ end }}
|
||||
{{ with $width }}width="{{ . }}"{{ end }}
|
||||
{{ with $title }}alt="{{ . }}"{{ end }}>
|
||||
@@ -263,6 +266,7 @@
|
||||
"figclass" $figclass
|
||||
"lazy" $lazy
|
||||
"priority" $priority
|
||||
"sizes" $sizes
|
||||
"page" $page)
|
||||
-}}
|
||||
|
||||
|
@@ -112,6 +112,7 @@
|
||||
{{- $fixed := .fixed | default false -}}
|
||||
{{- $overlay := .overlay | default false -}}
|
||||
{{- $overlayMode := .overlayMode | default "dark" -}}
|
||||
{{- if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
|
||||
{{- $color := .color | default "" -}}
|
||||
{{- $search := .search | default site.Params.navigation.search -}}
|
||||
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
|
||||
@@ -183,42 +184,46 @@
|
||||
{{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }}
|
||||
>
|
||||
<div class="container-xxl p-0">
|
||||
<!-- Insert sidebar toggler when applicable -->
|
||||
<div class="d-flex align-items-center">
|
||||
{{- if $page.Scratch.Get "sidebar" -}}
|
||||
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
|
||||
<div class="d-flex navbar-container justify-content-center">
|
||||
<!-- Insert sidebar toggler when applicable -->
|
||||
<div class="d-flex align-items-center">
|
||||
{{- if $page.Scratch.Get "sidebar" -}}
|
||||
<button class="navbar-toggler collapsed p-0 mx-auto fw-30" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvass-sidebar" aria-controls="offcanvass-sidebar" aria-label="{{ T "toggleSidebar" }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
|
||||
</button>
|
||||
{{- else -}}
|
||||
<!-- Insert invisible sidebar toggler to center logo correctly on smaller screens -->
|
||||
<button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
|
||||
</button>
|
||||
{{- end -}}
|
||||
</div>
|
||||
|
||||
<!-- Insert the brand logo or name -->
|
||||
<div class="{{ if (or $logoLight $logo) }}mx-auto{{ else }}flex-grow-1 flex-{{ $size }}-grow-0{{ end }}">
|
||||
<a class="navbar-brand" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
|
||||
{{- if (and $logoLight $logoDark) -}}
|
||||
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logoLight "height" 30) }}
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logoLight }}{{ else }}{{ $logoLight }}{{ end }}" class="d-none-inline-dark" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logoDark }}{{ else }}{{ $logoDark }}{{ end }}" class="d-none-inline-light" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
{{- else if $logo -}}
|
||||
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logo "height" 30) }}
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logo }}{{ else }}{{ $logo }}{{ end }}" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
{{- else -}}
|
||||
<div class="navbar-title fw-bold h-100">{{ $title }}</div>
|
||||
{{- end -}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Insert main navigation toggler -->
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse"
|
||||
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
|
||||
<span class="toggler-icon top-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
<span class="toggler-icon middle-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
<span class="toggler-icon bottom-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
</button>
|
||||
{{- else -}}
|
||||
<!-- Insert invisible sidebar toggler to center logo correctly on smaller screens -->
|
||||
<button class="navbar-toggler collapsed p-0 mx-auto invisible fw-30" type="button">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis fa-fw" "spacing" false) -}}
|
||||
</button>
|
||||
{{- end -}}
|
||||
</div>
|
||||
|
||||
<!-- Insert the brand logo or name -->
|
||||
<a class="navbar-brand mx-auto" href="{{ site.Home.RelPermalink }}" aria-label="{{ T "home" }}">
|
||||
{{- if (and $logoLight $logoDark) -}}
|
||||
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logoLight "height" 30) }}
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logoLight }}{{ else }}{{ $logoLight }}{{ end }}" class="d-none-dark" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logoDark }}{{ else }}{{ $logoDark }}{{ end }}" class="d-none-light" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
{{- else if $logo -}}
|
||||
{{ $width := partial "utilities/GetWidth.html" (dict "path" $logo "height" 30) }}
|
||||
<img src="{{if $absoluteURL }}{{ absURL $logo }}{{ else }}{{ $logo }}{{ end }}" alt="{{ $title }} logo" height="30"{{ with $width }} width="{{ . }}"{{ end }}>
|
||||
{{- else -}}
|
||||
<span class="fw-bold">{{ $title }}</span>
|
||||
{{- end -}}
|
||||
</a>
|
||||
|
||||
<!-- Insert main navigation toggler -->
|
||||
<div class="d-flex">
|
||||
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse"
|
||||
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
|
||||
<span class="toggler-icon top-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
<span class="toggler-icon middle-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
<span class="toggler-icon bottom-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="navbar-collapse collapse" id="{{ $id }}-collapse">
|
||||
|
@@ -27,7 +27,11 @@
|
||||
{{ end}}
|
||||
|
||||
{{- $navbarOffset := "0rem" -}}
|
||||
{{- if site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4rem" }}{{ end }}
|
||||
{{- $navbarOffsetXS := "0rem" -}}
|
||||
{{- if site.Params.navigation.fixed }}
|
||||
{{ $navbarOffset = site.Params.navigation.offset | default "4rem" }}
|
||||
{{ $navbarOffsetXS = site.Params.navigation.offsetXS | default $navbarOffset }}
|
||||
{{ end }}
|
||||
{{- $overlayOffset := $navbarOffset -}}
|
||||
{{- if site.Params.navigation.overlay }}{{ $overlayOffset = "0rem" }}{{ end }}
|
||||
{{- $vars := dict
|
||||
@@ -43,6 +47,8 @@
|
||||
"dark" (default "#212529" site.Params.style.dark)
|
||||
"navbar-height" (site.Params.navigation.offset | default "4rem")
|
||||
"navbar-offset" $navbarOffset
|
||||
"navbar-offset-xs" $navbarOffsetXS
|
||||
"navbar-size" (site.Params.navigation.size | default "md")
|
||||
"overlay-offset" $overlayOffset
|
||||
"enable-dark-mode" (printf "%t" ((default true site.Params.main.enableDarkMode)))
|
||||
"import-fonts" (printf "%t" (not (hasPrefix (lower site.Params.style.themeFontPath) "http")))
|
||||
|
@@ -3,6 +3,7 @@
|
||||
{{- $orientation := .orientation | default "stacked" -}}
|
||||
{{- $actions := .actions -}}
|
||||
{{- $width := .width | default 6 }}
|
||||
{{ $sizes := "100vw" }}
|
||||
{{- if or (lt $width 1) (gt $width 12) -}}
|
||||
{{- $width = 6 -}}
|
||||
{{- warnf "partial [list/featured.html] - Invalid column width: %d" $width -}}
|
||||
@@ -19,6 +20,11 @@
|
||||
{{- end -}}
|
||||
{{- $breadcrumb := and (not $page.IsHome) site.Params.navigation.breadcrumb -}}
|
||||
|
||||
{{- define "partials/list/featured-sizes.html" }}
|
||||
{{ $sizes := printf "(min-width: 768px) %dvw, 50vw" (int (math.Round (div (mul .width 100) 12))) }}
|
||||
{{ return $sizes }}
|
||||
{{ end }}
|
||||
|
||||
{{- define "partials/list/featured-body.html" }}
|
||||
{{- $page := .page -}}
|
||||
{{- $headings := .headings -}}
|
||||
@@ -44,6 +50,7 @@
|
||||
{{- define "partials/list/featured-illustration.html" }}
|
||||
{{- $page := .page -}}
|
||||
{{- $style := printf "img-wrap mx-auto mx-md-0 %s" .style -}}
|
||||
{{ $sizes := .sizes }}
|
||||
|
||||
{{ if $page.Params.icon }}
|
||||
{{- $icon := (or (and (reflect.IsMap $page.Params.Icon) $page.Params.Icon.url) $page.Params.Icon) -}}
|
||||
@@ -56,7 +63,7 @@
|
||||
{{ else }}
|
||||
{{- $thumbnail := (or (and (reflect.IsMap $page.Params.Thumbnail) $page.Params.Thumbnail.url) $page.Params.Thumbnail) -}}
|
||||
{{- if $thumbnail }}
|
||||
{{ partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "wrapper" $style "class" "rounded" "title" $page.Site.Title "priority" "high") }}
|
||||
{{ partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "sizes" $sizes "wrapper" $style "class" "rounded" "title" $page.Site.Title "priority" "high") }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
@@ -70,7 +77,8 @@
|
||||
{{ if eq $orientation "stacked" }}
|
||||
<div class="row justify-content-center flex-fill">
|
||||
<div class="col-12 col-md-{{ $width }} m-auto text-center">
|
||||
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4") }}
|
||||
{{ $sizes = partial "partials/list/featured-sizes.html" (dict "width" $width) }}
|
||||
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "sizes" $sizes "style" "pb-4") }}
|
||||
{{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions) }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -79,8 +87,11 @@
|
||||
<div class="col col-12 col-md-{{ $width }} order-1 order-md-0 my-md-auto">
|
||||
{{ partial "partials/list/featured-body.html" (dict "page" $page "headings" $headings "orientation" $orientation "actions" $actions "align" $align) }}
|
||||
</div>
|
||||
<div class="col col-12 col-md-{{ if gt $width 6 }}{{ sub 12 $width }}{{ else }}{{ $width }}{{ end }} order-0 order-md-1 text-center my-md-auto align-self-end">
|
||||
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "style" "pb-4 pb-md-0") }}
|
||||
{{ $newWidth := $width }}
|
||||
{{ if gt $width 6 }}{{ $newWidth = sub 12 $width }}{{ end }}
|
||||
{{ $sizes = partial "partials/list/featured-sizes.html" (dict "width" $newWidth) }}
|
||||
<div class="col col-12 col-md-{{ $newWidth }} order-0 order-md-1 text-center my-md-auto align-self-end">
|
||||
{{ partial "partials/list/featured-illustration.html" (dict "page" $page "sizes" $sizes "style" "pb-4 pb-md-0") }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
574
package-lock.json
generated
574
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.23.5",
|
||||
"version": "0.23.13",
|
||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||
"keywords": [
|
||||
"hugo",
|
||||
@@ -67,19 +67,19 @@
|
||||
},
|
||||
"homepage": "https://gethinode.com",
|
||||
"devDependencies": {
|
||||
"@fullhuman/postcss-purgecss": "^5.0.0",
|
||||
"@fullhuman/postcss-purgecss": "^6.0.0",
|
||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||
"@netlify/plugin-lighthouse": "^6.0.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"cssnano": "^6.1.2",
|
||||
"cssnano-preset-advanced": "^6.1.2",
|
||||
"cssnano": "^7.0.1",
|
||||
"cssnano-preset-advanced": "^7.0.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-n": "^16.6.2",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"hugo-bin": "^0.121.1",
|
||||
"markdownlint-cli2": "^0.12.1",
|
||||
"hugo-bin": "0.122.5",
|
||||
"markdownlint-cli2": "^0.13.0",
|
||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss-cli": "^11.0.0",
|
||||
@@ -87,8 +87,8 @@
|
||||
"replace-in-files-cli": "^2.2.0",
|
||||
"rimraf": "^5.0.5",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.3.1",
|
||||
"stylelint-config-standard-scss": "^13.0.0"
|
||||
"stylelint": "^16.5.0",
|
||||
"stylelint-config-standard-scss": "^13.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||
|
Reference in New Issue
Block a user