@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,55 @@
|
|
1
|
+
{{- /* Make sure that we are enclosed within a tabpane shortcode block */ -}}
|
2
|
+
|
3
|
+
{{ with $.Parent -}}
|
4
|
+
{{ if ne $.Parent.Name "tabpane" -}}
|
5
|
+
{{ errorf "Found shortcode %q enclosed inside a %q block, must be enclosed inside a %q block. Error position: %s" $.Name $.Parent.Name "tabpane" $.Position -}}
|
6
|
+
{{- end -}}
|
7
|
+
{{- else -}}
|
8
|
+
{{ errorf "shortcode %q must be enclosed inside a %q block, but no parent block was found. Error position: %s" $.Name "tabpane" $.Position -}}
|
9
|
+
{{- end -}}
|
10
|
+
|
11
|
+
{{ $header := "Tab" -}}
|
12
|
+
{{ if and (not .IsNamedParams) (.Get 0) -}}
|
13
|
+
{{ $header = (.Get 0) -}}
|
14
|
+
{{ else -}}
|
15
|
+
{{/* Prefill header if not given as named or unnamed parameter */ -}}
|
16
|
+
{{ $header = .Get "header" | default (printf "Tab %v" .Ordinal) -}}
|
17
|
+
{{ end -}}
|
18
|
+
|
19
|
+
{{/* store all tab info in dict tab */ -}}
|
20
|
+
{{ $tab := dict "header" $header -}}
|
21
|
+
{{ with $.Get "lang" -}}
|
22
|
+
{{ $tab = merge $tab (dict "language" ($.Get "lang")) -}}
|
23
|
+
{{ end -}}
|
24
|
+
{{ with $.Get "highlight" -}}
|
25
|
+
{{ $tab = merge $tab (dict "highlight" ($.Get "highlight")) -}}
|
26
|
+
{{ end -}}
|
27
|
+
{{ with $.Get "text" -}}
|
28
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
29
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "text" (printf "%T" .) $.Position -}}
|
30
|
+
{{ end -}}
|
31
|
+
{{ $tab = merge $tab (dict "text" ($.Get "text")) -}}
|
32
|
+
{{- end -}}
|
33
|
+
{{ with $.Get "right" -}}
|
34
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
35
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "right" (printf "%T" .) $.Position -}}
|
36
|
+
{{ end -}}
|
37
|
+
{{ $tab = merge $tab (dict "rightpush" ($.Get "right")) -}}
|
38
|
+
{{- end -}}
|
39
|
+
{{ with $.Get "disabled" -}}
|
40
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
41
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "disabled" (printf "%T" .) $.Position -}}
|
42
|
+
{{- end -}}
|
43
|
+
{{ $tab = merge $tab (dict "disabled" ($.Get "disabled")) -}}
|
44
|
+
{{- end -}}
|
45
|
+
|
46
|
+
{{- with $.Inner -}}
|
47
|
+
{{/* Trim any leading and trailing newlines from .Inner, this avoids
|
48
|
+
spurious lines during syntax highlighting */ -}}
|
49
|
+
{{- $tab = merge $tab (dict "content" $.Inner) -}}
|
50
|
+
{{- end -}}
|
51
|
+
|
52
|
+
{{/* add dict tab to parent's scratchpad */ -}}
|
53
|
+
{{ with .Parent -}}
|
54
|
+
{{ $.Parent.Scratch.SetInMap "tabs" (printf "%02v" $.Ordinal) $tab -}}
|
55
|
+
{{- end -}}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{{- /*
|
2
|
+
Usage: `table "class class-foo"`, where class can be any string
|
3
|
+
*/ -}}
|
4
|
+
|
5
|
+
{{- $css_class := .Get 0 | default "table" -}}
|
6
|
+
{{- $html_table := .Inner | markdownify -}}
|
7
|
+
{{- $html_table = replace $html_table "<table>" (printf `<div class="table-responsive"><table class="%s">` $css_class) -}}
|
8
|
+
{{- $html_table = replace $html_table "</table>" "</table></div>" -}}
|
9
|
+
{{- $html_table | safeHTML -}}
|
@@ -0,0 +1,172 @@
|
|
1
|
+
{{/* Check parameter types */ -}}
|
2
|
+
|
3
|
+
{{ $tpPersistAttrName := "data-td-tp-persist" -}}
|
4
|
+
|
5
|
+
{{ with .Get "langEqualsHeader" -}}
|
6
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
7
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "langEqualsHeader" (printf "%T" .) $.Position -}}
|
8
|
+
{{ end -}}
|
9
|
+
{{ end -}}
|
10
|
+
|
11
|
+
{{ with .Get "text" -}}
|
12
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
13
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "text" (printf "%T" .) $.Position -}}
|
14
|
+
{{ end -}}
|
15
|
+
{{ end -}}
|
16
|
+
|
17
|
+
{{ $_persistLang := .Get "persistLang" -}}
|
18
|
+
{{ if and (ne $_persistLang nil) (ne $_persistLang "") -}}
|
19
|
+
{{ if ne ( printf "%T" $_persistLang ) "bool" -}}
|
20
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "persistLang" (printf "%T" $_persistLang) $.Position -}}
|
21
|
+
{{ else -}}
|
22
|
+
{{ warnf "Shortcode %q parameter `persistLang` is deprecated, use `persist` instead: %s" $.Name $.Position -}}
|
23
|
+
{{ end -}}
|
24
|
+
{{ end -}}
|
25
|
+
|
26
|
+
{{ $_persist := .Get "persist" -}}
|
27
|
+
{{ with $_persist -}}
|
28
|
+
{{ $matched := findRE "^(header|lang|none)$" . -}}
|
29
|
+
{{ if not $matched -}}
|
30
|
+
{{ errorf "Shortcode %q: parameter %q should be one of 'header', 'lang', or 'none'; but got %s. Error position: %s" $.Name "persist" $_persist $.Position -}}
|
31
|
+
{{ end -}}
|
32
|
+
{{ end -}}
|
33
|
+
|
34
|
+
{{ with .Get "right" -}}
|
35
|
+
{{ if ne ( printf "%T" . ) "bool" -}}
|
36
|
+
{{ errorf "Shortcode %q: boolean value expected for parameter %q, but got %s. Error position: %s" $.Name "right" (printf "%T" .) $.Position -}}
|
37
|
+
{{ end -}}
|
38
|
+
{{ end -}}
|
39
|
+
|
40
|
+
{{/* Set values given defined within tabpane */ -}}
|
41
|
+
{{ $langPane := default "" ($.Get "lang") -}}
|
42
|
+
{{ $hloptionsPane := default "" ($.Get "highlight") -}}
|
43
|
+
{{ $textPane := default false ($.Get "text") -}}
|
44
|
+
{{ $langEqualsHeader := default false ($.Get "langEqualsHeader") -}}
|
45
|
+
{{ $deprecatedPersistLang := $_persistLang | default true -}}
|
46
|
+
{{ $persistKeyKind := $_persist | default (cond (eq $langPane "") "lang" "header") -}}
|
47
|
+
{{ $persistTab := and $deprecatedPersistLang (ne $persistKeyKind "none") -}}
|
48
|
+
{{ $rightPane := default false ($.Get "right") -}}
|
49
|
+
{{ $activeSet := false -}}
|
50
|
+
{{/* Scratchpad gets populated through call to .Inner */ -}}
|
51
|
+
{{ .Inner -}}
|
52
|
+
|
53
|
+
{{ $duplicate := false -}}
|
54
|
+
{{ $duplicateKey := "" -}}
|
55
|
+
{{ $persistKeyList := slice -}}
|
56
|
+
{{ $tabPaneOrdinal := .Ordinal -}}
|
57
|
+
|
58
|
+
{{/* Nav tabs */ -}}
|
59
|
+
<ul class="nav nav-tabs{{ if $rightPane }} justify-content-end{{- end -}}" id="tabs-{{- $tabPaneOrdinal -}}"
|
60
|
+
role="tablist">
|
61
|
+
{{ range $index, $element := $.Scratch.Get "tabs" -}}
|
62
|
+
|
63
|
+
{{ $disabled := false -}}
|
64
|
+
{{ with $element.disabled -}}
|
65
|
+
{{ $disabled = . -}}
|
66
|
+
{{ end -}}
|
67
|
+
|
68
|
+
{{ $lang := $langPane -}}
|
69
|
+
{{ if $langEqualsHeader -}}
|
70
|
+
{{ $lang = $element.header -}}
|
71
|
+
{{ end -}}
|
72
|
+
{{ with $element.language -}}
|
73
|
+
{{ $lang = . -}}
|
74
|
+
{{ end -}}
|
75
|
+
|
76
|
+
{{ $persistKey := "" -}}
|
77
|
+
{{ if eq $persistKeyKind "lang" -}}
|
78
|
+
{{ $persistKey = $lang -}}
|
79
|
+
{{ else if eq $persistKeyKind "header" -}}
|
80
|
+
{{ $persistKey = $element.header -}}
|
81
|
+
{{ end -}}
|
82
|
+
{{ $persistKey = $persistKey | lower -}}
|
83
|
+
|
84
|
+
{{/* Check for duplicate tab-persistence keys */ -}}
|
85
|
+
{{ if and $persistTab $persistKey -}}
|
86
|
+
{{ if in $persistKey $persistKeyList -}}
|
87
|
+
{{ $duplicate = true -}}
|
88
|
+
{{ $duplicateKey = $persistKey -}}
|
89
|
+
{{ $persistTab = false -}}
|
90
|
+
{{ else -}}
|
91
|
+
{{ $persistKeyList = $persistKeyList | append $persistKey -}}
|
92
|
+
{{ end -}}
|
93
|
+
{{ end -}}
|
94
|
+
|
95
|
+
{{ $rightpush := false -}}
|
96
|
+
{{ with $element.rightpush -}}
|
97
|
+
{{ $rightpush = . -}}
|
98
|
+
{{ end -}}
|
99
|
+
|
100
|
+
<li class="nav-item{{ if $rightpush }} ms-auto{{ end -}}">
|
101
|
+
{{/* Generate the IDs for the <a> and the <div> elements */ -}}
|
102
|
+
{{ $tabid := printf "tabs-%02v-%v-tab" $tabPaneOrdinal $index | anchorize -}}
|
103
|
+
{{ $entryid := printf "tabs-%02v-%v" $tabPaneOrdinal $index | anchorize -}}
|
104
|
+
|
105
|
+
<button class="nav-link
|
106
|
+
{{- if and ( not $activeSet ) ( not $disabled ) }} active{{ end -}}
|
107
|
+
{{ if $disabled }} disabled{{ end -}}" id="{{ $tabid }}" data-bs-toggle="tab" data-bs-target="#{{ $entryid }}"
|
108
|
+
role="tab" {{ if and $persistTab $persistKey -}} onclick="tdPersistActiveTab({{ $persistKey }});" {{/* */ -}}
|
109
|
+
{{ printf "%s=%q " $tpPersistAttrName $persistKey | safeHTMLAttr -}} {{ end -}} aria-controls="{{- $entryid -}}"
|
110
|
+
aria-selected="{{- cond ( and ( not $activeSet ) ( not $disabled ) ) "true" "false" -}}">
|
111
|
+
{{- index . "header" | markdownify }}
|
112
|
+
</button>
|
113
|
+
</li>
|
114
|
+
|
115
|
+
{{- if not $disabled -}}
|
116
|
+
{{ $activeSet = true -}}
|
117
|
+
{{ end -}}
|
118
|
+
|
119
|
+
{{ end }}
|
120
|
+
</ul>
|
121
|
+
|
122
|
+
{{ if $duplicate -}}
|
123
|
+
{{ warnf "Shortcode %q: duplicate tab-persistence key %q detected, disabling persistance to avoid multiple tab display. Position: %s" $.Name $duplicateKey $.Position -}}
|
124
|
+
{{ end -}}
|
125
|
+
|
126
|
+
{{ $activeSet = false -}}
|
127
|
+
|
128
|
+
{{/* Tab panes */ -}}
|
129
|
+
<div class="tab-content p-3 bg-secondary bg-opacity-10" id="tabs-{{ $tabPaneOrdinal }}-content">
|
130
|
+
{{- range $index, $element := $.Scratch.Get "tabs" -}}
|
131
|
+
|
132
|
+
{{ $lang := $langPane -}}
|
133
|
+
{{ if $langEqualsHeader -}}
|
134
|
+
{{ $lang = $element.header -}}
|
135
|
+
{{ end -}}
|
136
|
+
{{ with $element.language -}}
|
137
|
+
{{ $lang = . -}}
|
138
|
+
{{ end -}}
|
139
|
+
|
140
|
+
{{ $disabled := false -}}
|
141
|
+
{{ with $element.disabled -}}
|
142
|
+
{{ $disabled = . -}}
|
143
|
+
{{ end -}}
|
144
|
+
|
145
|
+
{{ $hloptions := $hloptionsPane -}}
|
146
|
+
{{ with $element.highlight -}}
|
147
|
+
{{ $hloptions = . -}}
|
148
|
+
{{ end -}}
|
149
|
+
|
150
|
+
{{ $text := $textPane -}}
|
151
|
+
{{ with $element.text -}}
|
152
|
+
{{ $text = . }}
|
153
|
+
{{ end -}}
|
154
|
+
|
155
|
+
{{ $tabid := printf "tabs-%02v-%v-tab" $tabPaneOrdinal $index | anchorize -}}
|
156
|
+
{{ $entryid := printf "tabs-%02v-%v" $tabPaneOrdinal $index | anchorize }}
|
157
|
+
<div
|
158
|
+
class="{{ if $text }}tab-body {{end}}tab-pane fade{{ if and ( not $activeSet ) ( not $disabled ) }} show active{{- end -}}"
|
159
|
+
id="{{ $entryid }}" role="tabpanel" aria-labelled-by="{{ $tabid }}" tabindex="{{ $tabPaneOrdinal }}">
|
160
|
+
{{ if $text -}}
|
161
|
+
{{ index . "content" -}}
|
162
|
+
{{ else -}}
|
163
|
+
{{ highlight (trim (index . "content") "\r\n") $lang $hloptions -}}
|
164
|
+
{{ end }}
|
165
|
+
</div>
|
166
|
+
|
167
|
+
{{- if not $disabled -}}
|
168
|
+
{{ $activeSet = true -}}
|
169
|
+
{{ end -}}
|
170
|
+
|
171
|
+
{{ end }}
|
172
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
|
2
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
3
|
+
{{- range .Data.Pages -}}{{ if ne .Params.sitemap_exclude true }}
|
4
|
+
<url><loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
|
5
|
+
<lastmod>{{ safeHTML (.Lastmod.Format "2006-01-02T15:04:05-07:00") }}</lastmod>{{ end }}
|
6
|
+
</url>{{- end -}}
|
7
|
+
{{- end -}}
|
8
|
+
</urlset>
|
package/package.json
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
{
|
2
|
+
"name": "@trimble-oss/modus-docs-hugo-theme",
|
3
|
+
"version": "1.0.0-alpha1",
|
4
|
+
"description": "A Documentation heme for Hugo built by Trimble",
|
5
|
+
"homepage": "https://github.com/trimble-oss/modus-docs-hugo-theme",
|
6
|
+
"bugs": {
|
7
|
+
"url": "https://github.com/trimble-oss/modus-docs-hugo-theme/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "https://github.com/trimble-oss/modus-docs-hugo-theme"
|
12
|
+
},
|
13
|
+
"license": "private",
|
14
|
+
"author": "Trimble",
|
15
|
+
"scripts": {
|
16
|
+
"build": "npx hugo",
|
17
|
+
"lint": "npm run lint-css && npm run lint-html",
|
18
|
+
"lint-css": "stylelint \"assets/styles/*.*\" --fix",
|
19
|
+
"lint-html": "htmlhint \"build/**/index.html\"",
|
20
|
+
"lint-spellcheck": "npx cspell \"content/**/*.md\" --no-progress",
|
21
|
+
"prettier": "prettier --write \"**/*.{json,js,md,svg}\"",
|
22
|
+
"serve": "hugo serve --port 4000 --disableFastRender --navigateToChanged",
|
23
|
+
"test": "npm run lint-css && npm run lint-html"
|
24
|
+
},
|
25
|
+
"dependencies": {
|
26
|
+
"@trimble-oss/modus-icons": "1.4.0"
|
27
|
+
},
|
28
|
+
"devDependencies": {
|
29
|
+
"autoprefixer": "10.4.15",
|
30
|
+
"htmlhint": "1.1.4",
|
31
|
+
"hugo-bin": "0.113.0",
|
32
|
+
"postcss": "8.4.28",
|
33
|
+
"postcss-cli": "10.1.0",
|
34
|
+
"prettier": "3.0.2",
|
35
|
+
"stylelint": "15.10.2",
|
36
|
+
"stylelint-config-standard-scss": "10.0.0"
|
37
|
+
},
|
38
|
+
"hugo-bin": {
|
39
|
+
"buildTags": "extended"
|
40
|
+
},
|
41
|
+
"files": [
|
42
|
+
"assets",
|
43
|
+
"data",
|
44
|
+
"layouts",
|
45
|
+
"static"
|
46
|
+
]
|
47
|
+
}
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 732 789"><style>path{fill:#0063a3}@media (prefers-color-scheme:dark){path{fill:#fff}}</style><path d="M543.59 674.86a54.34 54.34 0 0154.9-54.9c30.76 0 54.43 23.9 54.43 54.67 0 73.17-109.33 73.15-109.33.23zm99.86 0c0-60.79-90.16-61.1-90.16-.23s90.16 61.53 90.16.23zm-66.26-31.23c22 0 45-3.33 45 18.46 0 9.7-4.73 14.67-11.83 17l13 24.62h-12.57l-12.07-23h-9.46v23h-12.07zm33.13 19.17c0-10-10.71-8.52-21.06-8.52v17.27c10.51 0 21.06 1.68 21.06-8.75zM48.86 602.72v186.13l161.81-93.42a308.1 308.1 0 01-161.81-92.71zM209.49 92.58L48.86 0v185a310.2 310.2 0 01160.63-92.42zM732 394.43L570.25 301a309.33 309.33 0 01-.48 187.08zM155.4 141.39c23.23-5.16 71.39-.27 96.87 7 20.38-16.21 51.17-25.6 81.82-27.15-70.46-12.72-135.64 2.05-178.69 20.15zM463.74 479.92a416.8 416.8 0 00-25.28-103.53c-55.43 25-124 8.88-169.86-30.79-33.41 34.15-65.75 76.68-90.16 114.49 77.71 63.35 205.56 79.99 285.3 19.83zM135.94 466.1C67.43 396 43.55 293.61 65.49 215a276 276 0 0016.16 374.43c11.21-42.43 31.97-85.72 54.29-123.33zM425.64 346.65a372.77 372.77 0 00-55.49-85.1 635.36 635.36 0 00-78.09 61.34c41.29 34.45 95.61 41.21 133.58 23.76zM374.48 218.63c17.78-12.93 42.42-26.76 60.09-33.32-43.84-44.38-114.38-43.2-145-23.94a293.6 293.6 0 0184.91 57.26z"/><path d="M160.91 488.67c-34.09 58.94-46.53 102.19-51.06 125.2a276 276 0 00340.58-6.21c10.24-24.74 15.47-55.53 15.45-89.38-93.99 55.94-223.99 34.43-304.97-29.61zM452.81 327c30.17-31.7 24.12-85.56 1.17-116.62-14.14 4.78-43.57 21.94-56.26 33A413.64 413.64 0 01452.81 327zM505 259.11c4.65 40.7-10.79 75.93-38.17 99.35A448.73 448.73 0 01493 451.19c41.36-53.81 40.1-130.56 12-192.08zM269.45 299a672.54 672.54 0 0177.22-61.49 262 262 0 00-85.35-52C236.05 220 243.94 264.52 269.45 299zM497.94 494.52c1.4 23.09-.72 49.29-3.42 70 47.34-60.32 63.34-135 57.75-193.22-5.67 49.03-23.62 90.05-54.33 123.22zM229.55 175.76c-34.94-8.54-75.63-8.91-109.67.72-54.33 77-29.1 189.94 34.2 260.64C178.13 400.5 213 354.9 246 321.75c-32.23-39.94-45-101.75-16.45-145.99z"/></svg>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 445 100"><path d="M115.85,87.13v-62H93V11.21h62.57v14h-23v62Z" fill="#0063a3"/><path d="M141.9,87.13V32.74h16.52v8.84h.1c3-4.62,8.21-10.26,18.47-10.26h.51V46c-.61-.11-3.49-.31-4.51-.31a18.27,18.27,0,0,0-14.57,7.49v34Z" fill="#0063a3"/><path d="M182.72,25V11.72h16.62V25Zm.11,62.17V32.44h16.41V87.13Z" fill="#0063a3"/><path d="M205.7,87.13V32.44h16.51v8.62c3.29-4.31,9.34-9.74,18-9.74,9.13,0,13.44,3.79,15,9.74,3.28-4.2,9.44-9.74,18-9.74,11.08,0,16,7,16,16.72V87.13H272.69V52.45c0-4.92-1.13-7.49-5.95-7.49-4.1,0-7.39,2.26-11,5.44V87.13H239.25V52.45c0-4.92-1.13-7.49-6-7.49-4.1,0-7.38,2.26-11.08,5.44V87.13Z" fill="#0063a3"/><path d="M312,80.66v6.47H295.45V11.21H312V40.86c3.59-5,8.72-9.54,16.82-9.54,12.42,0,21,9.54,21,28.41S341.11,88,328.59,88C321.2,88,316.07,85.28,312,80.66Zm21.34-20.82c0-9.13-3.18-14.88-10.57-14.88-4.21,0-8,2.57-10.77,5.34V70.51c3.59,3.38,6.56,5,11,5C329.82,75.53,333.31,69.79,333.31,59.84Z" fill="#0063a3"/><path d="M354.94,87.13V11.21h16.41V87.13Z" fill="#0063a3"/><path d="M376.47,59.84c0-21.24,16.21-28.52,27.49-28.52S429.1,37,429.1,61.79v2.46H392.88c.83,9,5.85,12.51,12.73,12.51a25.16,25.16,0,0,0,16.21-6.56l6.36,9.85c-6.36,5.44-14.26,8.21-23.8,8.21C390.11,88.26,376.47,81,376.47,59.84Zm37.86-5.34c-.82-7.69-4.31-11.39-10.47-11.39-5.13,0-9.54,3.39-10.77,11.39Z" fill="#0063a3"/><path d="M432.22,81a6.19,6.19,0,0,1,6.26-6.26A6.26,6.26,0,1,1,432.22,81Zm11.38,0a5.14,5.14,0,1,0-5.12,5.23A5.12,5.12,0,0,0,443.6,81Zm-7.55-3.56h2.56c1.62,0,2.56.7,2.56,2.1a1.84,1.84,0,0,1-1.34,1.94l1.48,2.81h-1.43l-1.38-2.62h-1.08v2.62h-1.37Zm2.48,3.18c.84,0,1.3-.27,1.3-1s-.46-1-1.33-1h-1.08v2Z" fill="#0063a3"/><path d="M6.19,76.41V100L26.71,88.16A39.1,39.1,0,0,1,6.19,76.41Z" fill="#0063a3"/><path d="M26.56,11.74,6.19,0V23.45A39.33,39.33,0,0,1,26.56,11.74Z" fill="#0063a3"/><path d="M92.8,50,72.29,38.16a39.27,39.27,0,0,1-.06,23.72Z" fill="#0063a3"/><path d="M19.7,17.92c2.94-.65,9.05,0,12.28.89a18.68,18.68,0,0,1,10.37-3.45A41.12,41.12,0,0,0,19.7,17.92Z" fill="#0063a3"/><path d="M58.79,60.84a53.07,53.07,0,0,0-3.21-13.13c-7,3.18-15.72,1.13-21.53-3.9A95.93,95.93,0,0,0,22.62,58.32C32.47,66.35,48.67,68.46,58.79,60.84Z" fill="#0063a3"/><path d="M17.23,59.09C8.55,50.19,5.52,37.22,8.3,27.25a35,35,0,0,0,2,47.47A63.4,63.4,0,0,1,17.23,59.09Z" fill="#0063a3"/><path d="M54,43.94a47.18,47.18,0,0,0-7-10.78A80.73,80.73,0,0,0,37,40.93C42.26,45.3,49.14,46.16,54,43.94Z" fill="#0063a3"/><path d="M47.47,27.72a36.33,36.33,0,0,1,7.62-4.23c-5.56-5.62-14.5-5.47-18.39-3A37.17,37.17,0,0,1,47.47,27.72Z" fill="#0063a3"/><path d="M20.4,62c-4.32,7.47-5.9,13-6.48,15.87A35,35,0,0,0,57.1,77a30,30,0,0,0,2-11.33C47.14,72.79,30.66,70.07,20.4,62Z" fill="#0063a3"/><path d="M57.4,41.45c3.83-4,3.06-10.84.15-14.78a29.6,29.6,0,0,0-7.13,4.18A52.73,52.73,0,0,1,57.4,41.45Z" fill="#0063a3"/><path d="M64,32.85a14.1,14.1,0,0,1-4.84,12.59A57.37,57.37,0,0,1,62.49,57.2C67.74,50.38,67.58,40.64,64,32.85Z" fill="#0063a3"/><path d="M34.16,37.9A83.13,83.13,0,0,1,44,30.11a33.17,33.17,0,0,0-10.82-6.59C29.92,27.89,30.92,33.53,34.16,37.9Z" fill="#0063a3"/><path d="M63.12,62.69a49.42,49.42,0,0,1-.43,8.88A35.37,35.37,0,0,0,70,47.07,26.82,26.82,0,0,1,63.12,62.69Z" fill="#0063a3"/><path d="M29.1,22.28a28.42,28.42,0,0,0-13.9.09c-6.89,9.77-3.69,24.08,4.33,33A100.8,100.8,0,0,1,31.18,40.79C27.1,35.72,25.48,27.89,29.1,22.28Z" fill="#0063a3"/></svg>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! instant.page v5.2.0 - (C) 2023 Alexandre Dieulote */
|
2
|
+
let t,e,n,o,i,a=null,s=65,c=new Set;const r=1111;function d(t){o=performance.now();const e=t.target.closest("a");m(e)&&p(e.href,"high")}function u(t){if(performance.now()-o<r)return;if(!("closest"in t.target))return;const e=t.target.closest("a");m(e)&&(e.addEventListener("mouseout",f,{passive:!0}),i=setTimeout(()=>{p(e.href,"high"),i=void 0},s))}function l(t){const e=t.target.closest("a");m(e)&&p(e.href,"high")}function f(t){t.relatedTarget&&t.target.closest("a")==t.relatedTarget.closest("a")||i&&(clearTimeout(i),i=void 0)}function h(t){if(performance.now()-o<r)return;const e=t.target.closest("a");if(t.which>1||t.metaKey||t.ctrlKey)return;if(!e)return;e.addEventListener("click",function(t){1337!=t.detail&&t.preventDefault()},{capture:!0,passive:!1,once:!0});const n=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1,detail:1337});e.dispatchEvent(n)}function m(o){if(o&&o.href&&(!n||"instant"in o.dataset)){if(o.origin!=location.origin){if(!(e||"instant"in o.dataset)||!a)return}if(["http:","https:"].includes(o.protocol)&&("http:"!=o.protocol||"https:"!=location.protocol)&&(t||!o.search||"instant"in o.dataset)&&!(o.hash&&o.pathname+o.search==location.pathname+location.search||"noInstant"in o.dataset))return!0}}function p(t,e="auto"){if(c.has(t))return;const n=document.createElement("link");n.rel="prefetch",n.href=t,n.fetchPriority=e,n.as="document",document.head.appendChild(n),c.add(t)}!function(){if(!document.createElement("link").relList.supports("prefetch"))return;const o="instantVaryAccept"in document.body.dataset||"Shopify"in window,i=navigator.userAgent.indexOf("Chrome/");i>-1&&(a=parseInt(navigator.userAgent.substring(i+"Chrome/".length)));if(o&&a&&a<110)return;const c="instantMousedownShortcut"in document.body.dataset;t="instantAllowQueryString"in document.body.dataset,e="instantAllowExternalLinks"in document.body.dataset,n="instantWhitelist"in document.body.dataset;const r={capture:!0,passive:!0};let f=!1,v=!1,g=!1;if("instantIntensity"in document.body.dataset){const t=document.body.dataset.instantIntensity;if(t.startsWith("mousedown"))f=!0,"mousedown-only"==t&&(v=!0);else if(t.startsWith("viewport")){const e=navigator.connection&&navigator.connection.saveData,n=navigator.connection&&navigator.connection.effectiveType&&navigator.connection.effectiveType.includes("2g");e||n||("viewport"==t?document.documentElement.clientWidth*document.documentElement.clientHeight<45e4&&(g=!0):"viewport-all"==t&&(g=!0))}else{const e=parseInt(t);isNaN(e)||(s=e)}}v||document.addEventListener("touchstart",d,r);f?c||document.addEventListener("mousedown",l,r):document.addEventListener("mouseover",u,r);c&&document.addEventListener("mousedown",h,r);if(g){let t=window.requestIdleCallback;t||(t=(t=>{t()})),t(function(){const t=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const n=e.target;t.unobserve(n),p(n.href)}})});document.querySelectorAll("a").forEach(e=>{m(e)&&t.observe(e)})},{timeout:1500})}}();
|
@@ -0,0 +1,48 @@
|
|
1
|
+
// script adapted from Adam Argyle's tutorial: https://web.dev/building-a-theme-switch-component/
|
2
|
+
|
3
|
+
const storageKey = 'theme-preference';
|
4
|
+
|
5
|
+
const onClick = () => {
|
6
|
+
theme.value = theme.value === 'light' ? 'dark' : 'light';
|
7
|
+
|
8
|
+
setPreference();
|
9
|
+
};
|
10
|
+
|
11
|
+
const getColorPreference = () => {
|
12
|
+
if (localStorage.getItem(storageKey)) return localStorage.getItem(storageKey);
|
13
|
+
else
|
14
|
+
return window.matchMedia('(prefers-color-scheme: dark)').matches
|
15
|
+
? 'dark'
|
16
|
+
: 'light';
|
17
|
+
};
|
18
|
+
|
19
|
+
const setPreference = () => {
|
20
|
+
localStorage.setItem(storageKey, theme.value);
|
21
|
+
reflectPreference();
|
22
|
+
};
|
23
|
+
|
24
|
+
const reflectPreference = () => {
|
25
|
+
document.firstElementChild.setAttribute('data-bs-theme', theme.value);
|
26
|
+
|
27
|
+
document
|
28
|
+
.querySelector('#theme-toggle')
|
29
|
+
?.setAttribute('aria-label', theme.value);
|
30
|
+
};
|
31
|
+
|
32
|
+
const theme = {
|
33
|
+
value: getColorPreference(),
|
34
|
+
};
|
35
|
+
|
36
|
+
reflectPreference();
|
37
|
+
|
38
|
+
window.onload = () => {
|
39
|
+
reflectPreference();
|
40
|
+
document.querySelector('#theme-toggle').addEventListener('click', onClick);
|
41
|
+
};
|
42
|
+
|
43
|
+
window
|
44
|
+
.matchMedia('(prefers-color-scheme: dark)')
|
45
|
+
.addEventListener('change', ({ matches: isDark }) => {
|
46
|
+
theme.value = isDark ? 'dark' : 'light';
|
47
|
+
setPreference();
|
48
|
+
});
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"globalHeaders": {
|
3
|
+
"Content-Security-Policy": "upgrade-insecure-requests",
|
4
|
+
"Permissions-Policy": "autoplay=()",
|
5
|
+
"Referrer-Policy": "no-referrer-when-downgrade",
|
6
|
+
"X-Content-Type-Options": "nosniff",
|
7
|
+
"X-Frame-Options": "SAMEORIGIN",
|
8
|
+
"X-XSS-Protection": "0"
|
9
|
+
},
|
10
|
+
"responseOverrides": {
|
11
|
+
"404": {
|
12
|
+
"rewrite": "/404/",
|
13
|
+
"statusCode": 404
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"routes": [
|
17
|
+
{
|
18
|
+
"route": "/favicon.*",
|
19
|
+
"headers": {
|
20
|
+
"cache-control": "public, max-age=15770000"
|
21
|
+
}
|
22
|
+
}
|
23
|
+
]
|
24
|
+
}
|