@trimble-oss/modus-docs-hugo-theme 1.0.0-alpha1
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +21 -0
- package/README.md +43 -0
- package/assets/js/auto-complete.min.js +1 -0
- package/assets/js/loglevel-plugin-remote.min.js +1 -0
- package/assets/js/loglevel.min.js +2 -0
- package/assets/js/lunr.min.js +7 -0
- package/assets/js/scroll-to-top.js +33 -0
- package/assets/js/search.min.js +1 -0
- package/assets/js/tdcafLogger.min.js +1 -0
- package/assets/js/theme-toggle.js +48 -0
- package/assets/js/was-this-page-helpful.js +15 -0
- package/assets/styles/_article.scss +110 -0
- package/assets/styles/_autocomplete.scss +63 -0
- package/assets/styles/_cards.scss +25 -0
- package/assets/styles/_codefences-dark.scss +16 -0
- package/assets/styles/_codefences.scss +243 -0
- package/assets/styles/_col-sidebar.scss +3 -0
- package/assets/styles/_font-open-sans.scss +69 -0
- package/assets/styles/_footer.scss +4 -0
- package/assets/styles/_javascript-disabled.scss +21 -0
- package/assets/styles/_list-js.scss +27 -0
- package/assets/styles/_menu-right.scss +55 -0
- package/assets/styles/_mobile.scss +52 -0
- package/assets/styles/_navbar-search.scss +53 -0
- package/assets/styles/_navbar.scss +5 -0
- package/assets/styles/_news.scss +6 -0
- package/assets/styles/_onetrust-cookie-banner.scss +166 -0
- package/assets/styles/_posts.scss +17 -0
- package/assets/styles/_print.scss +5 -0
- package/assets/styles/_scroll-to-top-btn.scss +17 -0
- package/assets/styles/_sidebar.scss +65 -0
- package/assets/styles/_skippy.scss +15 -0
- package/assets/styles/_tables.scss +5 -0
- package/assets/styles/_theme-dark.scss +10 -0
- package/assets/styles/_theme-light.scss +5 -0
- package/assets/styles/_theme-toggle.scss +83 -0
- package/assets/styles/_utilities.scss +9 -0
- package/assets/styles/_was-this-page-helpful.scss +28 -0
- package/assets/styles/_xxl.scss +18 -0
- package/assets/styles/styles.scss +66 -0
- package/data/menu.yml +19 -0
- package/data/navbar_apps.yml +15 -0
- package/layouts/_default/_markup/render-heading.html +23 -0
- package/layouts/_default/_markup/render-image.html +4 -0
- package/layouts/_default/_markup/render-link.html +4 -0
- package/layouts/_default/baseof.html +65 -0
- package/layouts/_default/home.html +31 -0
- package/layouts/_default/list.html +41 -0
- package/layouts/_default/redirect.html +19 -0
- package/layouts/_default/single.html +113 -0
- package/layouts/index.json +18 -0
- package/layouts/index.rss.xml +49 -0
- package/layouts/partials/analytics.html +9 -0
- package/layouts/partials/blog-brief.html +34 -0
- package/layouts/partials/blog-share.html +58 -0
- package/layouts/partials/btn-theme-toggle.html +20 -0
- package/layouts/partials/card-component.html +29 -0
- package/layouts/partials/col-sidebar-menu.html +74 -0
- package/layouts/partials/col-sidebar.html +25 -0
- package/layouts/partials/custom-footer.html +1 -0
- package/layouts/partials/custom-header.html +1 -0
- package/layouts/partials/footer.html +13 -0
- package/layouts/partials/header.html +14 -0
- package/layouts/partials/icons/brands/codepen.svg +2 -0
- package/layouts/partials/icons/brands/facebook-square.svg +2 -0
- package/layouts/partials/icons/brands/github-alt.svg +1 -0
- package/layouts/partials/icons/brands/github.svg +2 -0
- package/layouts/partials/icons/brands/linkedin.svg +1 -0
- package/layouts/partials/icons/brands/square-x-twitter.svg +2 -0
- package/layouts/partials/icons/brands/vimeo-square.svg +2 -0
- package/layouts/partials/icons/modus-outlined/accessibility-circle.svg +3 -0
- package/layouts/partials/icons/modus-outlined/arrow-up.svg +3 -0
- package/layouts/partials/icons/modus-outlined/bar-graph-square.svg +3 -0
- package/layouts/partials/icons/modus-outlined/launch.svg +3 -0
- package/layouts/partials/icons/modus-outlined/menu.svg +3 -0
- package/layouts/partials/icons/modus-outlined/more-vertical.svg +3 -0
- package/layouts/partials/icons/modus-outlined/person-account.svg +3 -0
- package/layouts/partials/icons/modus-outlined/search.svg +3 -0
- package/layouts/partials/icons/modus-outlined/sync.svg +3 -0
- package/layouts/partials/icons/modus-outlined/thumbs-down.svg +3 -0
- package/layouts/partials/icons/modus-outlined/thumbs-up.svg +3 -0
- package/layouts/partials/icons/modus-outlined/web.svg +3 -0
- package/layouts/partials/icons/modus-solid/email.svg +3 -0
- package/layouts/partials/icons/modus-solid/palette.svg +3 -0
- package/layouts/partials/icons/navbar-toggler-icon.svg +1 -0
- package/layouts/partials/icons/transportation/truck.svg +3 -0
- package/layouts/partials/icons/trimble-logo.svg +1 -0
- package/layouts/partials/index/list-blog-brief.html +17 -0
- package/layouts/partials/logos/trimble.svg +1 -0
- package/layouts/partials/menu-right.html +24 -0
- package/layouts/partials/meta.html +81 -0
- package/layouts/partials/navbar-dropdown.html +21 -0
- package/layouts/partials/navbar-search.html +19 -0
- package/layouts/partials/navbar.html +31 -0
- package/layouts/partials/related-content.html +50 -0
- package/layouts/partials/skippy.html +11 -0
- package/layouts/partials/trimble-logo.html +47 -0
- package/layouts/partials/was-this-page-helpful.html +19 -0
- package/layouts/shortcodes/alert.html +18 -0
- package/layouts/shortcodes/blocks/cover.html +50 -0
- package/layouts/shortcodes/blocks/feature.html +17 -0
- package/layouts/shortcodes/blocks/link-down.html +7 -0
- package/layouts/shortcodes/blocks/section.html +13 -0
- package/layouts/shortcodes/checklist.html +7 -0
- package/layouts/shortcodes/cloakemail.html +38 -0
- package/layouts/shortcodes/date-today.html +1 -0
- package/layouts/shortcodes/example.html +50 -0
- package/layouts/shortcodes/iframe.html +24 -0
- package/layouts/shortcodes/img.html +10 -0
- package/layouts/shortcodes/markdown.html +1 -0
- package/layouts/shortcodes/message.html +7 -0
- package/layouts/shortcodes/partial.html +1 -0
- package/layouts/shortcodes/tab.html +55 -0
- package/layouts/shortcodes/table.html +9 -0
- package/layouts/shortcodes/tabpane.html +172 -0
- package/layouts/sitemap.xml +8 -0
- package/package.json +47 -0
- package/static/favicon.ico +0 -0
- package/static/favicon.svg +1 -0
- package/static/fonts/open-sans-v27-latin-300.woff +0 -0
- package/static/fonts/open-sans-v27-latin-300.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-300italic.woff +0 -0
- package/static/fonts/open-sans-v27-latin-300italic.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-600.woff +0 -0
- package/static/fonts/open-sans-v27-latin-600.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-700.woff +0 -0
- package/static/fonts/open-sans-v27-latin-700.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-800.woff +0 -0
- package/static/fonts/open-sans-v27-latin-800.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-italic.woff +0 -0
- package/static/fonts/open-sans-v27-latin-italic.woff2 +0 -0
- package/static/fonts/open-sans-v27-latin-regular.woff +0 -0
- package/static/fonts/open-sans-v27-latin-regular.woff2 +0 -0
- package/static/img/trimble-logo.svg +1 -0
- package/static/js/instant-page.min.js +2 -0
- package/static/js/theme-toggle.js +48 -0
- package/static/staticwebapp.config.json +24 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
// blog posts
|
2
|
+
header.header-blog {
|
3
|
+
background-size: cover;
|
4
|
+
min-height: 90px;
|
5
|
+
aspect-ratio: 21/9;
|
6
|
+
background-position: center;
|
7
|
+
border-radius: 8px;
|
8
|
+
max-height: 600px;
|
9
|
+
}
|
10
|
+
|
11
|
+
.share svg {
|
12
|
+
opacity: 0.8;
|
13
|
+
}
|
14
|
+
|
15
|
+
.share svg:hover {
|
16
|
+
opacity: 0.6;
|
17
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
.btn-to-top {
|
2
|
+
font-size: 18px;
|
3
|
+
line-height: 48px !important;
|
4
|
+
background-color: #353a40 !important;
|
5
|
+
width: 48px;
|
6
|
+
bottom: 20px;
|
7
|
+
right: 20px;
|
8
|
+
z-index: 6000;
|
9
|
+
opacity: 0;
|
10
|
+
transform: translateY(100px);
|
11
|
+
transition: all 1s ease;
|
12
|
+
}
|
13
|
+
|
14
|
+
.btn-to-top-show {
|
15
|
+
opacity: 0.9;
|
16
|
+
transform: translateY(0);
|
17
|
+
}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
.card-blog-brief {
|
2
|
+
transition: none;
|
3
|
+
}
|
4
|
+
|
5
|
+
#sidebar-menu {
|
6
|
+
max-height: calc(100vh - 66px);
|
7
|
+
}
|
8
|
+
|
9
|
+
@media (min-width: 768px) {
|
10
|
+
#sidebar-menu {
|
11
|
+
max-width: 250px;
|
12
|
+
min-width: 250px;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
#sidebar a:hover {
|
17
|
+
color: #000 !important;
|
18
|
+
}
|
19
|
+
|
20
|
+
[data-bs-theme="dark"] {
|
21
|
+
#sidebar a:hover {
|
22
|
+
color: #fff !important;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
#sidebar.collapsing .sticky-offset {
|
27
|
+
top: 0 !important;
|
28
|
+
}
|
29
|
+
|
30
|
+
#sidebar.collapsing.collapse-horizontal {
|
31
|
+
height: unset !important;
|
32
|
+
}
|
33
|
+
|
34
|
+
#sidebar.show {
|
35
|
+
min-width: 250px;
|
36
|
+
}
|
37
|
+
|
38
|
+
#sidebar.show .sticky-offset {
|
39
|
+
top: 65px !important;
|
40
|
+
}
|
41
|
+
|
42
|
+
.col-main {
|
43
|
+
max-width: calc(100vw - 81px);
|
44
|
+
}
|
45
|
+
|
46
|
+
.collapse-horizontal.collapse:not(.show) {
|
47
|
+
width: 0;
|
48
|
+
}
|
49
|
+
|
50
|
+
.row-main {
|
51
|
+
height: calc(100dvh - 66px);
|
52
|
+
}
|
53
|
+
|
54
|
+
#sidebar.collapsing {
|
55
|
+
transition: none;
|
56
|
+
}
|
57
|
+
|
58
|
+
#sidebar.collapsing + div,
|
59
|
+
#sidebar.show + div {
|
60
|
+
max-width: calc(100vw - 332px);
|
61
|
+
}
|
62
|
+
|
63
|
+
.col-sidebar .sticky-offset {
|
64
|
+
top: 65px !important;
|
65
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
.sun-and-moon > :is(.moon, .sun, .sun-beams) {
|
2
|
+
transform-origin: center center;
|
3
|
+
}
|
4
|
+
|
5
|
+
.sun-and-moon > :is(.moon, .sun) {
|
6
|
+
fill: var(--icon-fill);
|
7
|
+
}
|
8
|
+
|
9
|
+
.sun-and-moon > .sun-beams {
|
10
|
+
stroke: var(--icon-fill);
|
11
|
+
stroke-width: 2px;
|
12
|
+
}
|
13
|
+
|
14
|
+
[data-bs-theme="dark"] .sun-and-moon > .sun {
|
15
|
+
transform: scale(1.75);
|
16
|
+
}
|
17
|
+
|
18
|
+
[data-bs-theme="dark"] .sun-and-moon > .sun-beams {
|
19
|
+
opacity: 0;
|
20
|
+
}
|
21
|
+
|
22
|
+
[data-bs-theme="dark"] .sun-and-moon > .moon > circle {
|
23
|
+
transform: translate(-7px);
|
24
|
+
}
|
25
|
+
|
26
|
+
@media (prefers-reduced-motion: no-preference) {
|
27
|
+
.sun-and-moon > .sun {
|
28
|
+
transition: transform 0.5s cubic-bezier(0.5, 1.25, 0.75, 1.25);
|
29
|
+
}
|
30
|
+
|
31
|
+
.sun-and-moon > .sun-beams {
|
32
|
+
transition:
|
33
|
+
transform 0.5s cubic-bezier(0.5, 1.5, 0.75, 1.25),
|
34
|
+
opacity 0.5s cubic-bezier(0.25, 0, 0.3, 1);
|
35
|
+
}
|
36
|
+
|
37
|
+
.sun-and-moon .moon > circle {
|
38
|
+
transition: transform 0.25s cubic-bezier(0, 0, 0, 1);
|
39
|
+
}
|
40
|
+
|
41
|
+
@supports (cx: 1) {
|
42
|
+
.sun-and-moon .moon > circle {
|
43
|
+
transition: cx 0.25s cubic-bezier(0, 0, 0, 1);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
[data-bs-theme="dark"] .sun-and-moon > :is(.moon, .sun) {
|
48
|
+
fill: rgb(255, 255, 255);
|
49
|
+
}
|
50
|
+
|
51
|
+
[data-bs-theme="dark"] .sun-and-moon > .sun {
|
52
|
+
transform: scale(1.75);
|
53
|
+
transition-timing-function: cubic-bezier(0.25, 0, 0.3, 1);
|
54
|
+
transition-duration: 0.25s;
|
55
|
+
}
|
56
|
+
|
57
|
+
[data-bs-theme="dark"] .sun-and-moon > .sun-beams {
|
58
|
+
transform: rotate(-25deg);
|
59
|
+
transition-duration: 0.15s;
|
60
|
+
}
|
61
|
+
|
62
|
+
[data-bs-theme="dark"] .sun-and-moon > .moon > circle {
|
63
|
+
transition-delay: 0.25s;
|
64
|
+
transition-duration: 0.5s;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
.theme-toggle {
|
69
|
+
--icon-fill: rgb(0, 0, 0);
|
70
|
+
|
71
|
+
aspect-ratio: 1;
|
72
|
+
cursor: pointer;
|
73
|
+
touch-action: manipulation;
|
74
|
+
-webkit-tap-highlight-color: transparent;
|
75
|
+
}
|
76
|
+
|
77
|
+
.theme-toggle > svg {
|
78
|
+
inline-size: 100%;
|
79
|
+
block-size: 100%;
|
80
|
+
max-height: 18px;
|
81
|
+
max-width: 18px;
|
82
|
+
stroke-linecap: round;
|
83
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
.feedback {
|
2
|
+
border-color: #90939f !important;
|
3
|
+
}
|
4
|
+
|
5
|
+
.btn-feedback {
|
6
|
+
opacity: 0.7;
|
7
|
+
min-width: 32px;
|
8
|
+
}
|
9
|
+
|
10
|
+
.btn-feedback svg {
|
11
|
+
margin-top: -3px;
|
12
|
+
}
|
13
|
+
|
14
|
+
.btn-feedback:hover:enabled {
|
15
|
+
opacity: 1;
|
16
|
+
}
|
17
|
+
|
18
|
+
.btn-feedback[disabled] {
|
19
|
+
opacity: 0.4;
|
20
|
+
cursor: default;
|
21
|
+
pointer-events: none;
|
22
|
+
}
|
23
|
+
|
24
|
+
@media (min-width: 1200px) {
|
25
|
+
.feedback-center {
|
26
|
+
display: none;
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/* XXL */
|
2
|
+
@media (min-width: 1400px) {
|
3
|
+
nav button .menu-btn {
|
4
|
+
opacity: 0.1;
|
5
|
+
}
|
6
|
+
|
7
|
+
button[data-bs-target="#sidebar"] {
|
8
|
+
pointer-events: none !important;
|
9
|
+
}
|
10
|
+
|
11
|
+
#sidebar.show {
|
12
|
+
pointer-events: auto !important;
|
13
|
+
}
|
14
|
+
|
15
|
+
#sidebar {
|
16
|
+
width: 250px !important;
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
@import "theme-toggle";
|
2
|
+
@import "theme-light";
|
3
|
+
@import "theme-dark";
|
4
|
+
@import "autocomplete"; // search autocomplete dropdown
|
5
|
+
@import "article";
|
6
|
+
@import "cards";
|
7
|
+
@import "col-sidebar"; // 1st column
|
8
|
+
@import "codefences"; // code syntax highlighting
|
9
|
+
@import "codefences-dark"; // code syntax highlighting
|
10
|
+
@import "javascript-disabled"; // display message at top if JS is disabled
|
11
|
+
// @import "list-js";
|
12
|
+
@import "sidebar";
|
13
|
+
@import "menu-right"; // 'On this page' menu
|
14
|
+
@import "mobile"; // optimizations for xxs mobile screens
|
15
|
+
@import "navbar";
|
16
|
+
@import "navbar-search";
|
17
|
+
@import "news";
|
18
|
+
@import "posts";
|
19
|
+
@import "print";
|
20
|
+
@import "scroll-to-top-btn";
|
21
|
+
@import "skippy"; // skip to content accessibility
|
22
|
+
@import "tables";
|
23
|
+
@import "footer";
|
24
|
+
@import "utilities";
|
25
|
+
@import "was-this-page-helpful";
|
26
|
+
|
27
|
+
// @import "xxl"; // extra extra large screens
|
28
|
+
|
29
|
+
body {
|
30
|
+
overflow-x: hidden;
|
31
|
+
}
|
32
|
+
|
33
|
+
h1,
|
34
|
+
h2,
|
35
|
+
h3,
|
36
|
+
h4,
|
37
|
+
h5,
|
38
|
+
h6 {
|
39
|
+
text-wrap: balance;
|
40
|
+
}
|
41
|
+
|
42
|
+
// underline links
|
43
|
+
main a {
|
44
|
+
text-decoration: underline;
|
45
|
+
}
|
46
|
+
|
47
|
+
// don't underline links in buttons or navbar
|
48
|
+
.menu-left a,
|
49
|
+
.guide-example-block a,
|
50
|
+
table a,
|
51
|
+
nav a,
|
52
|
+
.btn {
|
53
|
+
text-decoration: none;
|
54
|
+
}
|
55
|
+
|
56
|
+
.popover-body small {
|
57
|
+
line-height: 100%;
|
58
|
+
}
|
59
|
+
|
60
|
+
code {
|
61
|
+
font-size: inherit;
|
62
|
+
}
|
63
|
+
|
64
|
+
main {
|
65
|
+
min-height: calc(100vh - 418px);
|
66
|
+
}
|
package/data/menu.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
- title: Get Started
|
2
|
+
prefix: ""
|
3
|
+
pages:
|
4
|
+
- title: Introduction
|
5
|
+
|
6
|
+
- title: Customization
|
7
|
+
prefix: ""
|
8
|
+
pages:
|
9
|
+
- title: Adding Content
|
10
|
+
- title: Search
|
11
|
+
- title: Shortcodes
|
12
|
+
- title: Analytics
|
13
|
+
- title: Repository Links
|
14
|
+
|
15
|
+
- title: Community
|
16
|
+
pages:
|
17
|
+
- title: GitHub Discussions
|
18
|
+
url: "https://github.com/orgs/trimble-oss/discussions"
|
19
|
+
external: true
|
@@ -0,0 +1,15 @@
|
|
1
|
+
- title: Modus Web Components
|
2
|
+
icon: ""
|
3
|
+
url: "https://modus-web-components.trimble.com/"
|
4
|
+
|
5
|
+
- title: Modus Icons
|
6
|
+
icon: ""
|
7
|
+
url: "https://modus-icons.trimble.com"
|
8
|
+
|
9
|
+
- title: Modus Bootstrap
|
10
|
+
icon: ""
|
11
|
+
url: "https://modus-bootstrap.trimble.com/"
|
12
|
+
|
13
|
+
- title: Modus on GitHub
|
14
|
+
icon: ""
|
15
|
+
url: "https://github.com/trimble-oss/?q=modus&type=all&language=&sort=stargazers"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<h{{ .Level }} id="{{ .Anchor | safeURL }}"
|
2
|
+
class="{{- if (eq .Level 2 ) }}
|
3
|
+
h1 mt-5 {{- end -}}
|
4
|
+
{{- if (eq .Level 3 ) }}
|
5
|
+
h2 mt-5 {{- end -}}
|
6
|
+
{{- if (eq .Level 4 ) }}h4 fw-bold mt-3{{- end -}}{{ if eq .Anchor "use-when" }} text-success{{- end -}}{{ if eq .Anchor "dont-use-when" }} text-danger{{- end -}}">
|
7
|
+
{{ if eq .Anchor "use-when" }}
|
8
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="mx-1 mb-1"
|
9
|
+
viewBox="0 0 24 24">
|
10
|
+
<path
|
11
|
+
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm5.56 7.74-6.39 6.4a1 1 0 0 1-1.42-.01l-3.3-3.34-.01-.01a.993.993 0 0 1 .01-1.4.996.996 0 0 1 1.41 0l2.6 2.62 5.68-5.69a.996.996 0 0 1 1.41 0v.02h.01c.39.39.39 1.02 0 1.41Z" />
|
12
|
+
</svg>{{- end -}}
|
13
|
+
{{- if eq .Anchor "dont-use-when" -}}
|
14
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="mx-1 mb-1"
|
15
|
+
viewBox="0 0 24 24">
|
16
|
+
<path
|
17
|
+
d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2Zm4.3 14.3a.996.996 0 0 1-1.41 0L12 13.41 9.11 16.3a.996.996 0 1 1-1.41-1.41L10.59 12 7.7 9.11A.996.996 0 1 1 9.11 7.7L12 10.59l2.89-2.89a.996.996 0 1 1 1.41 1.41L13.41 12l2.89 2.89c.38.38.38 1.02 0 1.41Z" />
|
18
|
+
</svg>{{- end -}}
|
19
|
+
{{- .Text | safeHTML -}}
|
20
|
+
{{ if and (ne .Anchor "use-when") (ne .Anchor "dont-use-when") }}
|
21
|
+
<a class="header-link text-light text-decoration-none fw-normal" href="#{{- .Anchor | safeURL -}}"
|
22
|
+
aria-label="anchor"></a>{{ end }}
|
23
|
+
</h{{ .Level }}>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<img src="{{- .Destination | safeURL -}}" class="img-fluid" alt="{{- .Text -}}" loading="lazy" decoding="async"
|
2
|
+
{{ if strings.HasPrefix .Destination "http" }}{{else}}{{ if strings.HasSuffix .Destination "png" }}
|
3
|
+
{{ with imageConfig ( printf "static/%s" .Destination ) }} width="{{- .Width -}}" height="{{- .Height -}}"
|
4
|
+
{{ end }}{{ end }}{{ end }}>
|
@@ -0,0 +1,65 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en-US" class="h-100 no-js {{ with .Page.Params.html_class }}{{ . -}}{{- end -}}">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
{{ partial "meta" . }}
|
6
|
+
</head>
|
7
|
+
|
8
|
+
<body data-url="{{ .RelPermalink }}" class="overflow-x-hidden {{ with .Page.Params.body_class -}}{{ . -}}{{- end -}}"
|
9
|
+
{{ if not .Params.disableScrollSpy }}{{- end -}}>
|
10
|
+
{{ if not .Params.NavbarFalse }}{{ partial "navbar" . }}{{ end }}
|
11
|
+
{{ block "body" . }}{{ block "main" . }}
|
12
|
+
{{- end -}}
|
13
|
+
{{- end -}}
|
14
|
+
<script>
|
15
|
+
// Initialize Bootstrap tooltips
|
16
|
+
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
|
17
|
+
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
|
18
|
+
return new bootstrap.Tooltip(tooltipTriggerEl, {
|
19
|
+
trigger: 'hover'
|
20
|
+
});
|
21
|
+
});
|
22
|
+
</script>
|
23
|
+
<script>
|
24
|
+
// Hide Bootstrap tooltips when user presses Escape
|
25
|
+
document.addEventListener('keyup', function (event) {
|
26
|
+
if (event.which === 27) {
|
27
|
+
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
28
|
+
tooltipTriggerList.forEach(function (tooltipTriggerEl) {
|
29
|
+
$(tooltipTriggerEl).tooltip('hide');
|
30
|
+
});
|
31
|
+
}
|
32
|
+
});
|
33
|
+
</script>
|
34
|
+
<script>
|
35
|
+
// Initialize Bootstrap popovers
|
36
|
+
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
|
37
|
+
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
|
38
|
+
</script>
|
39
|
+
<script>
|
40
|
+
// Disable all links with #
|
41
|
+
var links = document.querySelectorAll('a[href="#"]');
|
42
|
+
// Add event listener to each link
|
43
|
+
links.forEach(function (link) {
|
44
|
+
link.addEventListener('click', function (event) {
|
45
|
+
// Prevent default behavior
|
46
|
+
event.preventDefault();
|
47
|
+
});
|
48
|
+
});
|
49
|
+
</script>
|
50
|
+
{{- if not .IsHome -}}
|
51
|
+
<script>
|
52
|
+
// Change Submit buttons within docs examples to type=button
|
53
|
+
var article = document.querySelector('article');
|
54
|
+
var forms = article.querySelectorAll('form');
|
55
|
+
forms.forEach(function (form) {
|
56
|
+
var submitButtons = form.querySelectorAll('button[type="submit"], input[type="submit"]');
|
57
|
+
submitButtons.forEach(function (submitButton) {
|
58
|
+
submitButton.type = 'button';
|
59
|
+
});
|
60
|
+
});
|
61
|
+
</script>
|
62
|
+
{{- end -}}
|
63
|
+
</body>
|
64
|
+
|
65
|
+
</html>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{{ define "main" }}
|
2
|
+
|
3
|
+
<div class="container-fluid">
|
4
|
+
<div class="row row-main px-0">
|
5
|
+
|
6
|
+
<div class="col-1 col-sidebar px-0 bg-body shadow-sm">
|
7
|
+
{{ partial "col-sidebar" . }}
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="col col-auto px-0 collapse collapse-horizontal bg-dark bg-opacity-10" id="sidebar">
|
11
|
+
<div id="sidebar-menu" class="z-2 sticky-top sticky-offset shadow-sm overflow-auto w-100">
|
12
|
+
{{ partial "col-sidebar-menu" . }}
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<div class="col col-auto col-12 col-main border-start p-0 overflow-x-hidden">
|
17
|
+
|
18
|
+
<main id="main" class="container">
|
19
|
+
|
20
|
+
{{ .Content }}
|
21
|
+
|
22
|
+
</main>
|
23
|
+
|
24
|
+
<footer class="p-2 footer py-4 bg-secondary bg-opacity-10">
|
25
|
+
{{ partial "footer" . }}
|
26
|
+
</footer>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
{{- end -}}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{{ define "main" }}
|
2
|
+
|
3
|
+
<div class="container-fluid">
|
4
|
+
<div class="row row-main px-0">
|
5
|
+
|
6
|
+
<div class="col-1 col-sidebar px-0 bg-body shadow-sm">
|
7
|
+
{{ partial "col-sidebar" . }}
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="col col-auto px-0 collapse collapse-horizontal bg-dark bg-opacity-10 show" id="sidebar">
|
11
|
+
<div id="sidebar-menu" class="sticky-top sticky-offset shadow-sm overflow-auto"
|
12
|
+
style="min-height: calc(100vh - 66px);max-height: calc(100vh - 66px);">
|
13
|
+
{{ partial "col-sidebar-menu" . }}
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<div class="col col-auto col-12 col-main border-start p-0">
|
18
|
+
<div class="mx-auto mw-100">
|
19
|
+
|
20
|
+
{{ partial "header" . }}
|
21
|
+
|
22
|
+
<main class="my-5 container mx-auto h-100" style="max-width: 1090px;">
|
23
|
+
{{ .Content }}
|
24
|
+
<div class="container mb-5">
|
25
|
+
<div class="row">
|
26
|
+
{{ range first 99 (where .Pages.ByPublishDate.Reverse "Section" "news") }}
|
27
|
+
{{- partial "blog-brief.html" . -}}
|
28
|
+
{{- end -}}
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</main>
|
32
|
+
|
33
|
+
<footer class="p-2 footer py-4 bg-dark bg-opacity-10">
|
34
|
+
{{ partial "footer" . }}
|
35
|
+
</footer>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
{{- end -}}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
7
|
+
<meta name="robots" content="noindex">
|
8
|
+
<!-- redirects to new URL and keeps the hash in place -->
|
9
|
+
<script>
|
10
|
+
var anchor = window.location.hash.substr(1)
|
11
|
+
location.href = '{{- .Page.Params.redirect | relURL -}}' +
|
12
|
+
(anchor ? '#' + anchor : '');
|
13
|
+
</script>
|
14
|
+
<!-- fallback redirect if JavaScript is not available-->
|
15
|
+
<meta http-equiv="refresh" content="0; url={{- .Page.Params.redirect | relURL -}}">
|
16
|
+
<title>{{- .Title -}}</title>
|
17
|
+
</head>
|
18
|
+
|
19
|
+
</html>
|