Compare commits

...

319 Commits

Author SHA1 Message Date
Mark Dumay
9795e04a9b Merge pull request #237 from gethinode/develop
Tables
2023-04-28 09:23:19 +02:00
mark
6381cb3519 Fix linting issues 2023-04-28 09:18:51 +02:00
mark
01927f22b6 Bump package release 2023-04-28 09:07:52 +02:00
mark
da75210771 Add responsive behavior for tables 2023-04-28 09:00:12 +02:00
mark
b47bf99744 Fix highlight of nav items 2023-04-27 17:46:13 +02:00
Mark Dumay
2a4ba34c51 Merge pull request #236 from gethinode/develop
Add Google Analytics for demo site
2023-04-27 15:00:26 +02:00
mark
fc07cec664 Use cross-domain linking 2023-04-27 14:55:08 +02:00
Mark Dumay
538a1d2de3 Merge branch 'main' into develop 2023-04-27 14:46:22 +02:00
mark
6dda374b73 Add Google Analytics for demo site 2023-04-27 14:45:36 +02:00
Mark Dumay
e53a333ebf Merge pull request #235 from gethinode/develop
Fixes
2023-04-27 12:58:45 +02:00
Mark Dumay
5ed8c28bee Merge branch 'main' into develop 2023-04-27 12:36:22 +02:00
mark
fa47b7d93e Bump release 2023-04-27 12:35:51 +02:00
mark
f1693c8cf0 Refine Netlify CSP headers 2023-04-27 12:34:56 +02:00
mark
740fd91038 Remove empty parameters 2023-04-27 11:44:45 +02:00
mark
9a0dba5ee4 Fix loading tag manager script twice 2023-04-27 11:44:25 +02:00
Mark Dumay
e4b7b252b3 Revert back to macos-latest 2023-04-27 08:29:00 +02:00
Mark Dumay
569562cf24 Merge pull request #234 from gethinode/develop
Server
2023-04-27 08:28:27 +02:00
Mark Dumay
60b53f2fa9 Merge branch 'main' into develop 2023-04-27 08:17:46 +02:00
mark
3e5f23cf89 Bump release version 2023-04-27 08:17:07 +02:00
mark
c7b16cf2f4 Fix Hugo server detection 2023-04-27 08:16:21 +02:00
Mark Dumay
191d6e3d94 Change to macos-latest-xl runner 2023-04-27 08:01:43 +02:00
Mark Dumay
9dd7bf64e1 Merge pull request #233 from gethinode/main
Sync
2023-04-27 08:00:32 +02:00
Mark Dumay
580675f8b1 Merge pull request #232 from gethinode/tooltip
Tooltip
2023-04-27 07:55:02 +02:00
Mark Dumay
b2b43d550b Merge branch 'main' into tooltip 2023-04-27 07:47:08 +02:00
Mark Dumay
f79317b317 Merge pull request #231 from gethinode/develop
Google Analytics
2023-04-27 07:46:14 +02:00
mark
3d7bcc4356 Bump release version 2023-04-27 07:45:56 +02:00
mark
a7256ff270 Fix tooltip justification 2023-04-27 07:45:47 +02:00
mark
8ffc6dbd59 Bump release version 2023-04-27 07:28:46 +02:00
mark
5bb0cf07e6 Add Google Analytics support 2023-04-27 07:28:22 +02:00
Mark Dumay
37e9e70c55 Merge pull request #230 from gethinode/main
Sync
2023-04-26 16:04:43 +02:00
Mark Dumay
b4ddc8c58d Merge pull request #229 from gethinode/TOC
TOC
2023-04-26 16:01:32 +02:00
Mark Dumay
a7c4be508d Merge branch 'main' into TOC 2023-04-26 15:55:39 +02:00
mark
0988e07106 Fix linting issues 2023-04-26 15:50:29 +02:00
mark
7dcbfe8373 Add hover color to sidebar TOC 2023-04-26 15:48:59 +02:00
Mark Dumay
fdebbccfa1 Merge branch 'main' into develop 2023-04-26 13:44:28 +02:00
mark
7d1cd93e87 Bump release version 2023-04-26 13:43:04 +02:00
mark
3a056829c5 Improve configurability of button 2023-04-26 13:40:47 +02:00
mark
0ee0febc15 Adjust TOC button shadow 2023-04-26 13:40:22 +02:00
mark
ac081a3084 Add icon support 2023-04-26 12:07:59 +02:00
mark
9d07b5da5a Add TOC drop-down for small screens 2023-04-26 12:02:52 +02:00
Mark Dumay
67f1708691 Merge pull request #227 from gethinode/develop
Release v0.12.0
2023-04-25 16:48:00 +02:00
Mark Dumay
c5e5ec0f21 Merge branch 'main' into develop 2023-04-25 16:42:28 +02:00
mark
d461333738 Bump dependencies 2023-04-25 16:37:28 +02:00
mark
32c422a2a8 Bump release version 2023-04-25 16:36:49 +02:00
github-actions[bot]
b66660b557 Merge pull request #225 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-9.0.0
Bump stylelint-config-standard-scss from 8.0.0 to 9.0.0
2023-04-25 14:09:00 +00:00
dependabot[bot]
be95c3cd68 Bump stylelint-config-standard-scss from 8.0.0 to 9.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v8.0.0...v9.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 14:04:29 +00:00
mark
74aa32e595 Move partials to assets folder 2023-04-25 15:58:45 +02:00
mark
4c305b38a5 Improve partial error messages 2023-04-25 15:31:36 +02:00
mark
63c609c1d3 Improve configurability of nav partial 2023-04-25 15:24:23 +02:00
mark
d7424d26eb Update i18n keywords 2023-04-25 13:22:57 +02:00
mark
1f66740c19 Refine minimal layout 2023-04-25 13:15:40 +02:00
github-actions[bot]
cb032b4fb8 Merge pull request #224 from gethinode/dependabot/npm_and_yarn/eslint-8.39.0
Bump eslint from 8.38.0 to 8.39.0
2023-04-24 14:21:22 +00:00
dependabot[bot]
3889382e19 Bump eslint from 8.38.0 to 8.39.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.38.0 to 8.39.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.38.0...v8.39.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 14:17:25 +00:00
github-actions[bot]
86addfd6dd Merge pull request #223 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.0
Bump stylelint from 15.5.0 to 15.6.0
2023-04-24 14:16:22 +00:00
dependabot[bot]
9110fb5ab4 Bump stylelint from 15.5.0 to 15.6.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.5.0 to 15.6.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.5.0...15.6.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 14:12:08 +00:00
Mark Dumay
fad4cdbfd2 Merge pull request #221 from gethinode/develop
Sections
2023-04-24 15:00:20 +02:00
Mark Dumay
c403d422d9 Merge branch 'main' into develop 2023-04-24 14:52:03 +02:00
mark
0ecfa72864 Update section config 2023-04-24 14:51:00 +02:00
mark
62af498414 Refactor card group 2023-04-24 14:50:19 +02:00
mark
ee37599ded Fix card header and footer 2023-04-24 14:43:57 +02:00
mark
9a4c7c7776 Merge snippets and lists into sections 2023-04-24 14:17:37 +02:00
mark
c05eeb015c Bump release version 2023-04-24 14:09:23 +02:00
mark
d9f898a2e1 Add unique id to each nav 2023-04-24 06:54:01 +02:00
mark
36f31a57ae Fix id 2023-04-24 06:52:40 +02:00
mark
17b3bbaf80 Add body as supported color 2023-04-24 06:52:30 +02:00
mark
26bc4ebb00 Prioritize page title over param title 2023-04-24 04:52:17 +02:00
mark
d13d80af2f Adjust build timeout 2023-04-23 16:35:43 +02:00
Mark Dumay
64abaf8d1e Merge pull request #220 from gethinode/develop
Fixes
2023-04-23 14:55:05 +02:00
Mark Dumay
ffc9c47b45 Merge branch 'main' into develop 2023-04-23 14:43:04 +02:00
mark
092630b030 Fix layout of figures 2023-04-23 14:39:44 +02:00
mark
2ec60a8b71 Adjust top spacing 2023-04-23 14:39:03 +02:00
mark
9af871fee7 Align layout of tags to single page layout 2023-04-23 14:38:43 +02:00
mark
883ab3f7a0 Bump release version 2023-04-23 14:26:30 +02:00
mark
d6a49ccb90 Refine padding 2023-04-23 14:25:41 +02:00
mark
fdc58d52e9 Fix image caption when ratio is set 2023-04-23 13:55:30 +02:00
Mark Dumay
97a829dfff Merge pull request #219 from gethinode/develop
Fixes
2023-04-23 10:14:54 +02:00
Mark Dumay
c7fbc548bb Merge branch 'main' into develop 2023-04-23 09:46:03 +02:00
mark
794510861c Bump release version 2023-04-23 09:45:34 +02:00
mark
da7c70c444 Fix detection of homepage 2023-04-23 09:45:02 +02:00
mark
1571decb8e Update supported colors 2023-04-23 08:44:53 +02:00
mark
835d3e615e Remove obsolete forestry config 2023-04-23 07:56:56 +02:00
Mark Dumay
393aea46e1 Merge pull request #218 from gethinode/develop
Colors
2023-04-23 07:53:47 +02:00
Mark Dumay
f3347e871e Merge branch 'main' into develop 2023-04-23 07:47:44 +02:00
mark
9d751abbf0 Bump release to 0.12.0-alpha2 2023-04-23 07:47:03 +02:00
mark
ccfc674019 Improve placement of multiple tag buttons 2023-04-23 07:43:49 +02:00
mark
45aa488e37 Set project card color to body-tertiary 2023-04-23 07:38:33 +02:00
mark
5d96fdb3db Make tags color-mode aware 2023-04-23 07:34:54 +02:00
mark
c2faf0d4f6 Update card example 2023-04-23 07:22:12 +02:00
mark
1e8d94e1fb Change tertiary to body-tertiary 2023-04-23 07:21:45 +02:00
mark
3a6edbf2a2 Improve colored links for color modes 2023-04-23 07:13:45 +02:00
Mark Dumay
a52154b531 Merge pull request #217 from gethinode/develop
v0.12.0 prerelease
2023-04-22 13:38:29 +02:00
mark
a27d25737f Add nav example in Dutch 2023-04-22 13:33:50 +02:00
mark
e810df9177 Change color to tertiary 2023-04-22 13:33:32 +02:00
mark
d4dc5d8693 Stretch background color to entire viewport 2023-04-22 13:23:30 +02:00
Mark Dumay
878258796b Merge branch 'main' into develop 2023-04-22 13:10:49 +02:00
mark
0397b66d05 Do not center headlines by default 2023-04-22 13:09:09 +02:00
mark
5ef32bed6d Add option to center headlines on homepage 2023-04-22 13:08:42 +02:00
mark
bbdd8b6c62 Adjust style of header 2023-04-22 13:07:57 +02:00
mark
67a1d58178 Adjust style of header 2023-04-22 13:07:20 +02:00
mark
1bede70fae Fix lint issues 2023-04-22 12:42:00 +02:00
mark
156dbfd3a9 Add section styles 2023-04-22 12:39:44 +02:00
mark
c2a2ffd06d Add reveal animation 2023-04-22 12:39:22 +02:00
mark
6aeb1ae617 Add reveal animation 2023-04-22 12:39:13 +02:00
mark
9fe02aa39b Add snippet list partial 2023-04-22 12:33:40 +02:00
mark
f6f65ef7f3 Set max width of sections 2023-04-22 12:32:08 +02:00
mark
8b8a6b5b36 Add list partial 2023-04-22 12:31:21 +02:00
mark
9fabcbaf13 Adjust style of header 2023-04-22 12:30:30 +02:00
mark
18ad1ebc93 Adjust style of header 2023-04-22 12:28:29 +02:00
mark
f4cde441a0 Set max width of single pages 2023-04-22 12:27:49 +02:00
mark
1baea7f63d Add support for snippets 2023-04-22 12:25:48 +02:00
mark
89b7aa24e9 Set max width of featured section 2023-04-22 12:22:50 +02:00
mark
2ebbf5a370 Set max width of footer 2023-04-22 12:20:16 +02:00
mark
595e562814 Add nav partial 2023-04-22 12:05:08 +02:00
mark
2bf64805dc Adjust maximum width of navbar 2023-04-22 12:04:33 +02:00
mark
0576f78240 Add persona shortcode 2023-04-22 11:58:46 +02:00
mark
0f06571e50 Refine message of 404 page 2023-04-22 11:55:53 +02:00
mark
bb834c9c15 Improve layout of 404 page 2023-04-22 11:52:16 +02:00
mark
f000d95533 Change release to 0.12.0-alpha 2023-04-22 11:47:45 +02:00
mark
d3738657a3 Add "body" and "tertiary" theme colors 2023-04-22 11:46:42 +02:00
Mark Dumay
d2655290b4 Merge pull request #216 from gethinode/develop
Refinement
2023-04-21 18:06:20 +02:00
Mark Dumay
97fd864129 Merge branch 'main' into develop 2023-04-21 16:59:07 +02:00
mark
44d2f3699f Fix indentation of sidebar items 2023-04-21 16:56:41 +02:00
github-actions[bot]
7bc7621996 Merge pull request #215 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.7.0
Bump markdownlint-cli2 from 0.6.0 to 0.7.0
2023-04-20 14:09:55 +00:00
dependabot[bot]
19b6a7817d Bump markdownlint-cli2 from 0.6.0 to 0.7.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/DavidAnson/markdownlint-cli2/releases)
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 14:04:55 +00:00
mark
eddfe93e6e Add persona partial 2023-04-18 15:27:23 +02:00
mark
a5b3b61e23 Remove commented code 2023-04-18 12:02:02 +02:00
mark
6586370d75 Refine nav 2023-04-18 11:58:38 +02:00
Mark Dumay
c1de0a4604 Merge pull request #213 from gethinode/develop
Color mode
2023-04-18 06:07:33 +02:00
Mark Dumay
e71908e2a8 Merge branch 'main' into develop 2023-04-17 16:57:32 +02:00
mark
053b63a580 Add callout styles 2023-04-17 16:54:42 +02:00
mark
276b2e7ab5 Bump release version 2023-04-17 16:54:39 +02:00
mark
db5cadb2ac Add color mode support for images 2023-04-17 16:40:35 +02:00
github-actions[bot]
a6669030d8 Merge pull request #212 from gethinode/dependabot/npm_and_yarn/stylelint-15.5.0
Bump stylelint from 15.4.0 to 15.5.0
2023-04-17 14:12:11 +00:00
dependabot[bot]
8cbd2db6fa Bump stylelint from 15.4.0 to 15.5.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.4.0 to 15.5.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.4.0...15.5.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 14:09:16 +00:00
Mark Dumay
b09b411b10 Update and rename auto-approve.yml to auto-merge.yml 2023-04-14 05:15:00 +02:00
Mark Dumay
b4414c9ecb Merge pull request #210 from gethinode/develop
Nav shortcode
2023-04-13 16:57:53 +02:00
Mark Dumay
e6a4d9a643 Merge branch 'main' into develop 2023-04-13 16:52:36 +02:00
mark
4c4bce6e1e Bump release version 2023-04-13 16:51:32 +02:00
mark
5c6c934499 Add nav shortcode 2023-04-13 16:50:58 +02:00
mark
f163c870cd Move auto-approve to workflows 2023-04-13 10:01:04 +02:00
Mark Dumay
b6035d2aa8 Merge pull request #207 from gethinode/dependabot/npm_and_yarn/eslint-8.38.0
Bump eslint from 8.37.0 to 8.38.0
2023-04-13 07:40:37 +02:00
Mark Dumay
2eed95a45d Merge branch 'main' into dependabot/npm_and_yarn/eslint-8.38.0 2023-04-13 07:34:19 +02:00
Mark Dumay
9019ea8d3c Rename auto-approve to auto-approve.yml 2023-04-13 07:34:01 +02:00
Mark Dumay
bd88950647 Create auto-approve 2023-04-13 07:33:37 +02:00
Mark Dumay
7b2d88d9d7 Merge branch 'main' into dependabot/npm_and_yarn/eslint-8.38.0 2023-04-13 07:19:27 +02:00
Mark Dumay
c6cc6e03eb Merge pull request #209 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-8.0.0
Bump stylelint-config-standard-scss from 7.0.1 to 8.0.0
2023-04-11 17:08:29 +02:00
dependabot[bot]
afc023d580 Bump stylelint-config-standard-scss from 7.0.1 to 8.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v7.0.1...v8.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-11 14:05:35 +00:00
Mark Dumay
d3a15b5b1e Merge pull request #208 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.0
Bump rimraf from 4.4.1 to 5.0.0
2023-04-10 16:31:33 +02:00
dependabot[bot]
d928f6d4fd Bump rimraf from 4.4.1 to 5.0.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.4.1 to 5.0.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.4.1...v5.0.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:11:48 +00:00
dependabot[bot]
f2559c243f Bump eslint from 8.37.0 to 8.38.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.37.0 to 8.38.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.37.0...v8.38.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:11:28 +00:00
mark
0e073465ae Remove color mode switcher from navbar example 2023-04-10 15:16:34 +02:00
Mark Dumay
f5dafb50a8 Merge pull request #206 from gethinode/develop
Bump release version
2023-04-10 14:44:06 +02:00
mark
671cd1f0f2 Bump release version 2023-04-10 14:43:38 +02:00
Mark Dumay
e15052db22 Merge pull request #205 from gethinode/develop
Navbar
2023-04-10 14:42:38 +02:00
mark
6be2bb28f8 Fix #204 2023-04-10 14:16:45 +02:00
mark
31e4161258 Apply small drop shadow for expanded navbar 2023-04-10 14:16:20 +02:00
mark
44d018fa7c Fix invalid value 2023-04-10 14:15:32 +02:00
mark
3a49d0ca73 Adjust divider for collapsed and regular navbar 2023-04-10 14:14:45 +02:00
mark
c5ac3bbd3c Fix indent 2023-04-10 14:10:28 +02:00
Mark Dumay
6fe0df9466 Merge pull request #203 from gethinode/develop
Navbar
2023-04-09 15:20:59 +02:00
mark
2fc134503c Bump release version 2023-04-09 15:14:11 +02:00
mark
f11e98367b Change navbar size 2023-04-09 15:13:31 +02:00
mark
0ad4875ee2 Improve mode selector behavior 2023-04-09 15:13:11 +02:00
mark
a227a01407 Hide language label unless collapsed 2023-04-09 15:12:37 +02:00
mark
a8c8546c23 Add mode param 2023-04-09 15:11:20 +02:00
mark
0aa2a0427b Add mode param 2023-04-09 15:10:27 +02:00
mark
3047f8e937 Support multiple selectors 2023-04-09 15:10:01 +02:00
Mark Dumay
d144bd328c Merge pull request #202 from gethinode/develop
Color mode
2023-04-08 09:09:13 +02:00
mark
8815642bea Bump release version 2023-04-08 08:57:30 +02:00
mark
cb862374fd FIx icon path 2023-04-08 08:56:45 +02:00
mark
60265ce7e8 Fix #200 2023-04-08 08:54:25 +02:00
Mark Dumay
eec1c0954a Update bug_report.md
Add Hinode version
2023-04-07 18:44:14 +02:00
mark
8aa0556298 Move stylesheet to folder 2023-04-06 17:49:53 +02:00
mark
c92c1686cd Remove redundant suffix from main js bundle 2023-04-06 17:29:43 +02:00
Mark Dumay
f2509b07af Merge pull request #199 from gethinode/develop
Navigation
2023-04-06 09:49:34 +02:00
mark
4b606deafd Clean up style 2023-04-06 09:40:11 +02:00
mark
d9f805d4a4 Bump release version 2023-04-06 09:33:10 +02:00
mark
a62bea018b Refine TOC offset 2023-04-06 09:31:09 +02:00
mark
2596f2d7ee Refine heading offset 2023-04-06 09:31:02 +02:00
mark
2bcd955402 Fix #154 2023-04-06 09:09:17 +02:00
Mark Dumay
511ad2cb4c Merge pull request #198 from gethinode/develop
Navbar
2023-04-06 06:21:07 +02:00
mark
b87a91f6df Fix #128 2023-04-06 06:17:30 +02:00
mark
11b8bb4c69 Bump release version 2023-04-06 06:05:00 +02:00
mark
84fab6b8a8 Improve alignment of navbar elements 2023-04-06 06:04:29 +02:00
Mark Dumay
656770352a Merge pull request #197 from gethinode/develop
Configurable sidebar version
2023-04-05 13:17:07 +02:00
mark
1dadce3f92 Bump release version 2023-04-05 13:11:57 +02:00
mark
8d428d3b51 Make sidebar version configurable 2023-04-05 13:11:28 +02:00
Mark Dumay
8de8204f0e Merge pull request #196 from gethinode/develop
Clean up
2023-04-05 09:20:30 +02:00
mark
e5d2ece0b7 Bump release version 2023-04-05 09:16:00 +02:00
mark
01159ceea2 Remove debug statement 2023-04-05 09:10:07 +02:00
Mark Dumay
d6357b70ae Merge pull request #195 from gethinode/develop
Multi-level sidebar nav
2023-04-05 09:05:08 +02:00
mark
eb000e9f81 Fix linting issues 2023-04-05 08:51:38 +02:00
mark
efe9c2e06e Bump release version 2023-04-05 08:39:41 +02:00
mark
4c41cbcafb Enable nested sidebar navigation 2023-04-05 08:39:24 +02:00
mark
1910af163d Move API to enable utilities in theme styles 2023-04-05 08:31:21 +02:00
Mark Dumay
cba1566ba1 Merge pull request #194 from gethinode/develop
Bump dependencies
2023-04-03 15:27:27 +02:00
mark
69abe3ec0c Bump dependencies 2023-04-03 15:19:08 +02:00
Mark Dumay
9961d8e364 Merge pull request #193 from gethinode/develop
Dependencies
2023-04-03 15:04:09 +02:00
mark
7b1f81cd9a Bump Bootstrap to v5.3.0-alpha3 2023-04-03 14:17:06 +02:00
mark
1dd91da4f5 Fix dummy links 2023-04-03 14:14:03 +02:00
mark
624d89118d Use hugo-bin to simplify hugo installation 2023-04-03 14:12:52 +02:00
mark
ddab72c463 Fix #189 2023-04-03 13:42:02 +02:00
Mark Dumay
c95ccd22eb Merge pull request #192 from gethinode/main
Sync with main
2023-04-03 11:51:41 +02:00
Mark Dumay
ced7196084 Merge pull request #191 from gethinode/sass
Sidebar
2023-04-03 11:45:39 +02:00
mark
9c726191de Bump release version 2023-04-03 11:39:57 +02:00
mark
93a6fab67f Fix #190 2023-04-03 11:38:48 +02:00
Mark Dumay
923ff12915 Merge pull request #188 from gethinode/sass
Bootstrap 5.3.0-alpha2
2023-04-01 14:36:44 +02:00
mark
aaa299ef1d Bump Bootstrap to v5.3.0-alpha2 2023-04-01 14:22:18 +02:00
mark
e93bfcce8e Add js docs support 2023-04-01 14:19:52 +02:00
mark
d3847186b7 Bump dependencies 2023-04-01 14:12:19 +02:00
mark
ac956333d4 Use shorthand notation 2023-04-01 14:11:49 +02:00
Mark Dumay
08ab28bfea Merge pull request #187 from gethinode/main
Sync with main branch
2023-04-01 14:05:50 +02:00
Mark Dumay
18d4548b8d Merge pull request #186 from gethinode/main
Sync with main branch
2023-04-01 14:02:50 +02:00
Mark Dumay
38f4fe796b Merge pull request #182 from gethinode/dependabot/npm_and_yarn/cssnano-6.0.0
Bump cssnano from 5.1.15 to 6.0.0
2023-04-01 13:56:05 +02:00
Mark Dumay
04e4c37f3e Merge pull request #185 from gethinode/dependabot/npm_and_yarn/eslint-8.37.0
Bump eslint from 8.36.0 to 8.37.0
2023-03-30 17:42:53 +02:00
Mark Dumay
c4695dd771 Merge pull request #184 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-15.7.0
Bump eslint-plugin-n from 15.6.1 to 15.7.0
2023-03-30 17:42:16 +02:00
dependabot[bot]
cb75b6c777 Bump eslint from 8.36.0 to 8.37.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.36.0 to 8.37.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.36.0...v8.37.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 14:12:29 +00:00
dependabot[bot]
827fcd9d4d Bump eslint-plugin-n from 15.6.1 to 15.7.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 15.6.1 to 15.7.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/15.6.1...15.7.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 14:11:56 +00:00
dependabot[bot]
21f1678de4 Bump cssnano from 5.1.15 to 6.0.0
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.15 to 6.0.0.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.15...cssnano@6.0.0)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:27:26 +00:00
Mark Dumay
f0cfd49983 Merge pull request #183 from gethinode/dependabot/npm_and_yarn/fortawesome/fontawesome-free-6.4.0
Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0
2023-03-28 16:24:37 +02:00
Mark Dumay
61fb294dfd Merge pull request #181 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-6.0.0
Bump cssnano-preset-advanced from 5.3.10 to 6.0.0
2023-03-28 16:23:59 +02:00
dependabot[bot]
7e1843febe Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:11:46 +00:00
dependabot[bot]
7ed4693f40 Bump cssnano-preset-advanced from 5.3.10 to 6.0.0
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 5.3.10 to 6.0.0.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@5.3.10...cssnano-preset-advanced@6.0.0)

---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:11:09 +00:00
Mark Dumay
6c08d5eda1 Merge pull request #179 from gethinode/dependabot/npm_and_yarn/rimraf-4.4.1
Bump rimraf from 4.4.0 to 4.4.1
2023-03-23 15:33:08 +01:00
dependabot[bot]
79e1b0aae1 Bump rimraf from 4.4.0 to 4.4.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.4.0...v4.4.1)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-23 14:14:45 +00:00
Mark Dumay
f3225ff139 Merge pull request #177 from gethinode/sass
Sass
2023-03-18 06:33:40 +01:00
mark
f0389f83b7 Add js support 2023-03-18 06:25:54 +01:00
mark
d8271aa83a Bump release version 2023-03-18 06:24:38 +01:00
mark
c523f2b890 Bump dependencies 2023-03-18 06:22:51 +01:00
mark
6a32015d08 Support Bootstrap theme 2023-03-18 06:22:36 +01:00
mark
e576737ff1 Add PostProcess in production 2023-03-18 06:21:36 +01:00
Mark Dumay
08fa4d8c89 Merge pull request #175 from gethinode/dependabot/npm_and_yarn/eslint-8.36.0
Bump eslint from 8.35.0 to 8.36.0
2023-03-13 17:01:46 +01:00
dependabot[bot]
7086700562 Bump eslint from 8.35.0 to 8.36.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.35.0 to 8.36.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.35.0...v8.36.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 14:14:57 +00:00
Mark Dumay
a8fbdad172 Merge pull request #173 from gethinode/sass
Sass
2023-03-12 13:11:17 +01:00
mark
d374f50b66 Refine safelist 2023-03-12 12:52:55 +01:00
mark
f0210348c6 Bump release version 2023-03-12 12:52:44 +01:00
mark
d66b093281 Rename duplicate build tag 2023-03-12 12:50:09 +01:00
Mark Dumay
bda9550c16 Merge pull request #172 from gethinode/sass
Sass
2023-03-12 09:25:58 +01:00
mark
36a4d93321 Update lint ignore path 2023-03-12 08:59:36 +01:00
mark
26aeec106a Bump release version 2023-03-12 08:58:08 +01:00
mark
d419bb8f67 Fix import statement 2023-03-12 08:57:36 +01:00
mark
b840ce6cf4 Move files to theme folder to fix downstream mount 2023-03-12 08:57:21 +01:00
mark
816b7ca920 Move files to theme folder to fix downstream mount 2023-03-12 08:56:50 +01:00
mark
3534141678 Add fonts to purge safelist 2023-03-12 08:36:56 +01:00
Mark Dumay
7125033baa Merge pull request #171 from gethinode/dependabot/npm_and_yarn/autoprefixer-10.4.14
Bump autoprefixer from 10.4.13 to 10.4.14
2023-03-10 17:24:15 +01:00
Mark Dumay
042fa303be Merge pull request #170 from gethinode/dependabot/npm_and_yarn/rimraf-4.4.0
Bump rimraf from 4.3.1 to 4.4.0
2023-03-10 17:23:49 +01:00
dependabot[bot]
5bd83f8255 Bump autoprefixer from 10.4.13 to 10.4.14
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.13 to 10.4.14.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.13...10.4.14)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 14:08:45 +00:00
dependabot[bot]
f0d18dc909 Bump rimraf from 4.3.1 to 4.4.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 14:08:15 +00:00
Mark Dumay
128f9d6071 Merge pull request #168 from gethinode/dependabot/npm_and_yarn/rimraf-4.3.1
Bump rimraf from 4.3.0 to 4.3.1
2023-03-07 18:34:53 +01:00
dependabot[bot]
f0be69daf5 Bump rimraf from 4.3.0 to 4.3.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 14:10:03 +00:00
Mark Dumay
d21bc1fe42 Merge pull request #167 from gethinode/dependabot/npm_and_yarn/rimraf-4.3.0
Bump rimraf from 4.2.0 to 4.3.0
2023-03-06 15:31:08 +01:00
Mark Dumay
6da61c23db Merge pull request #166 from gethinode/sass
Adjust default purge settings
2023-03-06 15:30:27 +01:00
dependabot[bot]
454efc5915 Bump rimraf from 4.2.0 to 4.3.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 14:25:49 +00:00
mark
aa139ec51a Adjust default purge settings 2023-03-06 15:23:07 +01:00
Mark Dumay
a7844486bf Merge pull request #165 from gethinode/sass
Sass
2023-03-06 15:16:59 +01:00
mark
221dc23a05 Remove deprecated rules 2023-03-06 07:38:44 +01:00
mark
92d97f7091 Bump release version 2023-03-06 07:37:00 +01:00
mark
51b31cb98a Make reading of site params more consistent 2023-03-06 07:35:06 +01:00
mark
2935b60404 Use isProduction flag 2023-03-06 07:34:24 +01:00
mark
fc74085a7f Add CSS purge 2023-03-06 07:33:54 +01:00
mark
cd6b7332ab Revert back to libsass 2023-03-06 07:30:27 +01:00
mark
ef952f73f8 Ignore hugo_stats.json 2023-03-06 06:57:28 +01:00
mark
4a3a6d5395 Bump Hugo dependency 2023-03-06 06:57:02 +01:00
mark
b4186265ef Remove superfluous trailing forward slash 2023-03-06 06:10:27 +01:00
mark
ac5ae9aeb8 Use Dart Sass syntax 2023-03-04 12:45:57 +01:00
mark
d15eced48c Make Font Awesome fonts configurable 2023-03-04 12:42:26 +01:00
mark
7a66470b67 Use Hugo template variables 2023-03-04 08:54:53 +01:00
mark
1b772f8a18 Use Hugo template variables 2023-03-04 08:53:43 +01:00
mark
29c49350a2 Improve consistency of color definition 2023-03-04 08:39:51 +01:00
mark
6f0e767610 Leverage Sass variables from Hugo templates (v0.109.0) 2023-03-04 08:37:08 +01:00
mark
013937d60f Bump Hugo dependency 2023-03-04 08:32:52 +01:00
Mark Dumay
dc99a35258 Merge pull request #164 from gethinode/dependabot/npm_and_yarn/rimraf-4.2.0
Bump rimraf from 4.1.3 to 4.2.0
2023-03-03 17:26:03 +01:00
dependabot[bot]
3b4c4cb02f Bump rimraf from 4.1.3 to 4.2.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.1.3 to 4.2.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.1.3...v4.2.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-03 14:08:23 +00:00
Mark Dumay
56929c918a Merge pull request #163 from gethinode/dependabot/npm_and_yarn/rimraf-4.1.3
Bump rimraf from 4.1.2 to 4.1.3
2023-03-02 17:26:17 +01:00
dependabot[bot]
696ccbf64b Bump rimraf from 4.1.2 to 4.1.3
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 14:24:39 +00:00
Mark Dumay
2e5028a612 Merge pull request #162 from gethinode/dependabot/npm_and_yarn/eslint-8.35.0
Bump eslint from 8.34.0 to 8.35.0
2023-02-27 15:39:00 +01:00
dependabot[bot]
89ecf07f23 Bump eslint from 8.34.0 to 8.35.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.34.0 to 8.35.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.34.0...v8.35.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 14:22:05 +00:00
Mark Dumay
ea9295da62 Merge pull request #161 from gethinode/develop
Separator
2023-02-26 11:11:10 +01:00
mark
b6b5230cc3 Bump release version 2023-02-26 11:06:43 +01:00
mark
b65110fdcc Add configurable separator for lists 2023-02-26 11:05:55 +01:00
mark
6d3dc7b590 Remove article to fix height alignment 2023-02-26 10:52:50 +01:00
Mark Dumay
7bb479194b Merge pull request #160 from gethinode/develop
Cards
2023-02-26 09:40:45 +01:00
mark
73c1cf8a59 Narrow stylelint hints 2023-02-26 09:35:54 +01:00
mark
20ce3580c7 Fix linting issues 2023-02-26 08:55:57 +01:00
mark
2f733a709d Bump dependencies 2023-02-26 08:54:42 +01:00
mark
96b1eaaa04 Bump package version 2023-02-26 08:54:17 +01:00
mark
f0200f77dc Apply card-zoom animation to blog posts 2023-02-26 08:42:03 +01:00
mark
4ab462750c Ensure tag links take precedence over the card link 2023-02-26 08:41:41 +01:00
mark
597ea2fa2b Refine card-body-link style 2023-02-26 08:41:18 +01:00
mark
82b8228277 Add card-zoom animation 2023-02-26 08:40:48 +01:00
mark
6a025f80c4 Wrap the card in an article 2023-02-26 08:35:28 +01:00
mark
99d4d79537 Wrap the card in an article 2023-02-26 08:34:49 +01:00
mark
e1d1526b10 Ensure tag links take precedence over the card link 2023-02-26 08:33:43 +01:00
mark
8808c10402 Make entire card clickable 2023-02-26 08:32:58 +01:00
mark
87f1733a49 Fix spacing between tags 2023-02-24 06:08:31 +01:00
mark
0da862db93 Fix spacing between date and reading time 2023-02-24 06:05:34 +01:00
Mark Dumay
2bdcce58a7 Merge pull request #159 from gethinode/develop
Fonts
2023-02-23 10:29:17 +01:00
mark
e81456021e Exclude generated font faces from scss lint 2023-02-23 07:44:52 +01:00
mark
2815cda0ed Bump package version 2023-02-23 07:42:54 +01:00
mark
bad3a6fd4b Add autoprefixer and cssnano to postCSS 2023-02-23 06:46:37 +01:00
mark
53a779ca78 Add local fonts support 2023-02-22 04:31:16 +01:00
mark
f559ae17fd Adjust prod script name 2023-02-22 04:16:18 +01:00
Mark Dumay
3bf1cd9ef7 Merge pull request #157 from gethinode/dependabot/npm_and_yarn/stylelint-15.2.0
Bump stylelint from 15.1.0 to 15.2.0
2023-02-20 15:28:31 +01:00
dependabot[bot]
1596b40689 Bump stylelint from 15.1.0 to 15.2.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.1.0 to 15.2.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/15.1.0...15.2.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 14:23:57 +00:00
Mark Dumay
1506281000 Merge pull request #156 from gethinode/develop
SEO
2023-02-18 17:21:32 +01:00
mark
a0a550d070 Fix scss issue 2023-02-18 17:01:03 +01:00
mark
0fe6e477a4 Bump package version 2023-02-18 16:55:24 +01:00
mark
a8618e1da3 Fix SEO issue 2023-02-18 16:54:44 +01:00
mark
e724130159 Refine scss definitions 2023-02-18 07:44:38 +01:00
Mark Dumay
831fc66534 Merge pull request #153 from gethinode/develop
Fix rendering of scss docs
2023-02-18 07:29:48 +01:00
mark
ba8631b6a3 Bump package version 2023-02-18 07:23:26 +01:00
mark
0092588d87 Fix rendering of scss 2023-02-18 07:22:53 +01:00
Mark Dumay
210f02089f Merge pull request #152 from gethinode/develop
Display
2023-02-18 07:06:13 +01:00
mark
6508caec70 Remove redundant file 2023-02-18 06:59:40 +01:00
mark
5123cd1d6b Bump dependencies 2023-02-18 06:55:58 +01:00
Mark Dumay
ed0b3c9da3 Merge pull request #151 from gethinode/merge
Sync branch
2023-02-18 06:54:42 +01:00
Mark Dumay
55100c9b62 Merge branch 'develop' into merge 2023-02-18 06:54:22 +01:00
mark
1728c66dcc Bump dependencies 2023-02-18 06:49:45 +01:00
mark
4fa17934fd Add display property for color modes 2023-02-18 06:48:45 +01:00
113 changed files with 7086 additions and 3999 deletions

View File

@@ -1,3 +1,4 @@
assets/js/analytics.js
assets/js/color.js
assets/js/flexsearch.js
assets/js/vendor

View File

@@ -27,8 +27,9 @@ If applicable, add a copy of Hugo's log messages.
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Host OS: [e.g. macOS Ventura 13.0]
- Node version: [e.g. node v18.10.0]
- Hinode version: [e.g. v0.11.3]
- Host OS: [e.g. macOS Ventura 13.3]
- Node version: [e.g. node v18.15.0]
- Hugo version: [e.g. hugo v0.109.0-47b12b83e636224e5e601813ff3e6790c191e371+extended darwin/amd64 BuildDate=2022-12-23T10:38:11Z VendorInfo=gohugoio]
- Browser: [e.g. Google Chrome Version 108.0.5359.124 (Official Build) (arm64)]

43
.github/workflows/auto-merge.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# Source: https://nicolasiensen.github.io/2022-07-23-automating-dependency-updates-with-dependabot-github-auto-merge-and-github-actions/
name: Dependabot auto-merge
on: pull_request_target
permissions:
pull-requests: write
contents: write
jobs:
review-dependabot-pr:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Approve patch and minor updates
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}}
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Approve major updates of development dependencies
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:development'}}
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a major update of a dependency used only in development**"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Comment on major updates of non-development dependencies
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:production'}}
run: |
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**"
gh pr edit $PR_URL --add-label "requires-manual-qa"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

3
.gitignore vendored
View File

@@ -3,4 +3,5 @@ resources/
node_modules/
.DS_store
.hugo_build.lock
.hugo_build.lock
hugo_stats.json

View File

@@ -3,5 +3,6 @@ assets/scss/components/_syntax-dark.scss
assets/scss/components/_syntax-light.scss
assets/scss/hotfix
assets/scss/vendor
assets/scss/theme/fonts.scss
assets/scss/app.scss
node_modules

View File

@@ -2,10 +2,7 @@
"extends": "stylelint-config-standard-scss",
"rules": {
"no-empty-source": null,
"indentation": 4,
"string-quotes": "double",
"scss/comment-no-empty": null,
"max-line-length": null,
"scss/at-extend-no-missing-placeholder": null,
"scss/dollar-variable-colon-space-after": null,
"scss/dollar-variable-empty-line-before": null,

69
assets/js/analytics.js Normal file
View File

@@ -0,0 +1,69 @@
// 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 -}}
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 .Site.IsServer) (not $pc.Disable)) -}}
{{ with .Site.GoogleAnalytics -}}
{{ 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 }}

18
assets/js/animation.js Normal file
View File

@@ -0,0 +1,18 @@
function reveal () {
const reveals = document.querySelectorAll('.reveal')
for (let i = 0; i < reveals.length; i++) {
const windowHeight = window.innerHeight
const elementTop = reveals[i].getBoundingClientRect().top
const elementVisible = 150
if (elementTop < windowHeight - elementVisible) {
reveals[i].classList.add('active')
reveals[i].classList.remove('reveal')
} else {
reveals[i].classList.remove('active')
}
}
}
window.addEventListener('scroll', reveal)

View File

@@ -4,8 +4,6 @@
* Licensed under the Creative Commons Attribution 3.0 Unported License.
*/
{{ if site.Params.main.enableDarkMode }}
(() => {
'use strict'
@@ -30,17 +28,24 @@
setTheme(getPreferredTheme())
const showActiveTheme = theme => {
const activeSelector = document.querySelector('.theme-icon-active')
const activeButton = document.querySelector(`[data-bs-theme-value="${theme}"]`)
const activeIcon = activeButton.querySelector('i')
const activeSelectors = document.querySelectorAll('.theme-icon-active')
const activeButtons = document.querySelectorAll(`[data-bs-theme-value="${theme}"]`)
if (activeButtons.length > 0) {
const activeIcon = activeButtons[0].querySelector('i')
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
})
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
})
activeSelector.className = activeIcon.className
activeSelector.className = activeSelector.className.replace('theme-icon', 'theme-icon-active')
activeButton.classList.add('active')
for (let i = 0; i < activeSelectors.length; ++i) {
activeSelectors[i].className = activeIcon.className
activeSelectors[i].className = activeSelectors[i].className.replace('theme-icon', 'theme-icon-active')
}
for (let i = 0; i < activeButtons.length; ++i) {
activeButtons[i].classList.add('active')
}
}
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
@@ -63,5 +68,3 @@
})
})
})()
{{ end }}

View File

@@ -81,7 +81,7 @@ Source:
// https://discourse.gohugo.io/t/range-length-or-last-element/3803/2
// Note: uses .Site.AllPages as .Site.RegularPages only returns content for the current language
// pages without a title (such as browserconfig.xml) are excluded
{{ $list := where (where .Site.AllPages "Kind" "in" "page") "Title" "!=" "" }}
{{ $list := where (where site.AllPages "Kind" "in" "page") "Title" "!=" "" }}
{{ $len := (len $list) -}}
index.add(

View File

@@ -1,5 +1,6 @@
const navbar = document.querySelector('.navbar')
const toggler = document.getElementById('main-nav-toggler')
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
// set the navbar background color to opaque when scrolling past a breakpoint
window.onscroll = () => {
@@ -14,3 +15,10 @@ window.onscroll = () => {
toggler.onclick = () => {
navbar.classList.toggle('navbar-expanded')
}
// invoke the navbar toggler for each mode switcher to collapse the main menu afterwards
for (let i = 0; i < modeSelectors.length; ++i) {
modeSelectors[i].onclick = () => {
toggler.click()
}
}

View File

@@ -1,17 +1,5 @@
// Define template variables
// TODO: optimize, see https://discourse.gohugo.io/t/initialize-sass-variables-from-hugo-templates/42053
// requires installation of dart-sass, no cross-platform installation available yet
$themeFont: {{ site.Params.style.themeFont | default "Inter" }};
$primary: {{ site.Params.style.primary | default "#007bff" }};
$secondary: {{ site.Params.style.secondary | default "#6c757d" }};
$success: {{ site.Params.style.success | default "#198754" }};
$info: {{ site.Params.style.info | default "#0dcaf0" }};
$warning: {{ site.Params.style.warning | default "#ffc107" }};
$danger: {{ site.Params.style.danger | default "#dc3545" }};
$light: {{ site.Params.style.light | default "#f8f9fa" }};
$dark: {{ site.Params.style.dark | default "#212529" }};
$navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Params.navigation.offset | default "4em" }}{{ else }}0em{{ end }};
$enable-dark-mode: {{ site.Params.main.enableDarkMode | default true }} !default;
@import "hugo:vars";
// Include default variable overrides
@import "common/variables.scss";
@@ -23,14 +11,14 @@ $enable-dark-mode: {{ site.Params.main.enableDarkMode | default tru
@import "bootstrap/scss/functions";
// Import Bootstrap configuration
@import "hotfix/variables";
@import "hotfix/variables-dark.scss";
@import "hotfix/maps";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/variables-dark.scss";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
// Import Bootstrap layout & components
@import "hotfix/root";
@import "bootstrap/scss/root";
@import "bootstrap/scss/reboot";
@import "bootstrap/scss/type";
@import "bootstrap/scss/images";
@@ -65,9 +53,6 @@ $enable-dark-mode: {{ site.Params.main.enableDarkMode | default tru
// Import Bootstrap helpers
@import "bootstrap/scss/helpers";
// Import Bootstrap utilities
@import "bootstrap/scss/utilities/api";
// Import Font Awesome
// scss-docs-start awesome
@import "@fortawesome/fontawesome-free/scss/fontawesome";
@@ -86,18 +71,32 @@ $enable-dark-mode: {{ site.Params.main.enableDarkMode | default tru
@import "components/comments.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/persona.scss";
@import "components/popover.scss";
@import "components/search.scss";
@import "components/sidebar.scss";
@import "components/syntax.scss";
@import "components/toc.scss";
@import "components/vimeo.scss";
@import "common/animation.scss";
@import "common/styles.scss";
@import "layouts/reboot.scss";
@import "layouts/type.scss";
@import "common/export.scss";
@import "helpers/colored-links.scss";
@import "helpers/hidden.scss";
@import "helpers/display.scss";
// TODO: include fonts with following statement in Dart Sass
// @if $import-fonts {
// @include meta.load-css(theme/fonts);
// }
{{ if (not (hasPrefix (lower site.Params.style.themeFontPath) "http")) }}
@import "theme/fonts.scss";
{{ end }}
// Import theme placeholder
@import "theme.scss";
@import "theme/theme.scss";
// Import Bootstrap utilities API
@import "bootstrap/scss/utilities/api";

View File

@@ -0,0 +1,99 @@
.rotate-5 {
transform: rotate(5deg);
}
.rotate-n5 {
transform: rotate(-5deg);
}
@media (prefers-reduced-motion: no-preference) {
.reveal {
position: relative;
opacity: 0;
animation-iteration-count: 1;
}
.reveal.active {
opacity: 1;
}
.active.fade-bottom {
animation: fade-bottom 1s ease-in;
}
.active.fade-bottom-5 {
animation: fade-bottom-5 1s ease-in;
}
.active.fade-bottom-n5 {
animation: fade-bottom-n5 1s ease-in;
}
.active.fade-left {
animation: fade-left 1s ease-in;
}
.active.fade-right {
animation: fade-right 1s ease-in;
}
@keyframes fade-bottom {
0% {
transform: translateY(50px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
@keyframes fade-bottom-5 {
0% {
transform: translateY(50px) rotate(5deg);
opacity: 0;
}
100% {
transform: translateY(0) rotate(5deg);
opacity: 1;
}
}
@keyframes fade-bottom-n5 {
0% {
transform: translateY(50px) rotate(-5deg);
opacity: 0;
}
100% {
transform: translateY(0) rotate(-5deg);
opacity: 1;
}
}
@keyframes fade-left {
0% {
transform: translateX(-100px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
@keyframes fade-right {
0% {
transform: translateX(100px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
}

View File

@@ -25,3 +25,4 @@
}
// scss-docs-end export
// stylelint-enable selector-pseudo-class-no-unknown

View File

@@ -1,25 +1,25 @@
// scss-docs-start icons
$form-check-input-checked-bg-image: url("icons/form-check-input-checked-bg-image.svg") !default;
$form-check-radio-checked-bg-image: url("icons/form-check-radio-checked-bg-image.svg") !default;
$form-check-input-indeterminate-bg-image: url("icons/form-check-input-indeterminate-bg-image.svg") !default;
$form-switch-bg-image: url("icons/form-switch-bg-image.svg") !default;
$form-switch-bg-image-dark: url("icons/form-switch-bg-image-dark.svg") !default;
$form-switch-focus-bg-image: url("icons/form-switch-focus-bg-image.svg") !default;
$form-switch-checked-bg-image: url("icons/form-switch-checked-bg-image.svg") !default;
$form-select-indicator: url("icons/form-select-indicator.svg") !default;
$form-select-indicator-dark: url("icons/form-select-indicator-dark.svg") !default;
$form-feedback-icon-valid: url("icons/form-feedback-icon-valid.svg") !default;
$form-feedback-icon-invalid: url("icons/form-feedback-icon-invalid.svg") !default;
$navbar-light-toggler-icon-bg: url("icons/navbar-light-toggler-icon-bg.svg") !default;
$navbar-dark-toggler-icon-bg: url("icons/navbar-dark-toggler-icon-bg.svg") !default;
$accordion-button-icon: url("icons/accordion-button-icon.svg") !default;
$accordion-button-icon-dark: url("icons/accordion-button-icon-dark.svg") !default;
$accordion-button-active-icon: url("icons/accordion-button-active-icon.svg") !default;
$accordion-button-active-icon-dark: url("icons/accordion-button-active-icon-dark.svg") !default;
$carousel-control-prev-icon-bg: url("icons/carousel-control-prev-icon-bg.svg") !default;
$carousel-control-next-icon-bg: url("icons/carousel-control-next-icon-bg.svg") !default;
$btn-close-bg: url("icons/btn-close-bg.svg") !default;
$btn-toggle: url("icons/btn-toggle.svg") !default;
$btn-toggle-dark: url("icons/btn-toggle-dark.svg") !default;
$form-check-input-checked-bg-image: url("/icons/form-check-input-checked-bg-image.svg") !default;
$form-check-radio-checked-bg-image: url("/icons/form-check-radio-checked-bg-image.svg") !default;
$form-check-input-indeterminate-bg-image: url("/icons/form-check-input-indeterminate-bg-image.svg") !default;
$form-switch-bg-image: url("/icons/form-switch-bg-image.svg") !default;
$form-switch-bg-image-dark: url("/icons/form-switch-bg-image-dark.svg") !default;
$form-switch-focus-bg-image: url("/icons/form-switch-focus-bg-image.svg") !default;
$form-switch-checked-bg-image: url("/icons/form-switch-checked-bg-image.svg") !default;
$form-select-indicator: url("/icons/form-select-indicator.svg") !default;
$form-select-indicator-dark: url("/icons/form-select-indicator-dark.svg") !default;
$form-feedback-icon-valid: url("/icons/form-feedback-icon-valid.svg") !default;
$form-feedback-icon-invalid: url("/icons/form-feedback-icon-invalid.svg") !default;
$navbar-light-toggler-icon-bg: url("/icons/navbar-light-toggler-icon-bg.svg") !default;
$navbar-dark-toggler-icon-bg: url("/icons/navbar-dark-toggler-icon-bg.svg") !default;
$accordion-button-icon: url("/icons/accordion-button-icon.svg") !default;
$accordion-button-icon-dark: url("/icons/accordion-button-icon-dark.svg") !default;
$accordion-button-active-icon: url("/icons/accordion-button-active-icon.svg") !default;
$accordion-button-active-icon-dark: url("/icons/accordion-button-active-icon-dark.svg") !default;
$carousel-control-prev-icon-bg: url("/icons/carousel-control-prev-icon-bg.svg") !default;
$carousel-control-next-icon-bg: url("/icons/carousel-control-next-icon-bg.svg") !default;
$btn-close-bg: url("/icons/btn-close-bg.svg") !default;
$btn-toggle: url("/icons/btn-toggle.svg") !default;
$btn-toggle-dark: url("/icons/btn-toggle-dark.svg") !default;
// scss-docs-end icons

View File

@@ -18,3 +18,132 @@ a:active {
.tickmark li::marker {
content: "";
}
.anchor
{
color: transparent;
}
.heading:hover .anchor
{
transition: 0.25s ease-in-out;
color: $primary;
}
$utilities: map-merge(
$utilities,
(
"padding-start-wide": (
property: padding-left,
responsive: true,
class: psw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"padding-top-wide": (
property: padding-top,
responsive: true,
class: ptw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"font-size": map-merge(
map-get($utilities, "font-size"),
( responsive: true ),
),
)
);
@media screen and (orientation: portrait) {
.min-vh-custom {
min-height: 25vh !important
}
}
@media screen and (orientation: landscape) {
.min-vh-custom {
min-height: 50vh !important
}
}
:root {
--nav-height: 90px;
}
@include media-breakpoint-up(sm) {
.ratio-section {
min-height: calc(min(100vh, 576px) - var(--nav-height));
}
}
@include media-breakpoint-up(md) {
.ratio-section {
min-height: calc(min(100vh, 768px) - var(--nav-height));
}
}
@include media-breakpoint-up(lg) {
.ratio-section {
min-height: calc(min(100vh, 992px) - var(--nav-height));
}
}
@include media-breakpoint-up(xl) {
.ratio-section {
min-height: calc(min(100vh, 1200px) - var(--nav-height));
}
}
@include media-breakpoint-up(xxl) {
.ratio-section {
min-height: calc(min(100vh, 1400px) - var(--nav-height));
}
}
$utilities: map-merge(
$utilities,
(
"padding-start-wide": (
property: padding-left,
responsive: true,
class: psw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"padding-top-wide": (
property: padding-top,
responsive: true,
class: ptw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"font-size": map-merge(
map-get($utilities, "font-size"),
( responsive: true ),
)
)
);

View File

@@ -1,5 +1,6 @@
// Bootstrap variables overrides for theme
$enable-negative-margins: true;
$enable-important-utilities: true !default;
// Font awesome variables overrides for theme
$fa-font-path: "../fonts";
@@ -8,7 +9,7 @@ $fa-font-path: "../fonts";
$navbar-toggler-focus-width: 0 !default;
// scss-docs-start font
$font-family-sans-serif: $themeFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$headings-font-weight: 600 !default;
$font-weight-lighter: lighter !default;
$font-weight-light: 200 !default;
@@ -17,7 +18,7 @@ $font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
strong {
font-weight: 600 !important;
font-weight: 600 if($enable-important-utilities, !important, null);
}
// scss-docs-end font

View File

@@ -4,5 +4,5 @@
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff !important;
color: #fff if($enable-important-utilities, !important, null);
}

View File

@@ -1,5 +1,3 @@
// stylelint-disable annotation-no-unknown
// add zoom animation with opacity change on card img hover
// source: https://stackoverflow.com/a/43816376
@@ -8,16 +6,8 @@
position: relative;
}
.card-img-wrap::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.3);
opacity: 0;
transition: opacity 0.25s;
.card-zoom {
cursor: pointer;
}
.card-img-wrap img {
@@ -25,11 +15,21 @@
width: 100%;
}
.card-img-wrap:hover img {
transform: scale(1.1);
.card-zoom::after .card-img-wrap img {
content: "";
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.3);
opacity: 0;
transition: opacity 0.25s;
}
.card-img-wrap:hover::after {
.card-zoom:hover .card-img-wrap img {
transform: scale(1.1);
opacity: 0.5;
}
.card-zoom:hover::after .card-img-wrap img {
opacity: 1;
}
@@ -43,29 +43,31 @@
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
}
// stylelint-disable annotation-no-unknown
.card-body-link {
color: $body-color if($enable-important-utilities, !important, null);
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
color: tint-color($body-color, $link-shade-percentage) if($enable-important-utilities, !important, null);
}
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.card-body-link {
color: $gray-500 if($enable-important-utilities, !important, null);
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
color: shade-color($gray-500, $link-shade-percentage) if($enable-important-utilities, !important, null);
}
}
}
}
}
.card-zoom card-body-link,
.card-body-link {
&:hover,
&:focus {
color: shade-color($primary, $link-shade-percentage) if($enable-important-utilities, !important, null);
}
}
// stylelint-enable annotation-no-unknown
// make tag-link clickable on top of the stretched-link.
.card .tag-link {
z-index: 2;
position: relative;
}

View File

@@ -4,24 +4,32 @@
.navbar {
transition: 0.5s ease-in-out;
background-color: none;
background-color: transparent;
}
.nav-active, .navbar-expanded {
background-color: var(--bs-body-bg);
}
.navbar-expanded {
box-shadow: $box-shadow-sm;
}
/* Remove border from toggler */
.navbar-toggler {
border: 0 !important;
border: 0 if($enable-important-utilities, !important, null);
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
outline: none !important;
box-shadow: none !important;
border: 0 !important;
outline: none if($enable-important-utilities, !important, null);
box-shadow: none if($enable-important-utilities, !important, null);
border: 0 if($enable-important-utilities, !important, null);
}
.fw-30 {
width: 30px !important;
}
/* Lines of the Toggler */

View File

@@ -0,0 +1,3 @@
.persona {
min-height: 320px !important
}

View File

@@ -3,8 +3,23 @@
top: $navbar-offset;
}
.sidebar-overflow {
top: $navbar-offset;
max-height: 90vh;
overflow-y: auto;
}
.sidebar-item {
color: black;
color: rgba(0, 0, 0, 0.65);
margin-left: 0 !important;
padding-left: 0.85rem !important;
display: inline-block;
&.active,
&:hover,
&:focus {
color: black;
}
}
.btn-toggle {
@@ -55,6 +70,14 @@
@include color-mode(dark) {
.sidebar-item {
color: var(--bs-tertiary-color);
margin-left: 0 !important;
padding-left: 0.85rem !important;
&.active,
&:hover,
&:focus {
color: var(--bs-secondary-color);
}
}
.btn-toggle {

View File

@@ -1,20 +1,21 @@
//
// Table of contents sidebar
// Table of contents sidebar & drop-down panel
//
// scss-docs-start toc
.toc {
.toc-sidebar {
grid-area: toc;
right: 0;
z-index: 2;
height: calc(100vh - 7rem);
height: calc(100vh - 5rem);
overflow-y: auto;
top: $navbar-offset;
top: 5rem;
}
// scss-docs-end toc
.toc nav {
font-size: 0.875rem;
margin-bottom: -0.875rem;
}
.toc nav ul {
@@ -33,6 +34,10 @@
.toc nav a {
color: inherit;
&:hover {
color: var(--bs-primary);
}
}
.toc nav a:not(:hover) {
@@ -42,3 +47,21 @@
.toc nav a code {
font: inherit;
}
.toc-button {
--bs-btn-hover-color: var(--bs-primary);
--bs-btn-hover-bg: var(--bs-body-bg);
--bs-btn-hover-border-color: var(--bs-primary);
--bs-btn-active-color: var(--bs-primary);
--bs-btn-active-bg: var(--bs-body-bg);
--bs-btn-active-border-color: var(--bs-primary);
&.active,
&:hover,
&:focus {
color: var(--bs-primary);
border-color: var(--bs-primary);
box-shadow: 0 0 0 4px var(--bs-primary-border-subtle);
outline: none;
}
}

View File

@@ -1,19 +1,37 @@
// stylelint-disable function-name-case
// scss-docs-start colored-links
@each $color, $value in $theme-colors {
$contrast-color: color-contrast($value);
$color-rgb: to-rgb($value);
$custom-colors: (
"primary": "light",
"secondary": "light",
"success": "light",
"danger": "light",
"dark": "light",
"black": "light",
"info": "dark",
"warning": "dark",
"light": "dark",
"white": "dark",
"body": "adaptive",
"body-tertiary": "adaptive"
);
@each $color, $value in $custom-colors {
$main-color: var(--bs-body-color);
$emphasize-color: var(--bs-secondary-color);
@if $value == "light" {
$main-color: $white;
$emphasize-color: shade-color($main-color, $link-shade-percentage);
} @else if $value == "dark" {
$main-color: $black;
$emphasize-color: tint-color($main-color, $link-shade-percentage);
}
.link-bg-#{$color} {
color: $contrast-color !important; // stylelint-disable-line declaration-no-important
background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null); // stylelint-disable-line annotation-no-unknown
color: $main-color if($enable-important-utilities, !important, null);
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
color: if($contrast-color == $color-contrast-light, shade-color($contrast-color, $link-shade-percentage), tint-color($contrast-color, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important
}
&:hover,
&:focus {
color: $emphasize-color if($enable-important-utilities, !important, null);
}
}
}

View File

@@ -0,0 +1,30 @@
.hidden {
display: none;
}
// stylelint-disable annotation-no-unknown
// scss-docs-start display-color
.d-none-light {
display: none if($enable-important-utilities, !important, null);
}
.d-none-dark {
display: block 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 {
display: none if($enable-important-utilities, !important, null);
}
}
}
// scss-docs-end display-color
// stylelint-enable annotation-no-unknown

View File

@@ -1,3 +0,0 @@
.hidden {
display: none;
}

View File

@@ -1,176 +0,0 @@
// Copied from https://github.com/twbs/bootstrap/commit/15744ee1d04bcca03155c3bb37ee7e65a7b011c6
//
// Re-assigned maps
//
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
// scss-docs-start theme-colors-rgb
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
// scss-docs-end theme-colors-rgb
// scss-docs-start theme-text-map
$theme-colors-text: (
"primary": $primary-text-emphasis,
"secondary": $secondary-text-emphasis,
"success": $success-text-emphasis,
"info": $info-text-emphasis,
"warning": $warning-text-emphasis,
"danger": $danger-text-emphasis,
"light": $light-text-emphasis,
"dark": $dark-text-emphasis,
) !default;
// scss-docs-end theme-text-map
// scss-docs-start theme-bg-subtle-map
$theme-colors-bg-subtle: (
"primary": $primary-bg-subtle,
"secondary": $secondary-bg-subtle,
"success": $success-bg-subtle,
"info": $info-bg-subtle,
"warning": $warning-bg-subtle,
"danger": $danger-bg-subtle,
"light": $light-bg-subtle,
"dark": $dark-bg-subtle,
) !default;
// scss-docs-end theme-bg-subtle-map
// scss-docs-start theme-border-subtle-map
$theme-colors-border-subtle: (
"primary": $primary-border-subtle,
"secondary": $secondary-border-subtle,
"success": $success-border-subtle,
"info": $info-border-subtle,
"warning": $warning-border-subtle,
"danger": $danger-border-subtle,
"light": $light-border-subtle,
"dark": $dark-border-subtle,
) !default;
// scss-docs-end theme-border-subtle-map
$theme-colors-text-dark: null !default;
$theme-colors-bg-subtle-dark: null !default;
$theme-colors-border-subtle-dark: null !default;
@if $enable-dark-mode {
// scss-docs-start theme-text-dark-map
$theme-colors-text-dark: (
"primary": $primary-text-emphasis-dark,
"secondary": $secondary-text-emphasis-dark,
"success": $success-text-emphasis-dark,
"info": $info-text-emphasis-dark,
"warning": $warning-text-emphasis-dark,
"danger": $danger-text-emphasis-dark,
"light": $light-text-emphasis-dark,
"dark": $dark-text-emphasis-dark,
) !default;
// scss-docs-end theme-text-dark-map
// scss-docs-start theme-bg-subtle-dark-map
$theme-colors-bg-subtle-dark: (
"primary": $primary-bg-subtle-dark,
"secondary": $secondary-bg-subtle-dark,
"success": $success-bg-subtle-dark,
"info": $info-bg-subtle-dark,
"warning": $warning-bg-subtle-dark,
"danger": $danger-bg-subtle-dark,
"light": $light-bg-subtle-dark,
"dark": $dark-bg-subtle-dark,
) !default;
// scss-docs-end theme-bg-subtle-dark-map
// scss-docs-start theme-border-subtle-dark-map
$theme-colors-border-subtle-dark: (
"primary": $primary-border-subtle-dark,
"secondary": $secondary-border-subtle-dark,
"success": $success-border-subtle-dark,
"info": $info-border-subtle-dark,
"warning": $warning-border-subtle-dark,
"danger": $danger-border-subtle-dark,
"light": $light-border-subtle-dark,
"dark": $dark-border-subtle-dark,
) !default;
// scss-docs-end theme-border-subtle-dark-map
}
// Utilities maps
//
// Extends the default `$theme-colors` maps to help create our utilities.
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
// scss-docs-start utilities-colors
$utilities-colors: $theme-colors-rgb !default;
// scss-docs-end utilities-colors
// scss-docs-start utilities-text-colors
$utilities-text: map-merge(
$utilities-colors,
(
"black": to-rgb($black),
"white": to-rgb($white),
"body": to-rgb($body-color)
)
) !default;
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
$utilities-text-emphasis-colors: (
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
"success-emphasis": var(--#{$prefix}success-text-emphasis),
"info-emphasis": var(--#{$prefix}info-text-emphasis),
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
"light-emphasis": var(--#{$prefix}light-text-emphasis),
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
) !default;
// scss-docs-end utilities-text-colors
// scss-docs-start utilities-bg-colors
$utilities-bg: map-merge(
$utilities-colors,
(
"black": to-rgb($black),
"white": to-rgb($white),
"body": to-rgb($body-bg)
)
) !default;
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
$utilities-bg-subtle: (
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
"success-subtle": var(--#{$prefix}success-bg-subtle),
"info-subtle": var(--#{$prefix}info-bg-subtle),
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
"light-subtle": var(--#{$prefix}light-bg-subtle),
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
) !default;
// scss-docs-end utilities-bg-colors
// scss-docs-start utilities-border-colors
$utilities-border: map-merge(
$utilities-colors,
(
"black": to-rgb($black),
"white": to-rgb($white)
)
) !default;
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
$utilities-border-subtle: (
"primary-subtle": var(--#{$prefix}primary-border-subtle),
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
"success-subtle": var(--#{$prefix}success-border-subtle),
"info-subtle": var(--#{$prefix}info-border-subtle),
"warning-subtle": var(--#{$prefix}warning-border-subtle),
"danger-subtle": var(--#{$prefix}danger-border-subtle),
"light-subtle": var(--#{$prefix}light-border-subtle),
"dark-subtle": var(--#{$prefix}dark-border-subtle)
) !default;
// scss-docs-end utilities-border-colors
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
$gutters: $spacers !default;

View File

@@ -1,180 +0,0 @@
// Copied from https://github.com/twbs/bootstrap/commit/15744ee1d04bcca03155c3bb37ee7e65a7b011c6
:root,
[data-bs-theme="light"] {
// Note: Custom variable values only support SassScript inside `#{}`.
// Colors
//
// Generate palettes for full colors, grays, and theme colors.
@each $color, $value in $colors {
--#{$prefix}#{$color}: #{$value};
}
@each $color, $value in $grays {
--#{$prefix}gray-#{$color}: #{$value};
}
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}: #{$value};
}
@each $color, $value in $theme-colors-rgb {
--#{$prefix}#{$color}-rgb: #{$value};
}
@each $color, $value in $theme-colors-text {
--#{$prefix}#{$color}-text-emphasis: #{$value};
}
@each $color, $value in $theme-colors-bg-subtle {
--#{$prefix}#{$color}-bg-subtle: #{$value};
}
@each $color, $value in $theme-colors-border-subtle {
--#{$prefix}#{$color}-border-subtle: #{$value};
}
--#{$prefix}white-rgb: #{to-rgb($white)};
--#{$prefix}black-rgb: #{to-rgb($black)};
// Fonts
// Note: Use `inspect` for lists so that quoted items keep the quotes.
// See https://github.com/sass/sass/issues/2383#issuecomment-336349172
--#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
--#{$prefix}font-monospace: #{inspect($font-family-monospace)};
--#{$prefix}gradient: #{$gradient};
// Root and body
// scss-docs-start root-body-variables
@if $font-size-root != null {
--#{$prefix}root-font-size: #{$font-size-root};
}
--#{$prefix}body-font-family: #{inspect($font-family-base)};
@include rfs($font-size-base, --#{$prefix}body-font-size);
--#{$prefix}body-font-weight: #{$font-weight-base};
--#{$prefix}body-line-height: #{$line-height-base};
@if $body-text-align != null {
--#{$prefix}body-text-align: #{$body-text-align};
}
--#{$prefix}body-color: #{$body-color};
--#{$prefix}body-color-rgb: #{to-rgb($body-color)};
--#{$prefix}body-bg: #{$body-bg};
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
--#{$prefix}emphasis-color: #{$body-emphasis-color};
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};
--#{$prefix}secondary-color: #{$body-secondary-color};
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
--#{$prefix}secondary-bg: #{$body-secondary-bg};
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};
--#{$prefix}tertiary-color: #{$body-tertiary-color};
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
--#{$prefix}tertiary-bg: #{$body-tertiary-bg};
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
// scss-docs-end root-body-variables
@if $headings-color != null {
--#{$prefix}heading-color: #{$headings-color};
}
--#{$prefix}link-color: #{$link-color};
--#{$prefix}link-color-rgb: #{to-rgb($link-color)};
--#{$prefix}link-decoration: #{$link-decoration};
--#{$prefix}link-hover-color: #{$link-hover-color};
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};
@if $link-hover-decoration != null {
--#{$prefix}link-hover-decoration: #{$link-hover-decoration};
}
--#{$prefix}code-color: #{$code-color};
--#{$prefix}highlight-bg: #{$mark-bg};
// scss-docs-start root-border-var
--#{$prefix}border-width: #{$border-width};
--#{$prefix}border-style: #{$border-style};
--#{$prefix}border-color: #{$border-color};
--#{$prefix}border-color-translucent: #{$border-color-translucent};
--#{$prefix}border-radius: #{$border-radius};
--#{$prefix}border-radius-sm: #{$border-radius-sm};
--#{$prefix}border-radius-lg: #{$border-radius-lg};
--#{$prefix}border-radius-xl: #{$border-radius-xl};
--#{$prefix}border-radius-xxl: #{$border-radius-xxl};
--#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
--#{$prefix}border-radius-pill: #{$border-radius-pill};
// scss-docs-end root-border-var
--#{$prefix}box-shadow: #{$box-shadow};
--#{$prefix}box-shadow-sm: #{$box-shadow-sm};
--#{$prefix}box-shadow-lg: #{$box-shadow-lg};
--#{$prefix}box-shadow-inset: #{$box-shadow-inset};
// Focus styles
// scss-docs-start root-focus-variables
--#{$prefix}focus-ring-width: #{$focus-ring-width};
--#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
--#{$prefix}focus-ring-color: #{$focus-ring-color};
// By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
--#{$prefix}focus-ring-box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
// scss-docs-end root-focus-variables
}
@if $enable-dark-mode {
@include color-mode(dark, true) {
color-scheme: dark;
// scss-docs-start root-dark-mode-vars
--#{$prefix}body-color: #{$body-color-dark};
--#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
--#{$prefix}body-bg: #{$body-bg-dark};
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};
--#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
--#{$prefix}secondary-color: #{$body-secondary-color-dark};
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
--#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};
--#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
--#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};
@each $color, $value in $theme-colors-text-dark {
--#{$prefix}#{$color}-text-emphasis: #{$value};
}
@each $color, $value in $theme-colors-bg-subtle-dark {
--#{$prefix}#{$color}-bg-subtle: #{$value};
}
@each $color, $value in $theme-colors-border-subtle-dark {
--#{$prefix}#{$color}-border-subtle: #{$value};
}
@if $headings-color-dark != null {
--#{$prefix}heading-color: #{$headings-color-dark};
}
--#{$prefix}link-color: #{$link-color-dark};
--#{$prefix}link-hover-color: #{$link-hover-color-dark};
--#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};
--#{$prefix}code-color: #{$code-color-dark};
--#{$prefix}border-color: #{$border-color-dark};
--#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
// scss-docs-end root-dark-mode-vars
}
}

View File

@@ -1,77 +0,0 @@
// Copied from https://github.com/twbs/bootstrap/pull/37953
// Dark color mode variables
//
// Custom variables for the `[data-bs-theme="dark"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.
//
// Global colors
//
// scss-docs-start sass-dark-mode-vars
// scss-docs-start theme-text-dark-variables
$primary-text-emphasis-dark: tint-color($primary, 40%) !default;
$secondary-text-emphasis-dark: tint-color($secondary, 40%) !default;
$success-text-emphasis-dark: tint-color($success, 40%) !default;
$info-text-emphasis-dark: tint-color($info, 40%) !default;
$warning-text-emphasis-dark: tint-color($warning, 40%) !default;
$danger-text-emphasis-dark: tint-color($danger, 40%) !default;
$light-text-emphasis-dark: $gray-100 !default;
$dark-text-emphasis-dark: $gray-300 !default;
// scss-docs-end theme-text-dark-variables
// scss-docs-start theme-bg-subtle-dark-variables
$primary-bg-subtle-dark: shade-color($primary, 80%) !default;
$secondary-bg-subtle-dark: shade-color($secondary, 80%) !default;
$success-bg-subtle-dark: shade-color($success, 80%) !default;
$info-bg-subtle-dark: shade-color($info, 80%) !default;
$warning-bg-subtle-dark: shade-color($warning, 80%) !default;
$danger-bg-subtle-dark: shade-color($danger, 80%) !default;
$light-bg-subtle-dark: $gray-800 !default;
$dark-bg-subtle-dark: mix($gray-800, $black) !default;
// scss-docs-end theme-bg-subtle-dark-variables
// scss-docs-start theme-border-subtle-dark-variables
$primary-border-subtle-dark: shade-color($primary, 40%) !default;
$secondary-border-subtle-dark: shade-color($secondary, 40%) !default;
$success-border-subtle-dark: shade-color($success, 40%) !default;
$info-border-subtle-dark: shade-color($info, 40%) !default;
$warning-border-subtle-dark: shade-color($warning, 40%) !default;
$danger-border-subtle-dark: shade-color($danger, 40%) !default;
$light-border-subtle-dark: $gray-700 !default;
$dark-border-subtle-dark: $gray-800 !default;
// scss-docs-end theme-border-subtle-dark-variables
$body-color-dark: $gray-500 !default;
$body-bg-dark: $gray-900 !default;
$body-secondary-color-dark: rgba($body-color-dark, .75) !default;
$body-secondary-bg-dark: $gray-800 !default;
$body-tertiary-color-dark: rgba($body-color-dark, .5) !default;
$body-tertiary-bg-dark: mix($gray-800, $gray-900, 50%) !default;
$body-emphasis-color-dark: $white !default;
$border-color-dark: $gray-700 !default;
$border-color-translucent-dark: rgba($white, .15) !default;
$headings-color-dark: null !default;
$link-color-dark: tint-color($primary, 40%) !default;
$link-hover-color-dark: shift-color($link-color-dark, -$link-shade-percentage) !default;
$code-color-dark: tint-color($code-color, 40%) !default;
//
// Forms
//
$form-select-indicator-color-dark: $body-color-dark !default;
$form-select-indicator-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default;
$form-switch-color-dark: rgba($white, .25) !default;
$form-switch-bg-image-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>") !default;
//
// Accordion
//
$accordion-button-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$primary-text-emphasis-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
$accordion-button-active-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$primary-text-emphasis-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
// scss-docs-end sass-dark-mode-vars

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
/*!
* Copyright (c) 2016-2020 The Inter Project Authors.
* "Inter" is trademark of Rasmus Andersson.
* https://github.com/rsms/inter
* This Font Software is licensed under the SIL Open Font License, Version 1.1.
* This license is copied below, and is also available with a FAQ at:
* http://scripts.sil.org/OFL
*/
/* inter-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 200;
src: url('../fonts/inter-v12-latin-200.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-200.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-200.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 300;
src: url('../fonts/inter-v12-latin-300.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-300.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-300.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 400;
src: url('../fonts/inter-v12-latin-regular.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-regular.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 600;
src: url('../fonts/inter-v12-latin-600.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-600.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-600.svg#Inter') format('svg'); /* Legacy iOS */
}

View File

@@ -1,25 +0,0 @@
---
label: Blog post
hide_body: false
fields:
- type: text
name: author
label: author
- type: text
name: title
label: title
- type: text
name: description
label: description
- type: list
name: tags
label: tags
- type: datetime
name: date
label: date
- type: file
name: thumbnail
label: thumbnail
- type: textarea
name: credits
label: credits

View File

@@ -1,25 +0,0 @@
---
label: Project
hide_body: false
fields:
- type: text
name: author
label: author
- type: text
name: title
label: title
- type: datetime
name: date
label: date
- type: text
name: description
label: description
- type: list
name: tags
label: tags
- type: file
name: thumbnail
label: thumbnail
- type: textarea
name: credits
label: credits

View File

@@ -1,40 +0,0 @@
---
new_page_extension: md
auto_deploy: false
admin_path:
webhook_url:
sections:
- type: directory
path: content/en/blog
label: Blog
create: all
match: "**/*"
templates:
- blog-post
- type: directory
path: content/en/projects
label: Projects
create: all
match: "**/*"
templates:
- project
- type: document
path: content/en/about.md
label: About
upload_dir: assets/img
public_path: "/img"
front_matter_path: ''
use_front_matter_path: false
file_template: ":filename:"
build:
preview_env:
- HUGO_ENV=staging
- HUGO_VERSION=0.92.2
- HUGO_ENABLEGITINFO=true
preview_output_directory: public
install_dependencies_command: npm install
preview_docker_image: forestryio/hugo:node16
mount_path: "/srv"
working_dir: "/srv"
instant_preview_command: npm run start
version: 0.81.0

View File

@@ -6,6 +6,7 @@ enableGitInfo = true
# toml-docs-end main
# additional settings
googleAnalytics = "G-T85PPZ36GN"
baseURL = "https://demo.gethinode.com/"
canonifyURLs = false
enableEmoji = true
@@ -16,9 +17,9 @@ enableInlineShortcodes = true
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
ignoreErrors = ["error-remote-getjson"]
# toml-docs-start build
timeout = "60s"
# toml-docs-end build
# toml-docs-start timeout
timeout = "180s"
# toml-docs-end timeout
# toml-docs-start language
languageCode = "en-us"
@@ -26,6 +27,11 @@ defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true
# toml-docs-end language
# toml-docs-start build
[build]
writeStats = true
# toml-docs-end build
[taxonomies]
tag = 'tags'

View File

@@ -3,6 +3,7 @@
separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
modes = ["light", "dark"]
# toml-docs-end main
# toml-docs-start docs
@@ -16,48 +17,52 @@
sections = ["blog", "projects"]
featurePhoto = "/img/sunrise.jpg" # source: https://unsplash.com/photos/ZX6BPboJrYk
fullCover = false
centerHeadline = false
style = ""
# toml-docs-end home
# toml-docs-start navigation
[navigation]
anchor = true
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
offset = "4em"
offset = "3.8em"
search = true
breadcrumb = false
toc = true
sidebar = true
# toml-docs-end navigation
# toml-docs-start list
[list]
[blog]
# toml-docs-start sections
[sections]
[sections.blog]
title = "Blog"
sort = "date"
reverse = false
reverse = true
cols = 3
color = ""
padding = "0"
header = "full"
footer = "none"
orientation = "stacked"
style = "border-0"
style = "border-0 card-zoom"
homepage = 3
[projects]
separator = true
[sections.projects]
title = "Projects"
sort = "title"
reverse = false
cols = 1
color = ""
color = "body-tertiary"
padding = "3"
header = "none"
footer = "tags"
orientation = "none"
style = "border-1 card-emphasize"
homepage = 3
# toml-docs-end list
separator = false
# toml-docs-end sections
[favicon]
logo = "img/favicon.png"
@@ -65,7 +70,7 @@
# toml-docs-start theme-colors
[style]
primary = "#D43900"
primary = "#d43900"
secondary = "#6c757d"
success = "#198754"
info = "#0dcaf0"
@@ -77,8 +82,12 @@
themeOpacity = "10"
# toml-docs-start font
themeFont = "Inter"
themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap"
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
# toml-docs-end font
# toml-docs-start build
purge = false
# toml-docs-end build
[schema]
type = "Organization"

View File

@@ -8,14 +8,15 @@ for = '/**'
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' \
https://utteranc.es/client.js; \
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com; \
manifest-src 'self'; \
media-src 'self' \
"""

View File

@@ -1,47 +1,40 @@
const autoprefixer = require('autoprefixer');
const purgecss = require('@fullhuman/postcss-purgecss');
const whitelister = require('purgecss-whitelister');
const autoprefixer = require('autoprefixer')({})
const cssnano = require('cssnano')({
preset: 'advanced'
})
const whitelister = require('purgecss-whitelister')
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./hugo_stats.json'],
defaultExtractor: (content) => {
const els = JSON.parse(content).htmlElements
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
},
dynamicAttributes: ['data-bs-theme'],
safelist: [
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./node_modules/bootstrap/scss/_carousel.scss',
'./node_modules/bootstrap/scss/_dropdown.scss',
'./node_modules/bootstrap/scss/_reboot.scss',
'./node_modules/bootstrap/scss/_tooltip.scss',
'./node_modules/bootstrap/scss/_transitions.scss',
'./node_modules/bootstrap/scss/_utilities.scss'
])
]
})
module.exports = {
plugins: [
autoprefixer(),
purgecss({
content: [
'./layouts/**/*.html',
'./content/**/*.md',
],
safelist: [
/lazyloaded/,
/table/,
/thead/,
/tbody/,
/tr/,
/th/,
/td/,
/h5/,
/alert-link/,
/container-xxl/,
/container-fluid/,
/^bg-opacity-\d+/,
/svg.*/,
/fa.*/,
/ratio.*/,
/suggestion.*/,
...whitelister([
'./assets/scss/components/_blockquote.scss',
'./assets/scss/components/_buttons.scss',
'./assets/scss/components/_card.scss',
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_img.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/layouts/_reboot.scss',
'./assets/scss/layouts/type.scss',
'./node_modules/bootstrap/scss/_dropdown.scss',
'./node_modules/bootstrap/scss/_utilities.scss',
]),
],
}),
],
autoprefixer,
cssnano,
purgecss
]
}

View File

@@ -73,7 +73,7 @@ As an example, the following shortcode displays a tooltip for a dark button with
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#" badge="99+" */>}}
{{</* button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#!" badge="99+" */>}}
Inbox
{{</* /button */>}}
{{< /example>}}
@@ -86,20 +86,20 @@ As an example, the following shortcode displays a group of three buttons.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#" */>}}Left{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Middle{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Right{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Left{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Middle{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Right{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Card
As an example, the following shortcode displays a stacked card with icon that links to the [about]({{< ref "about" >}}) page. It includes a custom header.
As an example, the following shortcode displays a stacked card that links to the [about]({{< ref "about" >}}) page. It includes a custom header.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="w-50" color="light" header="publication" footer="none" */>}}
{{</* card path="about" padding="3" class="w-50" color="body-tertiary" header="publication" footer="none" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -166,7 +166,7 @@ echo "goodbye"
## Docs
Use the `docs` shortcode to display the content of a `toml` or `scss` file:
Use the `docs` shortcode to display the content of a `js`, `scss` or `toml` file:
{{< docs name="theme-colors" file="config/_default/params.toml" >}}
@@ -192,13 +192,34 @@ As an example, the following shortcode displays an image with rounded corners an
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Nav
As an example, the following shortcode displays a tab group with vertically aligned pills.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* nav type="pills" vertical="true" */>}}
{{</* nav-item header="Nav Item #1" show="true" */>}}
This is the first item's nav body. It supports HTML content. The item is shown by adding the value
<code>show</code> to the <code>class</code> argument.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #2" */>}}
This is the second item's nav body. It too supports HTML content.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #3" */>}}
This is the third item's nav body.
{{</* /nav-item */>}}
{{</* /nav */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Navbar
As an example, the following shortcode displays a light navigation header.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* navbar path="about" color="primary" size="sm" search="false" menus="sample" title="Brand" */>}}
{{</* navbar path="about" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -236,8 +257,6 @@ As an example, the following shortcode displays a tooltip for a colored hyperlin
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* tooltip color="primary" title="Tooltip" href="#" */>}}
Tooltip demonstration
{{</* /tooltip */>}}
{{</* tooltip color="primary" title="Tooltip" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -73,7 +73,7 @@ De volgende shortcode toont een knop met een label en een aanwijzing.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button color="secondary" tooltip="Toon je ongelezen berichten" href="#" badge="99+" */>}}
{{</* button color="secondary" tooltip="Toon je ongelezen berichten" href="#!" badge="99+" */>}}
Inbox
{{</* /button */>}}
{{< /example>}}
@@ -86,20 +86,20 @@ De volgende shortcode toont een groep van drie knoppen.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#" */>}}Links{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Midden{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Rechts{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Links{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Midden{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Rechts{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Card
De volgende shortcode toont een kaart met een icoon dat linkt naar de [over mij]({{< ref "about" >}}) pagina. De kaart bevat een titel.
De volgende shortcode toont een kaart dat linkt naar de [over mij]({{< ref "about" >}}) pagina. De kaart bevat een titel.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="w-50" color="light" header="publication" footer="none" */>}}
{{</* card path="about" padding="3" class="w-50" color="body-tertiary" header="publication" footer="none" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -192,13 +192,34 @@ De volgende shortcode toont een plaatje met afgeronde hoeken en een 21x9 verhoud
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Nav
De volgende shortcode toont een groep met verticale tabbladen.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* nav type="pills" vertical="true" */>}}
{{</* nav-item header="Nav Item #1" show="true" */>}}
Dit is de inhoud van het eerste element met ondersteuning voor HTML. De waarde <code>show</code>
voor het argument <code>class</code> geeft aan dat het element uitgeklapt moet worden.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #2" */>}}
Dit is de inhoud van het tweede element. Het ondersteunt ook HTML.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #3" */>}}
Dit is de inhoud van het derde element.
{{</* /nav-item */>}}
{{</* /nav */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Navbar
De volgende shortcode toont een navigatiemenu.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* navbar path="about" color="primary" size="sm" search="false" menus="sample" title="Brand" */>}}
{{</* navbar path="about" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
@@ -236,8 +257,6 @@ De volgende shortcode toont een uitleg voor een gekleurde link.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* tooltip color="primary" title="Tooltip" href="#" */>}}
Tooltip demonstration
{{</* /tooltip */>}}
{{</* tooltip color="primary" title="Tooltip" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstratie
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -68,7 +68,7 @@
# 404 page
- id: pageNotFound
translation: "Ups! Diese Seite existiert nicht. Versuche es über die"
translation: "Diese Seite existiert nicht. Versuche es über die"
- id: pageNotFoundTitle
translation: "Nicht gefunden"
- id: pageNotFoundHome

View File

@@ -27,8 +27,14 @@
translation: "Next Post"
- id: recentProjects
translation: "Projects"
- id: moreFeatures
translation: "More Features"
- id: moreGuides
translation: "More Guides"
- id: moreProjects
translation: "More Projects"
- id: moreUsers
translation: "More Users"
- id: read
translation: "read"
- id: minutesShort
@@ -65,12 +71,14 @@
translation: "Auto"
- id: toggleMainNav
translation: "Toggle main navigation"
- id: demo
translation: "Demo"
# 404 page
- id: pageNotFound
translation: "Oops! This page doesn't exist. Try going back to our"
translation: "The page you are looking for does not exist or another error occurred. Try going back to our"
- id: pageNotFoundTitle
translation: "Not found"
translation: "Page not found"
- id: pageNotFoundHome
translation: "home page"

View File

@@ -68,7 +68,7 @@
# 404 page
- id: pageNotFound
translation: "Oeps, deze pagina bestaat niet. Ga terug naar het"
translation: "Deze pagina bestaat niet of er is een andere fout opgetreden. Ga terug naar het"
- id: pageNotFoundTitle
translation: "Niet gevonden"
- id: pageNotFoundHome

View File

@@ -1,8 +1,12 @@
{{ define "main"}}
<main id="main">
<div>
<h1 id="title">{{ T "pageNotFoundTitle" }}</h1>
<p>{{ T "pageNotFound" }} <a href="{{ "/" | relURL }}">{{ T "pageNotFoundHome" }}</a>.</p>
</div>
</main>
<div class="container-xxl flex-fill d-flex align-content-center flex-wrap">
<div class="w-100 text-center">
<span class="text-secondary fw-bold">
<i class="fa-regular fa-face-frown fa-10x"></i>
<p class="display-1 mt-3 fw-bold">404</p>
<p class="fs-3">{{ T "pageNotFoundTitle" }}</p>
</span>
<p>{{ T "pageNotFound" }} <a href="{{ "/" | relURL }}">{{ T "pageNotFoundHome" }}</a>.</p>
</div>
</div>
{{ end }}

View File

@@ -0,0 +1,5 @@
{{ if site.Params.navigation.anchor }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">{{ .Text | safeHTML }} <a href="#{{ .Anchor | safeURL }}"><i class="fa-solid fa-link anchor"></i></a></h{{ .Level }}>
{{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}</h{{ .Level }}>
{{ end }}

View File

@@ -1,12 +1,17 @@
{{- $section := .Section }}
{{- with partial "utilities/GetMenu" . }}{{ $.Scratch.Set "sidebar" . }}{{ end -}}
{{ $.Scratch.Set "version" (site.Param (printf "%s.version" .Section)) }}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js" data-bs-theme="dark">
<html lang="{{ .Site.Language.Lang }}" class="no-js">
<head>
{{ block "head" . }}{{ end -}}
</head>
<body>
{{- if site.Params.main.enableDarkMode -}}
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" .) -}}
{{- end -}}
<div class="d-flex flex-column min-vh-100{{ if and .IsHome .Site.Params.home.style }} {{ .Site.Params.home.style }}{{ end }}">
<div class="{{ if .Site.Params.navigation.fixed }}mb-4{{ end }}">
{{- partial "assets/navbar.html" (dict
@@ -52,6 +57,6 @@
{{- partial "footer/footer.html" . -}}
{{ end -}}
{{- partialCached "footer/scripts.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" .) }}
</body>
</html>

View File

@@ -1,11 +1,12 @@
{{- define "partials/header.html" -}}
{{ if site.Params.navigation.breadcrumb }}{{ partial "breadcrumb.html" . }}{{ end -}}
{{ if site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
{{ if in (slice "docs" "minimal") .Layout }}
<h1>{{ .Title }}</h1>
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
<p class="lead mb-5">{{ .Description }}</p>
{{ else }}
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
<h1>{{ .Title }}</h1>
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
<small class="text-body-secondary text-uppercase">
{{ $datestr | i18n "postedOnDate" -}}
{{ if ne $datestr $lastmodstr -}}&nbsp;({{ $lastmodstr | i18n "lastModified" }}){{ end }} &bull;
@@ -14,34 +15,45 @@
</small>
<div class="mt-3">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-light btn-sm" href="{{ (path.Join .Page.RelPermalink) | relURL }}" role="button">{{ .LinkTitle }}</a>
{{ end -}}
<div class="d-none-dark">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-light btn-sm" href="{{ (path.Join .Page.RelPermalink) | relURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{ end -}}
</div>
<div class="d-none-light">
{{ range (.GetTerms "tags") -}}
<a class="btn btn-outline-secondary btn-sm" href="{{ (path.Join .Page.RelPermalink) | relURL }}" role="button">{{ .LinkTitle }}</a>
&nbsp;
{{ end -}}
</div>
</div>
<p class="lead mb-5 mt-3">{{ .Description }}</p>
{{ end }}
{{ end -}}
{{ define "partials/body.html" -}}
{{ if eq .Layout "docs"}}
<p class="lead mb-5">{{ .Description }}</p>
{{ .Content }}
{{ else }}
<p class="lead mb-5 mt-3">{{ .Description }}</p>
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-md-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
{{- end -}}
{{ if not (in (slice "docs" "minimal") .Layout) }}
{{ if .Params.thumbnail -}}
{{- $credits := "" -}}
{{- if .Params.photoCredits }}{{ if .Params.PhotoSource }}{{ $credits = printf "%s %s %s %s" (T "photoBy") .Params.photoCredits (T "photoOn") .Params.PhotoSource }}{{ end }}{{ end -}}
{{- partial "image.html" (dict "url" .Params.thumbnail "ratio" "21x9" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Params.title "caption" $credits) -}}
{{- partial "assets/image.html" (dict "url" .Params.thumbnail "ratio" "21x9" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Params.title "caption" $credits) -}}
{{ end -}}
{{ .Content }}
{{ end }}
{{ end }}
{{ .Content }}
{{ end -}}
{{ define "partials/footer.html" -}}
{{ if eq .Layout "docs"}}
{{ if eq .Layout "docs" }}
<div class="mt-5 small">
{{ partial "utilities/git.html" . }}
</div>
{{ else }}
{{ else if ne .Layout "minimal" }}
<div class="row row-cols-2 mt-5 mb-3">
<div class="col">
{{ with .NextInSection -}}
@@ -69,29 +81,30 @@
{{ define "main" -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $sidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $sidebar -}}
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-labelledby="offcanvas-label">
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper .Section }}</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
{{ partial "assets/sidebar" (dict "page" . "menu" $menu) }}
{{ partial "assets/sidebar" (dict "page" . "menu" $menu "version" $version) }}
</div>
</div>
<div class="container-fluid">
<div class="container-xxl px-3 px-xxl-0">
<div class="row row-cols-md-2 row-cols-lg-3">
<div class="col col-md-3 col-lg-2 d-none mt-5 d-md-block">
{{ partial "assets/sidebar" (dict "page" . "menu" $menu) }}
<div class="col col-md-3 col-lg-2 d-none pt-5 d-md-block sidebar-overflow sticky-top">
{{ partial "assets/sidebar" (dict "page" . "menu" $menu "version" $version) }}
</div>
<div class="col col-md-9 col-lg-8 mb-5 p-4">
{{ partial "partials/header.html" . }}
{{ partial "partials/body.html" . }}
{{ partial "partials/footer.html" . }}
</div>
<div class="col col-lg-2 d-none d-lg-block mt-5">
<div class="col col-lg-2 d-none d-lg-block pt-5">
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
{{ partial "assets/toc.html" . -}}
{{ end -}}
@@ -99,7 +112,7 @@
</div>
</div>
{{ else }}
<div class="container-fluid">
<div class="container-xxl px-3 px-xxl-0">
<div class="row row-cols-1 row-cols-sm-3">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-12 col-md-8">

View File

@@ -4,11 +4,12 @@
{{- define "main" -}}
{{- $page := . -}}
{{- range $index, $section := site.Params.home.sections -}}
{{- $pages := where site.RegularPages "Type" "in" $section -}}
{{- $sectionURL := "" -}}
{{- range $page := first 1 $pages -}}
{{- $sectionURL = $page.Parent.RelPermalink -}}
{{- range $p := first 1 $pages -}}
{{- $sectionURL = $p.Parent.RelPermalink -}}
{{- end -}}
{{- $moreTitle := (T (printf "more%s" (strings.FirstUpper $section))) -}}

View File

@@ -0,0 +1,132 @@
<!--
Displays a button. The shortcode supports the following arguments:
"title" Required title of the button.
"href" Optional address for the button or hyperlink.
"id" Optional id of the button, to be used in the DOM.
"state" Optional state of the button, either "enabled" (default), "disabled", "active", or "inactive".
"size" Optional size of the button, either "sm", "md" (default), or "lg".
"color" Optional theme color of the element, either "primary" (default), "secondary", "success",
"danger", "warning", "info", "light", "dark", "white", or "black".
"outline" Optional flag indicating the button should be outlined, either "false" (default) or "true".
"badge" Optional positioned badge to display on top of the button.
"aria-label" Optional assistive label for the badge.
"tooltip" Optional text to display in a tooltip. Cannot be used together with collapse. Ignored for active/
inactive buttons.
"collapse" Optional panel to collapse. Cannot be used together with tooltip. Ignored for active/inactive buttons.
"type" Optional type of the element, either "link" or "button" (default).
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
"class" Optional class attribute of the button element, e.g. “toc-button”.
"icon" Optional Font Awesome icon class attribute, e.g. "fas sort".
"order" Optional order of the icon, either "first" or "last" (default).
"justify" Optional justification of the button title and icon, either "start", "end", "center" (default),
"between", "around", or "evenly".
-->
{{- $title := trim .title " \r\n" -}}
{{- if not $title -}}
{{- errorf "partial [assets/button.html] - Missing element title" -}}
{{- end -}}
{{- $id := .id }}
{{- $state := "enabled" -}}
{{- with .state }}{{ $state = . }}{{ end -}}
{{- $supportedStates := slice "enabled" "disabled" "active" "inactive" -}}
{{- if not (in $supportedStates $state) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'state': %s" $state -}}
{{- end -}}
{{- $size := "md" -}}
{{- with .size }}{{ $size = . }}{{ end -}}
{{- $supportedSizes := slice "sm" "md" "lg" -}}
{{- if not (in $supportedSizes $size) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'size': %s" $size -}}
{{- end -}}
{{- $color := "primary" -}}
{{- with .color }}{{ $color = . }}{{ end -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'color': %s" $color -}}
{{- end -}}
{{- $outline := false -}}
{{- with .outline }}{{ $outline = . }}{{ end -}}
{{- $badge := "" -}}
{{- with .badge }}{{ $badge = . }}{{ end -}}
{{- $label := "" -}}
{{- with .label }}{{ $label = . }}{{ end -}}
{{- $tooltip := "" -}}
{{- if not (strings.HasSuffix $state "active") -}}
{{- with .tooltip }}{{ $tooltip = . }}{{ end -}}
{{- end -}}
{{- $href := .href -}}
{{- $collapse := "" -}}
{{- if not (strings.HasSuffix $state "active") -}}
{{- with .collapse }}{{ $collapse = . }}{{ $href = printf "#%s" . }}{{ end -}}
{{- end -}}
{{- if $tooltip -}}
{{- if $collapse -}}
{{- errorf "partial [assets/button.html] - Cannot use tooltip and collapse at the same time" -}}
{{- end -}}
{{- end -}}
{{- $type := "button" -}}
{{- with .type }}{{ $type = . }}{{ end -}}
{{- $supportedTypes := slice "button" "link" -}}
{{- if not (in $supportedTypes $type) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'type': %s" $type -}}
{{- end -}}
{{- $placement := "top" -}}
{{- with .placement }}{{ $placement = . }}{{ end -}}
{{- $supportedPlacements := slice "top" "bottom" "left" "right" -}}
{{- if not (in $supportedPlacements $placement) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'placement': %s" $placement -}}
{{- end -}}
{{- $class := .class }}
{{- $icon := .icon }}
{{- $order := "last" -}}
{{- with .order }}{{ $order = . }}{{ end -}}
{{- $supportedOrders := slice "first" "last" -}}
{{- if not (in $supportedOrders $order) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'order': %s" $order -}}
{{- end -}}
{{- $justify := "center" -}}
{{- with .justify }}{{ $justify = . }}{{ end -}}
{{- $supportedJustify := slice "start" "end" "center" "between" "around" "evenly" -}}
{{- if not (in $supportedJustify $justify) -}}
{{- errorf "partial [assets/button.html] - Invalid value for param 'justify': %s" $justify -}}
{{- end -}}
<a aria-label="{{ $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $id }}id="{{ . }}"{{ end -}}
{{- if eq $type "button" }}class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class }}" role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }}class="link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }}data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }}data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
{{- if eq $state "active" }}data-bs-toggle="button" aria-pressed="true"{{ end -}}
{{- if eq $state "inactive" }}data-bs-toggle="button" aria-pressed="false"{{ end -}}
>
<div class="d-flex justify-content-{{ $justify }}">
<div>{{ $title }}</div>
{{- with $icon }}<div class="align-self-center{{ if eq $order "first" }} order-first pe-1{{ else }} ps-1{{ end }}">{{ partial "assets/icon.html" (dict "icon" $icon) }}</div>{{ end }}
</div>
{{- with $badge }}
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
{{ . }}
{{ with $label }}<span class="visually-hidden">{{ . }}</span>{{ end }}
</span>
{{- end -}}
</a>

View File

@@ -15,6 +15,7 @@
"href" Optional address for the button or hyperlink. If set, a button is added if the list exceeds the
maximum number of cards to display.
"hrefTitle" Optional title of the button or hyperlink as companion to href.
"separator" Optional flag to indicate a horizontal line should be added between items on small screens.
In addition, the following arguments are passed to the individual cards.
"class" Optional class attribute of the card element, e.g. “w-50”.
@@ -30,24 +31,26 @@
{{- $page := .page -}}
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
{{- errorf "Invalid value for param 'page'" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'page'" -}}
{{- end -}}
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
{{ $list := .list }}
{{- if ne (printf "%T" $list) "page.Pages" -}}
{{- errorf "Invalid value for param 'items'" -}}
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
{{ warnf "Type: %T" $list }}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'list'" -}}
{{- end -}}
{{- $count := len $list -}}
{{- $max := .max -}}
{{- if ne (printf "%T" $max) "int" -}}
{{- errorf "Invalid value for param 'max'" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'max'" -}}
{{- end -}}
{{- $max = math.Min $max $count -}}
{{- $cols := .cols -}}
{{- if or (lt $cols 1) (gt $cols 5) -}}
{{- errorf "Invalid value for param 'cols': %d" $cols -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'cols': %d" $cols -}}
{{- end -}}
{{- $colGrid := "row-cols-1" -}}
{{- if eq $cols 2 }}{{ $colGrid = "row-cols-1 row-cols-sm-1 row-cols-md-2" -}}
@@ -57,20 +60,28 @@
{{- $title := .title -}}
{{ $paginate := false }}
{{ with .paginate }}
{{ if ne (printf "%T" .) "bool" }}
{{ errorf "Invalid value for param 'paginate'"}}
{{ end }}
{{ $paginate = . }}
{{ end }}
{{ if not $paginate }}
{{ $list = first $max $list }}
{{ end }}
{{- $paginate := false -}}
{{- with .paginate -}}
{{- if ne (printf "%T" .) "bool" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'paginate'" -}}
{{- end -}}
{{- $paginate = . -}}
{{- end -}}
{{- if not $paginate -}}
{{- $list = first $max $list -}}
{{- end -}}
{{- $moreURL := .href -}}
{{- $moreTitle := .hrefTitle -}}
{{- $separator := false -}}
{{- with .separator -}}
{{- if ne (printf "%T" .) "bool" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'separator'" -}}
{{- end -}}
{{- $separator = . -}}
{{- end -}}
{{- $class := .class -}}
{{- $color := .color -}}
{{- $padding := .padding -}}
@@ -78,56 +89,52 @@
{{- $footer := .footer -}}
{{- $orientation := .orientation -}}
<div class="container-fluid p-4">
{{ with $title }}<h1>{{ . }}</h1>{{ end }}
<div class="container-fluid p-4 px-xxl-0">
{{ with $title }}<p class="display-4 mt-3{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ $paginator := "" }}
{{ if $paginate }}
<div class="row {{ $colGrid }}">
{{ $paginator := $page.Paginate $list }}
{{ range $index, $element := first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $list) }}
<div class="col pt-3 pb-3">
{{- partial "assets/card.html" (dict
"path" $element.File.Path
"class" (printf "h-100 %s" $class)
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
)
-}}
{{ $paginator = $page.Paginate $list }}
{{ $list = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $list) }}
{{ end }}
<div class="row {{ $colGrid }}">
{{ range $index, $element := $list }}
{{- $params := (dict
"class" (printf "h-100 %s" $class)
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
) -}}
{{- if $element.IsPage -}}
{{- $params = merge $params (dict "path" $element.File.Path) -}}
{{- else -}}
{{- $params = merge $params (dict
"title" $element.Title
"href" (or $element.Permalink "#!")
"description" $element.Description
"thumbnail" $element.Params.thumbnail
"icon" $element.Params.icon
) -}}
{{- end -}}
<div class="col pt-3 pb-3">
{{- partial "assets/card.html" $params -}}
</div>
{{- if and (lt $index (sub $max 1)) $separator -}}
<div class="col d-block d-sm-none">
<hr>
</div>
{{- if (lt $index (sub $max 1)) -}}
<div class="col d-block d-sm-none">
<hr>
</div>
{{- end -}}
{{ end }}
</div>
{{- end -}}
{{- end -}}
</div>
{{ if $paginate }}
{{- if gt $paginator.TotalPages 1 -}}
{{- partial "assets/pagination.html" $page -}}
<div class="pt-3">{{ partial "assets/pagination.html" $page }}</div>
{{- end -}}
{{ else }}
<div class="row {{ $colGrid }}">
{{ range $index, $element := $list }}
<div class="col pt-3 pb-3">
{{- partial "assets/card.html" (dict
"path" $element.File.Path
"class" (printf "h-100 %s" $class)
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
)
-}}
</div>
{{- if (lt $index (sub $max 1)) -}}
<div class="col d-block d-sm-none">
<hr>
</div>
{{- end -}}
{{ end }}
</div>
{{ if gt $count $max }}
<a class="btn btn-outline-primary" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
{{ end }}

View File

@@ -8,7 +8,8 @@
"href" Required address for the button or hyperlink.
"class" Optional class attribute of the card element, e.g. “w-50”.
"color": Optional theme color of the card, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", "white", "black", or "body". By default, no color is specified.
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"padding": Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default).
"header" Optional header components of the card, displayed in small caps. Supported values are "full"
(default), "publication", "tags", and "none".
@@ -27,7 +28,7 @@
{{- $color := .color -}}
{{- $description := .description -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
{{ with $description }}<p class="card-text mb-4 {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">{{ . }}</p>{{ end -}}
</a>
@@ -47,7 +48,7 @@
<p class="card-text"><small class="{{ if $color }}text-bg-{{ $color }}{{ else }}text-body-secondary{{ end }} text-uppercase">
{{- if in (slice "full" "publication") $keywords -}}
{{- partial "utilities/date.html" (dict "date" $page.Date "format" "long") -}}&nbsp;&bull;
{{- $page.ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" -}}
{{ $page.ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" -}}
{{- end -}}
{{- if eq $keywords "full" -}}
@@ -58,8 +59,8 @@
{{- if $color }}{{ $link = printf "link-bg-%s" $color }}{{ end -}}
{{- range $index, $tag := first $maxTags ($page.GetTerms "tags") -}}
{{- if gt $index 0 }}&bull;&nbsp;{{ end -}}
<a href="{{ (path.Join $tag.Page.RelPermalink) | relURL }}" class="{{ $link }}" aria-label="tag: {{ $tag.LinkTitle }}">{{ $tag.LinkTitle }}</a>
{{- if gt $index 0 }}&nbsp;&bull;&nbsp;{{ end -}}
<a href="{{ (path.Join $tag.Page.RelPermalink) | relURL }}" class="{{ $link }} tag-link" aria-label="tag: {{ $tag.LinkTitle }}">{{ $tag.LinkTitle }}</a>
{{- end -}}
</small></p>
{{- end -}}
@@ -68,7 +69,7 @@
{{- if .path }}
{{- $page = site.GetPage .path }}
{{- if not $page }}
{{- errorf "Cannot find page: %s" .path -}}
{{- errorf "partial [assets/card.html] - Cannot find page: %s" .path -}}
{{- end }}
{{- end }}
@@ -81,9 +82,9 @@
{{- $color := "" -}}
{{- with .color }}{{ $color = . }}{{ end -}}
{{- if $color -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "Invalid value for param 'color': %s" $color -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'color': %s" $color -}}
{{- end -}}
{{- end -}}
@@ -91,13 +92,13 @@
{{- with .header }}{{ $header = . }}{{ end -}}
{{- $supportedKeywords := slice "full" "publication" "tags" "none" -}}
{{- if not (in $supportedKeywords $header) -}}
{{- errorf "Invalid value for param 'header': %s" $header -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'header': %s" $header -}}
{{- end -}}
{{- $footer := "none" -}}
{{- with .footer }}{{ $footer = . }}{{ end -}}
{{- if not (in $supportedKeywords $footer) -}}
{{- errorf "Invalid value for param 'footer': %s" $footer -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'footer': %s" $footer -}}
{{- end -}}
{{- with $page -}}
@@ -109,7 +110,7 @@
{{- end -}}
{{- if not $href -}}
{{- errorf "Missing value for param 'href'" -}}
{{- errorf "partial [assets/card.html] - Missing value for param 'href'" -}}
{{- end -}}
{{- $class := .class -}}
@@ -118,14 +119,14 @@
{{- with .padding }}{{ $padding = . }}{{ end -}}
{{- $supportedPaddings := slice "0" "1" "2" "3" "4" "5" "auto" -}}
{{- if not (in $supportedPaddings $padding) -}}
{{- errorf "Invalid value for param 'padding': %s" $padding -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'padding': %s" $padding -}}
{{- end -}}
{{- $orientation := "stacked" -}}
{{- with .orientation }}{{ $orientation = . }}{{ end -}}
{{- $supportedOrientations := slice "stacked" "horizontal" "none" -}}
{{- if not (in $supportedOrientations $orientation) -}}
{{- errorf "Invalid value for param 'orientation': %s" $orientation -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'orientation': %s" $orientation -}}
{{- end -}}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
@@ -134,24 +135,20 @@
<div class="row g-0">
<div class="col-4">
{{- if $thumbnail -}}
<a href="{{ $href }}">
{{- partial "image.html" (dict "url" $thumbnail "ratio" "1x1" "outerClass" "h-100 card-img-wrap" "innerClass" "rounded-start card-img-h100" "title" $title) -}}
</a>
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "outerClass" "h-100 card-img-wrap" "innerClass" "rounded-start card-img-h100" "title" $title) -}}
{{- else if $icon -}}
<div class="pt-{{ $padding }} ps-{{ $padding }} pe-{{ $padding }}">
<a href="{{ $href }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
</a>
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
</div>
{{- end -}}
</div>
<div class="col-8">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100">
<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
<div class="h-100">
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
</div>
<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
</div>
</div>
</div>
@@ -159,20 +156,16 @@
{{- else -}}
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
{{- if $thumbnail -}}
<a href="{{ $href }}">
{{- partial "image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" "card-img-wrap" "innerClass" "card-img-top" "title" $title) -}}
</a>
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" "card-img-wrap" "innerClass" "card-img-top" "title" $title) -}}
{{- else if $icon -}}
<div class="pt-{{ $padding }} ps-{{ $padding }} pe-{{ $padding }}">
<a href="{{ $href }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
</a>
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x text-secondary" $icon)) -}}
</div>
{{- end -}}
<div class="card-body d-flex flex-column p-{{ $padding }}">
{{- partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) -}}
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) -}}{{ end }}
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}{{ end }}
</div>
</div>
{{- end -}}

View File

@@ -1,6 +1,6 @@
{{- $icon := .icon -}}
{{- if not $icon -}}
{{- errorf "Expected value for param 'icon'" -}}
{{- errorf "partial [assets/icon.html] - Expected value for param 'icon'" -}}
{{- end -}}
{{- $icon_class := split $icon " " -}}
@@ -12,5 +12,5 @@
{{- else if eq (index $icon_class 0) "fa" -}}
<i class="fa-regular fa-{{ $attr }}"></i>
{{- else -}}
{{- errorf "Unrecognized icon class: %s" $icon_class -}}
{{- errorf "partial [assets/icon.html] - Unrecognized icon class: %s" $icon_class -}}
{{- end -}}

View File

@@ -0,0 +1,187 @@
<!--
Render a local or remote image with responsive image sizing. Images are resized using default media breakpoints
and are converted to webp format. The image is processed using the quality setting specified in the [imaging]
section of the main config file (defaults to 75). A fallback image is provided for older browsers. The image is
wrapped in a figure if a caption is provided, else the image is wrapped in a div with a ratio constraint. The
partial supports the following arguments:
"url": Required relative url of the image, e.g. "img/example.jpg"
"mode": Optional flag indicating if the image should support color modes.
"ratio": Optional ratio of the image, either "1x1", "4x3", "16x9", or "21x9". If set, the image is
resized and cropped to match the ratio. Else the original aspect ratio of the image is kept.
"outerClass": Optional class attribute of the outer div element, e.g. "img-wrap".
"innerClass": Optional class attribute of the inner img element, e.g. "rounded".
"title": Optional alternate text of the image.
"caption": Optional figure caption.
-->
{{- $validRatios := slice "1x1" "4x3" "16x9" "21x9" -}}
{{- $ratio := .ratio -}}
{{- $url := .url -}}
{{- $mode := false -}}
{{- with .mode -}}
{{ $mode = . -}}
{{- end -}}
{{- $outerClass := .outerClass -}}
{{- $innerClass := .innerClass -}}
{{- $title := .title -}}
{{- $caption := .caption -}}
{{- if ne (printf "%T" $mode) "bool" -}}
{{- errorf "partial [assets/image.html] - Invalid value for param 'mode'" -}}
{{- end -}}
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}}
<!-- Generate a fallback image of type jpg -->
{{- define "partials/image-default.html" -}}
{{- $img := .img -}}
{{- $ratio := .ratio -}}
{{- $width := "1400" -}}
{{- $dim := "" -}}
{{- $fallback := "" -}}
{{- with $img -}}
{{- if eq $ratio "4x3" -}}
{{- $dim = "1400x1050" }}
{{- else if eq $ratio "1x1" -}}
{{- $dim = "1400x1400" }}
{{- else if eq $ratio "16x9" -}}
{{- $dim = "1400x788" -}}
{{- else if eq $ratio "21x9" -}}
{{- $dim = "1400x600" -}}
{{- else -}}
{{- $dim = printf "%sx%d" $width (int (math.Round (mul (div (float $width) $img.Width) $img.Height))) -}}
{{- end -}}
{{- if $ratio -}}
{{- $fallback = ($img.Fill (printf "%s jpg" $dim)) -}}
{{- else -}}
{{- $fallback = ($img.Fit (printf "%s jpg" $dim)) -}}
{{- end -}}
{{- $clean := path.Ext $img.RelPermalink -}}
{{- $ext := path.Ext $img.RelPermalink -}}
{{- $fallback = $fallback | resources.Copy (replace $img.RelPermalink $clean (printf "-%s%s" $dim $ext)) -}}
{{- end -}}
{{- return $fallback -}}
{{- end -}}
<!-- Generate a image set of type webp -->
{{- define "partials/image-scaled.html " -}}
{{- $img := .img -}}
{{- $ratio := .ratio -}}
{{- $imgset := "" -}}
{{- $widths := slice "576" "768" "992" "1200" "1400" -}}
{{- $dims := slice -}}
{{- with $img -}}
{{- if eq $ratio "4x3" -}}
{{- $dims = slice "576x432" "768x576" "992x744" "1200x900" "1400x1050" -}}
{{- else if eq $ratio "1x1" -}}
{{- $dims = slice "576x576" "768x768" "992x992" "1200x1200" "1400x1400" -}}
{{- else if eq $ratio "16x9" -}}
{{- $dims = slice "576x324" "768x432" "992x558" "1200x675" "1400x788" -}}
{{- else if eq $ratio "21x9" -}}
{{- $dims = slice "576x247" "768x329" "992x425" "1200x514" "1400x600" -}}
{{- else -}}
{{- range $width := $widths -}}
{{- $dims = $dims | append (printf "%sx%d" $width (int (math.Round (mul (div (float $width) $img.Width) $img.Height)))) -}}
{{- end -}}
{{- end -}}
{{- $scaled := "" -}}
{{- range $index, $dim := $dims -}}
{{- $clean := path.Ext $img.RelPermalink -}}
{{- if $ratio -}}
{{- $scaled = $img.Fill (printf "%s webp" $dim) -}}
{{- else -}}
{{- $scaled = $img.Fit (printf "%s webp" $dim) -}}
{{- end -}}
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%s.webp" $dim)) -}}
{{- $imgset = printf "%s, %s %sw" $imgset $scaled.RelPermalink (index $widths $index) -}}
{{- end -}}
{{- $imgset = strings.TrimPrefix ", " $imgset -}}
{{- end -}}
{{- return $imgset -}}
{{- end -}}
<!-- Define the img with optional caption -->
{{- define "partials/image-definition.html" -}}
{{- $ratio := .ratio -}}
{{- $url := .url -}}
{{- $outerClass := .outerClass -}}
{{- $innerClass := .innerClass -}}
{{- $title := .title -}}
{{- $caption := .caption -}}
{{- $fallbackURL := "" -}}
{{- $imgset := "" -}}
{{- $mode := .mode -}}
{{- $modes := .modes -}}
{{- if hasSuffix $url "svg" -}}
{{- $fallbackURL = $url -}}
{{- else -}}
{{- $img := partial "utilities/GetImage.html" (dict "url" $url) -}}
{{- if $img -}}
{{- $fallback := partial "partials/image-default.html" (dict "img" $img "ratio" $ratio) -}}
{{- $fallbackURL = $fallback.RelPermalink -}}
{{- $imgset = partial "partials/image-scaled.html " (dict "img" $img "ratio" $ratio) -}}
{{- end -}}
{{- end -}}
{{- range $none := $modes -}}
{{- if ne $none $mode -}}
{{- $outerClass = printf "%s d-none-%s" (or $outerClass "") $none -}}
{{- end -}}
{{- end -}}
{{- if $caption -}}
<figure {{ with $outerClass }}class="{{ . }}"{{ end }}>
{{ end }}
<div class="{{ with $ratio }}ratio ratio-{{ . }}{{ end }}{{ if not $caption }} {{ $outerClass }}{{ end }}">
<img class="img-fluid {{ $innerClass }}"
{{ with $imgset -}}
srcset="{{ . }}"
sizes="100vw"
{{- end }}
src="{{ $fallbackURL }}"
alt="{{ $title }}">
</div>
{{- if $caption -}}
<figcaption class="figure-caption">{{ $caption | safeHTML }}</figcaption>
</figure>
{{- end -}}
{{- end -}}
<!-- Initiate the regular or color-mode image -->
{{- if $mode -}}
{{- $ext := path.Ext $url -}}
{{- $base := strings.TrimSuffix $ext $url -}}
{{- range $suffix := $modes -}}
{{- $base = strings.TrimSuffix (printf "-%s" $suffix) $base -}}
{{- end -}}
{{- range $suffix := $modes -}}
{{- $image := printf "%s-%s%s" $base $suffix $ext -}}
{{- partial "partials/image-definition.html" (dict
"ratio" $ratio
"url" $image
"outerClass" $outerClass
"innerClass" $innerClass
"title" $title
"caption" $caption
"mode" $suffix
"modes" $modes)
-}}
{{- end -}}
{{- else -}}
{{- partial "partials/image-definition.html" (dict
"ratio" $ratio
"url" $url
"outerClass" $outerClass
"innerClass" $innerClass
"title" $title
"caption" $caption)
-}}
{{- end -}}

View File

@@ -0,0 +1,94 @@
<!--
Displays a list items with a thumbnail alternating between left and right alignment. The partial supports the
following arguments:
"page" Required context of the current page.
"list" Required array of pages.
"title" Optional title of the card group.
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
In addition, the following arguments are passed to the individual tabs.
"class" Optional class attribute of the tab element, e.g. “w-50”.
"color": Optional theme color of the tab, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", or "body". By default, no color is specified.
-->
<!-- Inline partial to render the list item's content -->
{{- define "partials/list-content.html" -}}
{{- $title := .title -}}
{{- $content := .content -}}
<h2>{{ $title }}</h2>
<div class="fs-md-5 fs-6">{{ $content }}</div>
{{- end -}}
<!-- Inline partial to render the list item's thumbnail -->
{{- define "partials/list-img.html" -}}
{{- $thumbnail := .thumbnail -}}
{{- $style := .style -}}
{{- $mode := .mode -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "outerClass" $style "mode" $mode) -}}
{{- end -}}
{{- $page := .page -}}
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'page'" -}}
{{- end -}}
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
{{ $list := .list }}
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
{{- errorf "partial [assets/list.html] - Invalid value for param 'list'" -}}
{{- end -}}
{{- $title := .title -}}
{{- $class := .class -}}
{{- $color := .color -}}
{{ $vertical := false }}
{{ $type := "pills" }}
<div class="d-none d-md-block p-0">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
<div class="container ratio-section d-flex flex-column">
{{ if eq $index 0 }}
{{ with $title }}<p class="display-4 pt-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-6{{ if $odd }} order-last{{ end }}">
{{- $style := "reveal fade-bottom" -}}
{{ if $item.Params.tilted }}
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
{{ end }}
{{ partial "partials/list-img.html" (dict "thumbnail" $item.Params.Thumbnail "style" $style "mode" $item.Params.colormode) }}
</div>
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
</div>
</div>
</div>
{{ end -}}
</div>
<div class="d-md-none">
{{- range $index, $item := $list -}}
{{- $odd := eq (mod $index 2) 1 -}}
<div class="container d-flex flex-column">
{{ if eq $index 0 }}
{{ with $title }}<p class="display-4 pt-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
<div class="col-12 text-center">
{{ partial "partials/list-img.html" (dict "thumbnail" $item.Params.Thumbnail "mode" $item.Params.colormode) }}
</div>
<div class="col-12 p-3">
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
</div>
</div>
</div>
{{ end -}}
</div>

View File

@@ -0,0 +1,113 @@
<!--
Displays a tab group of multiple items. Each provided page resource is rendered as a tab pane. The shortcode
supports the following arguments:
"page" Required context of the current page.
"list" Required array of pages.
"title" Optional title of the tab group.
"type" Optional type of the tab group, either "tabs", "pills" (default), or "underline".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"class" Optional class attribute of the tab group, e.g. “nav-fill”.
"pane" Optional style of the panes, either "none" (default) or "persona".
"width" Optional responsive width of the tab group, either "50" or "100" (default).
In addition, the following arguments are passed to the individual tabs.
"class" Optional class attribute of the tab element, e.g. “w-50”.
"color": Optional theme color of the tab, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", or "body". By default, no color is specified.
-->
{{- $page := .page -}}
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
{{- errorf "partial [assets/nav.html] - Invalid value for param 'page'" -}}
{{- end -}}
{{- $id := "0" -}}
{{- with .id -}}
{{ $id = . }}
{{ end }}
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
{{ $list := .list }}
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
{{- errorf "partial [assets/nav.html] - Invalid value for param 'list'" -}}
{{- end -}}
{{ $pane := "none" }}
{{ with .pane }}
{{- $supportedPanes := slice "none" "persona" -}}
{{- $pane = . }}
{{- if not (in $supportedPanes $pane) -}}
{{- errorf "partial [assets/nav.html] - Invalid value for param 'pane'" -}}
{{- end -}}
{{ end }}
{{ $supportedWidths := slice 50 100 -}}
{{ $widthParam := 100 -}}
{{ $width := 100 }}
{{ with .width }}{{ $widthParam = . }}{{ end -}}
{{ if in $supportedWidths $widthParam -}}
{{ $width = int $widthParam }}
{{ else -}}
{{ errorf "partial [assets/nav.html] - Invalid value for param 'width': %s" $widthParam -}}
{{ end -}}
{{- $title := .title -}}
{{- $class := .class -}}
{{- $color := .color -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $verticalParam := "false" -}}
{{ $vertical := false }}
{{ with .vertical }}{{ $verticalParam = . }}{{ end -}}
{{ if in $supportedFlags $verticalParam -}}
{{ if eq $verticalParam "true" }}{{ $vertical = true }}{{ else }}{{ $vertical = false }}{{ end -}}
{{ else -}}
{{ errorf "partial [assets/nav.html] - Invalid value for param 'vertical': %s" $verticalParam -}}
{{ end -}}
{{ $type := "pills" }}
{{ with .type }}
{{ $type = . -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}
{{ errorf "partial [assets/nav.html] - Invalid value for param 'type': %s" $type -}}
{{ end -}}
{{ end -}}
{{ end -}}
{{ with $title }}<p class="display-4 pt-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
<div class="{{ if eq $width 50 }}col-sm-12 col-md-10 col-lg-8 col-xl-6{{ else }}col-12{{ end }} mx-auto pt-5 pb-5">
{{ if $vertical }}<div class="d-flex align-items-start">{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- range $index, $item := $list -}}
{{ $show := eq $index 0}}
<button class="nav-link text-nowrap{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $item.Title }}
</button>
{{ end -}}
</div>
<div class="tab-content {{ if eq $type "tabs" }}border border-top-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $list }}
{{ $header := $item.Title }}
{{ $body := $item.Content }}
{{ $show := eq $index 0}}
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
{{- if eq $pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $class
"color" $color
"content" (or $item.Description $item.Content)
"thumbnail" $item.Params.Thumbnail
) -}}
{{- else -}}
{{- (or $item.Description $item.Content) -}}
{{- end -}}
</div>
{{ end }}
</div>
{{ if $vertical }}</div>{{ end }}
</div>

View File

@@ -5,13 +5,49 @@
"size" Optional size of the button, either "sm", "md" (default), or "lg".
"fixed" Optional flag to indicate the navbar should stick to the top, defaults to false.
"color" Optional background color of the navbar, either "primary", "secondary", "success",
"danger", "warning", "info", "light", "dark", "white" or "black". The default color is none.
"danger", "warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". The
default color is none.
"mode" Optional flag to include a color mode switcher, default is "true" (if dark mode is enabled).
"search" Optional flag to include a search input, default is "true".
"logo" Optional address of the logo image, defaults to the parameter "logo" set in the "main" section of
the site's parameter configuration.
"title" Optional brand title, displayed when the logo is not set. Defaults to the site's title.
-->
<!-- Inline partial to render the color mode switcher -->
{{- define "partials/navbar-mode.html" -}}
{{- $id := .id -}}
{{- $size := .size -}}
{{- $collapsed := .collapsed -}}
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $size }}-none{{ else }}d-none d-{{ $size }}-block{{ end }}">
<a class="nav-link dropdown-toggle" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="navbar-color-theme">
{{- partial "assets/icon.html" (dict "icon" "fas sun theme-icon-active") }} {{ if $collapsed }} {{ T "colorMode" }} {{ end }}
<span class="d-md-none"></span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbar-color-theme">
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="light" href="#!">
{{- partial "assets/icon.html" (dict "icon" "fas sun theme-icon") }}
{{ T "colorLight" }}
</a>
</li>
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="dark" href="#!">
{{- partial "assets/icon.html" (dict "icon" "fas moon theme-icon") }}
{{ T "colorDark" }}
</a>
</li>
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="auto" href="#!">
{{- partial "assets/icon.html" (dict "icon" "fas circle-half-stroke theme-icon" ) }}
{{ T "colorAuto" }}
</a>
</li>
</ul>
</li>
{{- end -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- $id := 0 -}}
@@ -19,21 +55,21 @@
{{- $page := .page -}}
{{- if not $page -}}
{{- errorf "Missing value for param 'page'" -}}
{{- errorf "partial [assets/navbar.html] - Missing value for param 'page'" -}}
{{- end -}}
{{- $menuName := "main" }}
{{- with .menus }}{{ $menuName = .}}{{ end -}}
{{- $menus := index site.Menus $menuName -}}
{{- if or (ne (printf "%T" $menus) "navigation.Menu") (ne (index $menus 0).Menu $menuName) -}}
{{- errorf "Invalid value for param 'menus': %s" $menuName -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'menus': %s" $menuName -}}
{{- end -}}
{{- $size := "md" -}}
{{- with .size }}{{ $size = . }}{{ end -}}
{{- $supportedSizes := slice "xs" "sm" "md" "lg" "xl" -}}
{{- if not (in $supportedSizes $size) -}}
{{- errorf "Invalid value for param 'size': %s" $size -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'size': %s" $size -}}
{{- end -}}
{{- $fixedParam := "false" -}}
@@ -42,15 +78,15 @@
{{- if in $supportedFlags $fixedParam -}}
{{- if eq $fixedParam "true" }}{{ $fixed = true }}{{ else }}{{ $fixed = false }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'fixed': %s" $fixedParam -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'fixed': %s" $fixedParam -}}
{{- end -}}
{{- $color := "" -}}
{{- with .color -}}
{{- $color = . -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "Invalid value for param 'color': %s" $color -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'color': %s" $color -}}
{{- end -}}
{{- end -}}
@@ -60,11 +96,20 @@
{{- if in $supportedFlags $searchParam -}}
{{- if eq $searchParam "true" }}{{ $search = true }}{{ else }}{{ $search = false }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'search': %s" $searchParam -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'search': %s" $searchParam -}}
{{- end -}}
{{- end -}}
{{- $enableDarkMode := default true site.Params.main.enableDarkMode -}}
{{- with .mode -}}
{{- $darkModeParam := . -}}
{{- if in $supportedFlags $darkModeParam -}}
{{- if eq $darkModeParam "true" }}{{ $enableDarkMode = site.Params.main.enableDarkMode }}{{ else }}{{ $enableDarkMode = false }}{{ end -}}
{{- else -}}
{{- errorf "partial [assets/navbar.html] - Invalid value for param 'darkMode': %s" $darkModeParam -}}
{{- end -}}
{{- end -}}
{{- $enableLanguage := or $page.IsTranslated site.IsMultiLingual -}}
{{- $logo := site.Params.navigation.logo -}}
@@ -79,19 +124,21 @@
{{- $pre := .Pre -}}
{{- $post := .Post -}}
<nav class="navbar navbar-expand-{{ $size }} {{ with $color }}bg-{{ . }}{{ end }} {{ if $fixed }}fixed-top{{ end }} p-3">
<div class="container-fluid">
<nav class="navbar navbar-expand-{{ $size }} {{ with $color }}bg-{{ . }}{{ end }} {{ if $fixed }}fixed-top{{ end }} p-4">
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
{{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler collapsed ms-n3" 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") -}}
</button>
{{- else -}}
<!-- Insert invisible sidebar toggler to center logo correctly on smaller screens -->
<button class="navbar-toggler collapsed ms-n3 invisible" type="button">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis") -}}
</button>
{{- end -}}
<div class="d-flex">
{{- if $page.Scratch.Get "sidebar" -}}
<button class="navbar-toggler fw-30 collapsed p-0 mx-auto" 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") -}}
</button>
{{- else -}}
<!-- Insert invisible sidebar toggler to center logo correctly on smaller screens -->
<button class="navbar-toggler fw-30 collapsed p-0 mx-auto invisible" type="button">
{{- partial "assets/icon.html" (dict "icon" "fas ellipsis") -}}
</button>
{{- end -}}
</div>
<!-- Insert the brand logo or name -->
<a class="navbar-brand mx-auto" href="{{ site.Home.RelPermalink }}">
@@ -103,12 +150,14 @@
</a>
<!-- Insert main navigation toggler -->
<button id="main-nav-toggler" class="navbar-toggler collapsed me-n3" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent-{{ $id }}"
aria-controls="navbarSupportedContent-{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span>
<span class="toggler-icon bottom-bar emphasis"></span>
</button>
<div class="d-flex fw-30">
<button id="main-nav-toggler" class="navbar-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent-{{ $id }}"
aria-controls="navbarSupportedContent-{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span>
<span class="toggler-icon bottom-bar emphasis"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="navbarSupportedContent-{{ $id }}">
<!-- Insert search input -->
@@ -120,20 +169,21 @@
{{- $menu_item_url := $menu.URL | relLangURL -}}
{{- $page_url:= $page.RelPermalink | relLangURL -}}
{{- $active := hasPrefix $page_url $menu_item_url -}}
{{- $url := urls.Parse .URL -}}
{{- $baseurl := urls.Parse $.Site.Params.Baseurl -}}
{{- if .HasChildren -}}
<li class="nav-item dropdown">
<a class="nav-link {{ if $active }}active{{ end }} dropdown-toggle" href="{{ .URL }}" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ if $active }}<span class="active">{{ .Name }}</span>{{ else }}{{ .Name }}{{ end }}
{{ if $active }}<span class="active">{{ .Name }}</span>{{ else }}{{ .Name }}{{ end }}
</a>
<ul class="dropdown-menu dropdown-menu-end">
{{- range .Children -}}
<li><a class="dropdown-item" href="{{ .URL }}">{{ .Name }}</a></li>
{{- $child_active := eq $page_url .URL -}}
<li><a class="dropdown-item {{ if $child_active }}active{{ end }}" href="{{ .URL }}">{{ .Name }}</a></li>
{{- end -}}
</ul>
</li>
</li>
{{- else -}}
<li class="nav-item">
{{- $external := ne $url.Host $baseurl.Host -}}
@@ -150,18 +200,22 @@
{{- if or $enableLanguage $enableDarkMode -}}
<li class="nav-item py-2 py-md-1 col-12 col-md-auto">
<li class="nav-item py-2 py-md-1 col-12 col-md-auto d-none d-{{ $size }}-block">
<div class="vr d-none d-md-flex h-100 mx-md-2"></div>
</li>
<li><hr class="dropdown-divider-bg"></li>
{{- end -}}
<!-- Insert language switcher if applicable -->
{{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe") }} {{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe") }}
</a>
<ul class="dropdown-menu dropdown-menu-end ">
{{- if $page.IsTranslated -}}
{{- range $page.AllTranslations -}}
@@ -178,32 +232,8 @@
<!-- Insert color mode switcher -->
{{- if $enableDarkMode -}}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="navbar-color-theme">
{{- partial "assets/icon.html" (dict "icon" "fas sun theme-icon-active") }}
<span class="d-md-none"></span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbar-color-theme">
<li>
<a class="dropdown-item" data-bs-theme-value="light">
{{- partial "assets/icon.html" (dict "icon" "fas sun theme-icon") }}
{{ T "colorLight" }}
</a>
</li>
<li>
<a class="dropdown-item" data-bs-theme-value="dark">
{{- partial "assets/icon.html" (dict "icon" "fas moon theme-icon") }}
{{ T "colorDark" }}
</a>
</li>
<li>
<a class="dropdown-item" data-bs-theme-value="auto">
{{- partial "assets/icon.html" (dict "icon" "fas circle-half-stroke theme-icon" ) }}
{{ T "colorAuto" }}
</a>
</li>
</ul>
</li>
{{- partial "partials/navbar-mode.html" (dict "id" $id "size" $size "collapsed" true) -}}
{{- partial "partials/navbar-mode.html" (dict "id" $id "size" $size "collapsed" false) -}}
{{- end -}}
</ul>
</div>

View File

@@ -0,0 +1,94 @@
<!--
Displays a custom persona card. Either specify a valid path, or set the arguments title, href, content, and
thumbnail individually. The latter arguments override any page attributes.
The shortcode supports the following arguments:
"path" Optional path of the page, override with other parameters.
"title" Required title of the card.
"href" Optional address for the button or hyperlink.
"class" Optional class attribute of the card element, e.g. “w-50”.
"color": Optional theme color of the card, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"content" Optional content of the card.
"thumbnail" Optional thumbnail image url, displayed on top or the left of the card.
-->
<!-- Inline partial to render the card's body -->
{{- define "partials/persona-body.html" -}}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $color := .color -}}
{{- $content := .content -}}
<h3>{{ $title }}</h3>
{{ with $content }}<p>{{ . }}</p>{{ end -}}
{{- end -}}
{{- $page := "" }}
{{- if .path }}
{{- $page = site.GetPage .path }}
{{- if not $page }}
{{- errorf "partial [assets/persona.html] - Cannot find page: %s" .path -}}
{{- end }}
{{- end }}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $content := .content -}}
{{- $thumbnail := .thumbnail -}}
{{- $color := "" -}}
{{- with .color }}{{ $color = . }}{{ end -}}
{{- if $color -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "partial [assets/persona.html] - Invalid value for param 'color': %s" $color -}}
{{- end -}}
{{- end -}}
{{- with $page -}}
{{- if not $title }}{{ $title = .Title }}{{ end -}}
{{- if not $href }}{{ $href = .Permalink }}{{ end -}}
{{- if not $content }}{{ $content = .Content }}{{ end -}}
{{- if not $thumbnail }}{{ $thumbnail = .Params.thumbnail }}{{ end -}}
{{- end -}}
{{- $class := .class -}}
<div class="d-none d-md-block">
<div class="persona position-relative row mt-5 align-middle p-3">
<div class="col-2">
<div class="position-absolute top-50 start-0 translate-middle-y col-4 ps-3">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "innerClass" "rounded-5") -}}
{{ end }}
</div>
</div>
<div class="col-10 {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} rounded-5 fs-md-5 fs-6 pe-5 pb-3">
<div class="row">
<div class="col-3"></div>
<div class="col-9">
{{- partial "persona-body.html" (dict "title" $title "href" $href "color" $color "content" $content) -}}
</div>
</div>
</div>
</div>
</div>
<div class="d-md-none">
<div class="persona position-relative row mt-5 align-middle p-3 ptw-5">
<div class="col-12">
<div class="position-absolute top-25 start-50 translate-middle col-6">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "innerClass" "rounded-5") -}}
{{ end }}
</div>
</div>
<div class="col-12 {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} rounded-5 ptw-lg-5 ptw-3 ptw-sm-4 fs-md-5 fs-6 pb-3">
<div class="p-5">
{{- partial "persona-body.html" (dict "title" $title "href" $href "color" $color "content" $content) -}}
</div>
</div>
</div>
</div>

View File

@@ -1,9 +1,9 @@
{{- $page := .page }}
{{- $section := .section }}
{{- if not $section }}{{ errorf "Missing value for param 'section'" }}{{ end -}}
{{- if not $section }}{{ errorf "partial [assets/section-list.html] - Missing value for param 'section'" }}{{ end -}}
{{- $home := .home }}
{{ if ne (printf "%T" $home) "bool" }}
{{ errorf "Invalid value for param 'home'"}}
{{ errorf "partial [assets/section-list.html] - Invalid value for param 'home'"}}
{{ end }}
{{- $title := .title -}}
{{- $moreTitle := .moreTitle -}}
@@ -11,7 +11,8 @@
{{- $paginate := true -}}
{{- $sort := "date" -}}
{{- $reverse := true -}}
{{- $order := "desc" -}}
{{- $separator := false -}}
{{- $orientation := "stacked" -}}
{{- $cols := 3 -}}
{{- $color := "" -}}
@@ -21,11 +22,17 @@
{{- $style := "" -}}
{{- $homepage := 3 -}}
{{- $background := "" -}}
{{- $layout := "card" -}}
{{- $pane := "none" -}}
{{- $type := "pills" -}}
{{- $vertical := "false" -}}
{{- $width := 100 -}}
{{- with (index site.Params $section) -}}
{{- with index . "title" }}{{ $title = . }}{{ end -}}
{{- with (index site.Params.sections $section) -}}
{{- with index . "title" }}{{ $title = or $.title . }}{{ end -}}
{{- with index . "sort" }}{{ $sort = . }}{{ end -}}
{{- if (index . "reverse") }}{{ $reverse = true }}{{ else }}{{ $reverse = false }}{{ end -}}
{{- if (index . "reverse") }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
{{- if (index . "separator") }}{{ $separator = true }}{{ else }}{{ $separator = false }}{{ end -}}
{{- with index . "orientation" }}{{ $orientation = . }}{{ end -}}
{{- with index . "cols" }}{{ $cols = . }}{{ end -}}
{{- with index . "color" }}{{ $color = . }}{{ end -}}
@@ -35,52 +42,80 @@
{{- with index . "style" }}{{ $style = . }}{{ end -}}
{{- with index . "homepage" }}{{ $homepage = . }}{{ end -}}
{{- with index . "background" }}{{ $background = . }}{{ end -}}
{{- with index . "layout" }}{{ $layout = . }}{{ end -}}
{{- with index . "pane" }}{{ $pane = . }}{{ end -}}
{{- with index . "type" }}{{ $type = . }}{{ end -}}
{{- with index . "vertical" }}{{ $vertical = . }}{{ end -}}
{{- with index . "width" }}{{ $width = . }}{{ end -}}
{{- end -}}
{{- $list := where site.RegularPages "Type" "in" $section -}}
{{- $max := (len $list) -}}
{{- if $home -}}
{{- $paginate = false -}}
{{- $max = int (math.Min $homepage $max) -}}
{{ end -}}
{{ $list := where site.RegularPages "Type" "in" $section }}
{{ $max := (len $list) -}}
{{ if eq $max 0 }}
{{- $bundle := site.GetPage $section -}}
{{- $list = $bundle.Resources.Match "*" -}}
{{- $max = len $list -}}
{{ end }}
{{- $list = sort $list (printf "Params.%s" $sort) $order -}}
{{- $cols = int (math.Min $cols $max) -}}
{{- if eq $sort "weight" -}}
{{- $list = $list.ByWeight -}}
{{- else if eq $sort "publication" -}}
{{- $list = $list.ByPublishDate -}}
{{- else if eq $sort "expiration" -}}
{{- $list = $list.ByExpiryDate -}}
{{- else if eq $sort "lastmod" -}}
{{- $list = $list.ByLastmod -}}
{{- else if eq $sort "length" -}}
{{- $list = $list.ByLength -}}
{{- else if eq $sort "title" -}}
{{- $list = $list.ByTitle -}}
{{- else if eq $sort "linktitle" -}}
{{- $list = $list.ByLinkTitle -}}
{{- else if ne $sort "date" -}}
{{- $list = $list.ByParam $sort -}}
{{- $supportedLayouts := slice "card" "list" "nav" -}}
{{- if not (in $supportedLayouts $layout) -}}
{{- errorf "partial [assets/section-list.html] - Invalid value for param 'layout': %s" $layout -}}
{{- end -}}
{{- if $reverse -}}{{- $list = $list.Reverse -}}{{ end -}}
<div class="container-fluid flex-fill p-0{{ with $background }} bg-{{ . }}{{ end }}">
{{- partial "assets/card-group.html" (dict
{{ if gt $max 0 }}
{{- if $home -}}
{{- $paginate = false -}}
{{- $max = int (math.Min $homepage $max) -}}
{{ end -}}
{{- $cols = int (math.Min $cols $max) -}}
{{- $params := (dict
"page" $page
"list" $list
"max" $max
"cols" $cols
"title" $title
"href" $sectionURL
"hrefTitle" $moreTitle
"paginate" $paginate
"class" $style
"orientation" $orientation
"color" $color
"padding" $padding
"header" $header
"footer" $footer
)
)
-}}
</div>
{{- $partial := "" -}}
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }}">
<div class="container-xxl flex-fill p-0">
{{ if eq $layout "card" }}
{{- $partial = "assets/card-group.html" -}}
{{- $params = merge $params (dict
"max" $max
"cols" $cols
"href" $sectionURL
"hrefTitle" $moreTitle
"separator" $separator
"paginate" $paginate
"orientation" $orientation
"padding" $padding
"header" $header
"footer" $footer
)
-}}
{{ else if eq $layout "nav" }}
{{- $partial = "assets/nav.html" -}}
{{- $params = merge $params (dict
"layout" $layout
"id" $section
"pane" $pane
"type" $type
"vertical" $vertical
"width" $width
)
-}}
{{- else -}}
{{- $partial = "assets/list.html" -}}
{{- $params = merge $params (dict
"layout" $layout
)
-}}
{{- end -}}
{{- partial $partial $params -}}
</div>
</div>
{{- end -}}

View File

@@ -1,58 +1,110 @@
{{- $page := .page }}
{{- $section := $page.Section }}
{{- $data := .menu -}}
{{- $version := .version -}}
{{- define "partials/sidebar/group.html" -}}
{{- $page := .page -}}
{{- $index := .index -}}
{{- $level := .level -}}
{{- $baseURL := .baseURL -}}
{{- $group := .group -}}
{{- $doc_slug := $group.title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
<li class="mb-1">
<button class="btn btn-toggle d-inline-flex align-items-center rounded border-0 collapsed" data-bs-toggle="collapse" data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}" aria-expanded="{{ if $collapsed }}true{{ else }}false{{ end }}">
<div class="text-start flex-fill">{{ $group.title }}</div>
</button>
<div class="collapse {{ if $collapsed }}show{{ end }}" id="sidebar-collapse-{{ $index }}-{{ $level }}">
<ul class="btn-toggle-nav list-unstyled fw-normal {{ if eq $level 0}} pb-1 {{ end }}ps-3">
{{- range $item := $group.pages -}}
{{- if $item.pages -}}
{{ partial "partials/sidebar/group.html" (dict
"page" $page
"index" $index
"level" (add $level 1)
"baseURL" $href
"group" $item
)
}}
{{- else -}}
{{ partial "partials/sidebar/item.html" (dict
"page" $page
"sectionBreak" false
"level" $level
"baseURL" $href
"title" $item.title
)
}}
{{ end -}}
{{- end }}
</ul>
</div>
</li>
{{ end -}}
{{- define "partials/sidebar/item.html" -}}
{{ $page := .page }}
{{ $sectionBreak := .sectionBreak }}
{{- $level := .level -}}
{{ $baseURL := .baseURL}}
{{ $title := .title}}
{{- $doc_slug := $title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{ $active := eq $page.RelPermalink $href }}
{{ if eq $level 0}}
<li class="mt-1 mb-1 {{ if $sectionBreak }}border-top{{ end }}"></li>
{{- $sectionBreak = false }}
<li>
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded {{ if $active }}active{{ end }}">
{{ $title }}
</a>
</li>
</ul>
</li>
{{ else }}
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded small {{ if $active }}active{{ end }}">
{{ $title }}
</a>
</li>
{{ end }}
{{ end -}}
{{ if $data }}
<nav class="sidebar flex-shrink-0 ps-1 pt-3 sticky-top" aria-label="{{ (strings.FirstUpper $section) }} navigation">
{{- $url := split $page.Permalink "/" -}}
{{- $page_slug := index $url (sub (len $url) 2) -}}
{{- $sectionBreak := false }}
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
{{- $sectionBreak := false -}}
{{- $level := 0 -}}
{{- $baseURL := relLangURL (path.Join $section $version) }}
<ul class="list-unstyled ps-0">
{{- range $index, $group := $data -}}
{{- $link := $group.title -}}
{{- $link_slug := $link | urlize -}}
{{- if $group.pages -}}
{{- $link = index $group.pages 0 -}}
{{- $link_slug = $link.title | urlize -}}
{{- end -}}
{{- $group_slug := $group.title | urlize -}}
{{- $is_active_group := eq $page.Params.group $group_slug -}}
{{- if $group.pages }}
{{- range $index, $item := $data -}}
{{- if $item.pages }}
{{- $sectionBreak = true }}
<li class="mb-1">
<button class="btn btn-toggle d-inline-flex align-items-center rounded border-0 collapsed" data-bs-toggle="collapse" data-bs-target="#sidebar-collapse-{{ $index }}" aria-expanded="{{ if $is_active_group }}true{{ else }}false{{ end }}">
<div class="text-start flex-fill">{{ $group.title }}</div>
</button>
<div class="collapse {{ if $is_active_group }}show{{ end }}" id="sidebar-collapse-{{ $index }}">
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small">
{{- range $doc := $group.pages -}}
{{- $doc_slug := $doc.title | urlize -}}
{{- $is_active := and $is_active_group (eq $page_slug $doc_slug) -}}
{{- $href := relLangURL (path.Join $section site.Params.docs.version $group_slug $doc_slug) -}}
<li><a href="{{ $href }}" class="d-inline-flex sidebar-item text-decoration-none rounded {{ if $is_active }}active{{ end }}">{{ $doc.title }}</a></li>
{{- end }}
</ul>
</div>
</li>
{{ partial "partials/sidebar/group.html" (dict
"page" $page
"index" $index
"level" (add $level 1)
"baseURL" $baseURL
"group" $item
)
}}
{{- else }}
<li class="mt-1 mb-1 {{ if $sectionBreak }}border-top{{ end }}"></li>
{{- $sectionBreak = false }}
<li>
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
<li>
{{- $doc_slug := $group.title | urlize -}}
{{- $is_active := and $is_active_group (eq $page_slug $doc_slug) -}}
{{- $href := relLangURL (path.Join $section site.Params.docs.version $doc_slug) -}}
<a href="{{ $href }}" class="d-inline-flex sidebar-item text-decoration-none rounded {{ if $is_active }}active{{ end }}">
{{ $group.title }}
</a>
</li>
</ul>
</li>
{{ partial "partials/sidebar/item.html" (dict
"page" $page
"sectionBreak" $sectionBreak
"level" $level
"baseURL" $baseURL
"title" $item.title
)
}}
{{- end }}
{{- end }}
</ul>

View File

@@ -0,0 +1,23 @@
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
{{ if (gt $items 1) -}}
<div class="d-grid gap-2 mx-auto">
{{ partial "assets/button.html" (dict
"title" (T "toc")
"color" "secondary"
"outline" "true"
"class" "toc-button"
"icon" "fas sort"
"justify" "between"
"collapse" "toc-collapse"
"order" "last")
-}}
</div>
<p>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="toc toc-panel text-body-secondary p-2">
<small>{{ .TableOfContents }}</small>
</div>
</div>
</p>
{{ end -}}

View File

@@ -1,6 +1,6 @@
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
{{ if (gt $items 1) -}}
<div class="toc mb-5 my-md-0 ps-xl-3 mb-lg-5 p-3 text-body-secondary sticky-top">
<div class="toc toc-sidebar mb-5 my-md-0 ps-xl-3 mb-lg-5 p-3 text-body-secondary sticky-top">
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
{{ .TableOfContents }}
</div>

View File

@@ -1,105 +0,0 @@
<!--
Displays a button. The shortcode supports the following arguments:
"title" Required title of the button.
"href" Optional address for the button or hyperlink.
"id" Optional id of the button, to be used in the DOM.
"state" Optional state of the button, either "enabled" (default), "disabled", "active", or "inactive".
"size" Optional size of the button, either "sm", "md" (default), or "lg".
"color" Optional theme color of the element, either "primary" (default), "secondary", "success",
"danger", "warning", "info", "light", "dark", "white" or "black".
"outline" Optional flag indicating the button should be outlined, either "false" (default) or "true".
"badge" Optional positioned badge to display on top of the button.
"aria-label" Optional assistive label for the badge.
"tooltip" Optional text to display in a tooltip. Cannot be used together with collapse. Ignored for active/
inactive buttons.
"collapse" Optional panel to collapse. Cannot be used together with tooltip. Ignored for active/inactive buttons.
"type" Optional type of the element, either "link" or "button" (default).
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
-->
{{ $title := trim .title " \r\n" -}}
{{ if not $title -}}
{{ errorf "Missing element title" -}}
{{ end -}}
{{ $id := .id }}
{{ $state := "enabled" -}}
{{ with .state }}{{ $state = . }}{{ end -}}
{{ $supportedStates := slice "enabled" "disabled" "active" "inactive" -}}
{{ if not (in $supportedStates $state) -}}
{{ errorf "Invalid value for param 'state': %s" $state -}}
{{ end -}}
{{ $size := "md" -}}
{{ with .size }}{{ $size = . }}{{ end -}}
{{ $supportedSizes := slice "sm" "md" "lg" -}}
{{ if not (in $supportedSizes $size) -}}
{{ errorf "Invalid value for param 'size': %s" $size -}}
{{ end -}}
{{ $color := "primary" -}}
{{ with .color }}{{ $color = . }}{{ end -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}
{{ if not (in $supportedColors $color) -}}
{{ errorf "Invalid value for param 'color': %s" $color -}}
{{ end -}}
{{ $outline := false -}}
{{ with .outline }}{{ $outline = . }}{{ end -}}
{{ $badge := "" -}}
{{ with .badge }}{{ $badge = . }}{{ end -}}
{{ $label := "" -}}
{{ with .label }}{{ $label = . }}{{ end -}}
{{ $tooltip := "" -}}
{{ if not (strings.HasSuffix $state "active") -}}
{{ with .tooltip }}{{ $tooltip = . }}{{ end -}}
{{ end -}}
{{ $href := .href -}}
{{ $collapse := "" -}}
{{ if not (strings.HasSuffix $state "active") -}}
{{ with .collapse }}{{ $collapse = . }}{{ $href = printf "#%s" . }}{{ end -}}
{{ end -}}
{{ if $tooltip -}}
{{ if $collapse -}}
{{ errorf "Cannot use tooltip and collapse at the same time" -}}
{{ end -}}
{{ end -}}
{{ $type := "button" -}}
{{ with .type }}{{ $type = . }}{{ end -}}
{{ $supportedTypes := slice "button" "link" -}}
{{ if not (in $supportedTypes $type) -}}
{{ errorf "Invalid value for param 'type': %s" $type -}}
{{ end -}}
{{ $placement := "top" -}}
{{ with .placement }}{{ $placement = . }}{{ end -}}
{{ $supportedPlacements := slice "top" "bottom" "left" "right" -}}
{{ if not (in $supportedPlacements $placement) -}}
{{ errorf "Invalid value for param 'placement': %s" $placement -}}
{{ end -}}
<a {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end }}
{{ with $id }}id="{{ . }}"{{ end }}
{{ if eq $type "button" }}class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }}" role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end }}
{{ else }}class="link-{{ $color }} position-relative"{{ end }}
{{ with $tooltip }}data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end }}
{{ with $collapse }}data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end }}
{{ if eq $state "active" }}data-bs-toggle="button" aria-pressed="true"{{ end }}
{{ if eq $state "inactive" }}data-bs-toggle="button" aria-pressed="false"{{ end }}
>
{{ $title -}}
{{ with $badge }}
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
{{ . }}
{{ with $label }}<span class="visually-hidden">{{ . }}</span>{{ end }}
</span>
{{ end }}
</a>

View File

@@ -1,7 +1,9 @@
<footer class="container-fluid text-center p-3">
<small class="text-secondary">
{{- $copyright := printf "%s © %s %s All rights reserved." (i18n "copyright") (dateFormat "2006" now) .Site.Title }}
{{ cond (gt (len .Site.Copyright) 0) .Site.Copyright $copyright }}
{{ .Site.Params.footer.license | safeHTML }}
</small>
<div class="container-xxl text-center">
<small class="text-secondary">
{{- $copyright := printf "%s © %s %s All rights reserved." (i18n "copyright") (dateFormat "2006" now) .Site.Title }}
{{ cond (gt (len .Site.Copyright) 0) .Site.Copyright $copyright }}
{{ .Site.Params.footer.license | safeHTML }}
</small>
</div>
</footer>

View File

@@ -1,15 +1,28 @@
{{ $filename := "js/main.bundle.js" -}}
{{ if hugo.IsProduction }}{{ $filename = "js/main.bundle.min.js" }}{{ end -}}
{{ $filename := .filename | default "js/main.bundle.js" -}}
{{ $match := .match | default "{js/*.js,js/vendor/**.js}" }}
{{ $page := .page }}
{{ $header := .header }}
{{ $files := slice -}}
{{ range $index, $file := resources.Match "js/**.js" -}}
{{ range $index, $file := resources.Match $match -}}
{{ $files = $files | append $file -}}
{{ end -}}
{{ $bundle := $files | resources.Concat $filename -}}
{{ $js := $bundle | resources.ExecuteAsTemplate $filename . -}}
{{- if not hugo.IsProduction -}}
<script src="{{ $js.RelPermalink }}"></script>
{{ else -}}
{{ $js = $js | minify | fingerprint -}}
<script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
{{ if gt (len $files) 0 }}
{{ $bundle := $files | resources.Concat $filename -}}
{{ $js := $bundle | resources.ExecuteAsTemplate $filename $page -}}
{{- if and (not site.IsServer) $header -}}
{{- $pc := site.Config.Privacy.GoogleAnalytics -}}
{{- if and (not $pc.Disable) (hasPrefix site.GoogleAnalytics "G-") }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.GoogleAnalytics }}"></script>
{{- end }}
{{- end -}}
{{- if not hugo.IsProduction -}}
<script src="{{ $js.RelPermalink }}"></script>
{{ else -}}
{{ $js = $js | minify | fingerprint -}}
<script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
{{ end -}}
{{ end -}}

View File

@@ -3,10 +3,10 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{ hugo.Generator}}
{{ partial "head/stylesheet.html" -}}
{{ partial "head/stylesheet.html" . -}}
{{ partial "head/seo.html" . }}
{{ partialCached "head/favicon.html" . -}}
{{ if gt (len .Site.Languages) 1}}
<meta name="lang" content="{{ .Site.Language }}" />
<meta name="lang" content="{{ .Site.Language }}">
{{ end }}
{{ end }}

View File

@@ -1,16 +1,42 @@
{{- $options := (dict "targetPath" "main.css" "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules")) -}}
{{- if hugo.IsProduction }}{{ $options = merge $options (dict "outputStyle" "compressed") }}{{ end -}}
{{- $navbarOffset := "0em" -}}
{{- if .Site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4em" }}{{ end }}
{{- $vars := dict
"theme-font" (default "Inter" .Site.Params.style.themeFont)
"primary" (default "#007bff" .Site.Params.style.primary)
"secondary" (default "#6c757d" .Site.Params.style.secondary)
"success" (default "#198754" .Site.Params.style.success)
"info" (default "#0dcaf0" .Site.Params.style.info)
"warning" (default "#ffc107" .Site.Params.style.warning)
"danger" (default "#dc3545" .Site.Params.style.danger)
"light" (default "#f8f9fa" .Site.Params.style.light)
"dark" (default "#212529" .Site.Params.style.dark)
"navbar-offset" $navbarOffset
"enable-dark-mode" (printf "%t" ((default true .Site.Params.main.enableDarkMode)))
"import-fonts" (printf "%t" (not (hasPrefix (lower .Site.Params.style.themeFontPath) "http")))
-}}
{{- $options := (dict "transpiler" "libsass" "targetPath" "css/main.css" "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules") "vars" $vars) -}}
{{/*- $options := (dict "transpiler" "dartsass" "targetPath" "css/main.css" "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules") "vars" $vars) -*/}}
{{- if hugo.IsProduction -}}
{{- $options = merge $options (dict "outputStyle" "compressed") -}}
{{- else -}}
{{- $options = merge $options (dict "outputStyle" "expanded") -}}
{{- end -}}
{{- $css := resources.Get "scss/app.scss" | resources.ExecuteAsTemplate "style.app.scss" . | toCSS $options -}}
{{- partial "head/icons.html" (dict "css" $css) -}}
{{- if .Site.Params.style.purge -}}
{{- $post_options := dict "config" "config" -}}
{{- $css = $css | resources.PostCSS $post_options -}}
{{- end -}}
<!-- TODO: add proper postCSS purge -->
{{- if eq (hugo.Environment) "development" -}}
{{- if not hugo.IsProduction -}}
<link rel="stylesheet" href="{{ $css.Permalink | relURL }}">
{{- else -}}
{{- $css = $css | fingerprint -}}
{{- $css = $css | fingerprint | resources.PostProcess -}}
<link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous">
{{- end -}}
{{- if hasPrefix (lower .Site.Params.style.themeFontPath) "http" -}}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="{{ site.Params.style.themeFontPath | default "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" }}">
<link rel="stylesheet" href="{{ .Site.Params.style.themeFontPath | default "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" }}">
{{- end -}}

View File

@@ -1,7 +1,7 @@
<!-- Copied from doks -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="{{ .Site.Params.twitterSite }}">
<meta name="twitter:creator" content="{{ .Site.Params.twitterCreator }}">
{{ with .Site.Params.twitterSite }}<meta name="twitter:site" content="{{ . }}">{{ end }}
{{ with .Site.Params.twitterCreator }}<meta name="twitter:creator" content="{{ . }}">{{ end }}
<meta name="twitter:title" content="{{ $.Scratch.Get "title" }}">
<meta name="twitter:description" content="{{ $.Scratch.Get "description" }}">
<meta name="twitter:image" content="{{ $.Scratch.Get "thumbnail" }}">

View File

@@ -1,18 +1,20 @@
<div class="container-fluid flex-fill bg-primary bg-opacity-{{ .Site.Params.style.themeOpacity | default "25" | safeHTML }} p-4">
<div class="row row-cols-1 row-cols-sm-3 align-items-center pt-5 pb-5 h-100">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-6 col-md-4 text-center text-sm-start">
<p class="fs-1 fw-bold">{{ .Title }}</p>
<p>{{ .Content }}</p>
{{ if .Site.Params.feature.link }}
<p><a class="btn btn-primary" href="{{ .Site.Params.feature.link | safeURL }}" role="button">{{ .Site.Params.feature.caption | default (T "about") }}</a></p>
{{ end }}
<div class="container-fluid flex-fill bg-primary bg-opacity-{{ .Site.Params.style.themeOpacity | default "25" | safeHTML }}">
<div class="container-xxl p-4">
<div class="row row-cols-1 row-cols-sm-3 align-items-center pt-5 pb-5 h-100">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-6 col-md-4 text-center text-sm-start">
<p class="display-4">{{ .Title }}</p>
<p>{{ .Content }}</p>
{{ if .Site.Params.feature.link }}
<p><a class="btn btn-primary" href="{{ .Site.Params.feature.link | safeURL }}" role="button">{{ .Site.Params.feature.caption | default (T "about") }}</a></p>
{{ end }}
</div>
<div class="col col-sm-6 col-md-4">
{{ if .Site.Params.home.featurePhoto }}
{{- partial "assets/image.html" (dict "url" .Site.Params.home.featurePhoto "ratio" "4x3" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Site.Title) -}}
{{ end }}
</div>
<div class="col col-md-2 d-none d-md-block"></div>
</div>
<div class="col col-sm-6 col-md-4">
{{ if .Site.Params.home.featurePhoto }}
{{- partial "image.html" (dict "url" .Site.Params.home.featurePhoto "ratio" "4x3" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Site.Title) -}}
{{ end }}
</div>
<div class="col col-md-2 d-none d-md-block"></div>
</div>
</div>

View File

@@ -1,117 +0,0 @@
<!--
Render a local or remote image with responsive image sizing. Images are resized using default media breakpoints
and are converted to webp format. The image is processed using the quality setting specified in the [imaging]
section of the main config file (defaults to 75). A fallback image is provided for older browsers. The image is
wrapped in a figure if a caption is provided, else the image is wrapped in a div with a ratio constraint. The
partial supports the following arguments:
"url": Required relative url of the image, e.g. "img/example.jpg"
"ratio": Optional ratio of the image, either "1x1", "4x3", "16x9", or "21x9". If set, the image is
resized and cropped to match the ratio. Else the original aspect ratio of the image is kept.
"outerClass": Optional class attribute of the outer div element, e.g. "img-wrap".
"innerClass": Optional class attribute of the inner img element, e.g. "rounded".
"title": Optional alternate text of the image.
"caption": Optional figure caption.
-->
{{- $validRatios := slice "1x1" "4x3" "16x9" "21x9" }}
{{ $ratio := .ratio -}}
{{ $url := .url -}}
{{ $outerClass := .outerClass -}}
{{ $innerClass := .innerClass -}}
{{ $title := .title -}}
{{ $caption := .caption -}}
{{ $inner := .inner -}}
{{- $img := partial "utilities/GetImage.html" (dict "url" $url) -}}
{{ with $img -}}
{{ $smDim := "" -}}
{{ $mdDim := "" -}}
{{ $lgDim := "" -}}
{{ $xlDim := "" -}}
{{ $xxlDim := "" -}}
{{ if eq $ratio "4x3" -}}
{{ $smDim = "576x432" -}}
{{ $mdDim = "768x576" -}}
{{ $lgDim = "992x744" -}}
{{ $xlDim = "1200x900" -}}
{{ $xxlDim = "1400x1050" -}}
{{ else if eq $ratio "1x1" -}}
{{ $smDim = "576x576" -}}
{{ $mdDim = "768x768" -}}
{{ $lgDim = "992x992" -}}
{{ $xlDim = "1200x1200" -}}
{{ $xxlDim = "1400x1400" -}}
{{ else if eq $ratio "16x9" -}}
{{ $smDim = "576x324" -}}
{{ $mdDim = "768x432" -}}
{{ $lgDim = "992x558" -}}
{{ $xlDim = "1200x675" -}}
{{ $xxlDim = "1400x788" -}}
{{ else if eq $ratio "21x9" -}}
{{ $smDim = "576x247" -}}
{{ $mdDim = "768x329" -}}
{{ $lgDim = "992x425" -}}
{{ $xlDim = "1200x514" -}}
{{ $xxlDim = "1400x600" -}}
{{ else }}
{{ $smDim = printf "576x%d" (int (math.Round (mul (div 576.0 $img.Width) $img.Height))) -}}
{{ $mdDim = printf "768x%d" (int (math.Round (mul (div 768.0 $img.Width) $img.Height))) -}}
{{ $lgDim = printf "992x%d" (int (math.Round (mul (div 992.0 $img.Width) $img.Height))) -}}
{{ $xlDim = printf "1200x%d" (int (math.Round (mul (div 1200.0 $img.Width) $img.Height))) -}}
{{ $xxlDim = printf "1400x%d" (int (math.Round (mul (div 1400.0 $img.Width) $img.Height))) -}}
{{ end -}}
{{- $sm := "" -}}
{{ $md := "" -}}
{{ $lg := "" -}}
{{ $xl := "" -}}
{{ $xxl := "" -}}
{{ $fallback := "" -}}
{{ if $ratio }}
{{- $sm = ($img.Fill (printf "%s webp" $smDim)) -}}
{{ $md = ($img.Fill (printf "%s webp" $mdDim)) -}}
{{ $lg = ($img.Fill (printf "%s webp" $lgDim)) -}}
{{ $xl = ($img.Fill (printf "%s webp" $xlDim)) -}}
{{ $xxl = ($img.Fill (printf "%s webp" $xxlDim)) -}}
{{ $fallback = ($img.Fill (printf "%s jpg" $xxlDim)) -}}
{{ else }}
{{- $sm = ($img.Fit (printf "%s webp" $smDim)) -}}
{{ $md = ($img.Fit (printf "%s webp" $mdDim)) -}}
{{ $lg = ($img.Fit (printf "%s webp" $lgDim)) -}}
{{ $xl = ($img.Fit (printf "%s webp" $xlDim)) -}}
{{ $xxl = ($img.Fit (printf "%s webp" $xxlDim)) -}}
{{ $fallback = ($img.Fit (printf "%s jpg" $xxlDim)) -}}
{{ end}}
{{- with $caption -}}
<figure class="figure">
<img class="figure-img img-fluid {{ $innerClass }}"
srcset="
{{- with $xxl.RelPermalink -}}{{.}} 1400w{{- end -}}
{{- with $xl.RelPermalink -}}, {{.}} 1200w{{- end -}}
{{- with $lg.RelPermalink -}}, {{.}} 992w{{- end -}}
{{- with $md.RelPermalink -}}, {{.}} 768w{{- end -}}
{{- with $sm.RelPermalink -}}, {{.}} 576w{{- end -}}"
sizes="100vw"
src="{{ $fallback.RelPermalink }}"
alt="{{ $title }}">
<figcaption class="figure-caption">{{ . | safeHTML }}</figcaption>
{{ $inner }}
</figure>
{{- else -}}
<div class="{{ with $ratio }}ratio ratio-{{ . }}{{ end }} {{ $outerClass }}">
<img class="img-fluid {{ $innerClass }}"
srcset="
{{- with $xxl.RelPermalink -}}{{.}} 1400w{{- end -}}
{{- with $xl.RelPermalink -}}, {{.}} 1200w{{- end -}}
{{- with $lg.RelPermalink -}}, {{.}} 992w{{- end -}}
{{- with $md.RelPermalink -}}, {{.}} 768w{{- end -}}
{{- with $sm.RelPermalink -}}, {{.}} 576w{{- end -}}"
sizes="100vw"
src="{{ $fallback.RelPermalink }}"
alt="{{ $title }}">
{{ $inner }}
</div>
{{- end -}}
{{- end -}}

View File

@@ -0,0 +1,12 @@
<!--
Retrieve the value from a key-value pair. The expected format is 'key="value"', including double quotes for the
value. Returns -1 when no valid value is found.
-->
{{- $input := (split . "=") -}}
{{- $val := -1 -}}
{{- if gt (len $input) 1 -}}
{{- $val = trim (index $input 1) "\"" -}}
{{- end -}}
{{- return $val -}}

View File

@@ -11,7 +11,7 @@
{{ if .Parent }}
{{ errorf "Missing value for param 'header': %s" .Parent.Position -}}
{{ else }}
{{ errorf "Missing value for param 'header': %s" .Position -}}
{{ errorf "Missing value for param 'header': %s" .Position -}}
{{ end }}
{{ end -}}

View File

@@ -15,5 +15,5 @@
{{- end -}}
{{- if not $error -}}
{{- partial "breadcrumb.html" $page -}}
{{- partial "assets/breadcrumb.html" $page -}}
{{- end -}}

View File

@@ -6,7 +6,7 @@
"state" Optional state of the button, either "enabled" (default), "disabled", "active", or "inactive".
"size" Optional size of the button, either "sm", "md" (default), or "lg".
"color": Optional theme color of the element, either "primary" (default), "secondary", "success",
"danger", "warning", "info", "light", "dark", "white" or "black".
"danger", "warning", "info", "light", "dark", "white", or "black".
"outline" Optional flag indicating the button should be outlined, either "false" (default) or "true".
"badge" Optional positioned badge to display on top of the button.
"aria-label" Optional label for the badge.
@@ -78,5 +78,19 @@
{{ end -}}
{{ if not $error }}
{{- partial "button.html" (dict "type" $type "title" $title "size" $size "color" $color "outline" $outline "badge" $badge "label" $label "tooltip" $tooltip "collapse" $collapse "href" $href "id" $id "state" $state "placement" $placement) -}}
{{- partial "assets/button.html" (dict
"type" $type
"title" $title
"size" $size
"color" $color
"outline" $outline
"badge" $badge
"label" $label
"tooltip" $tooltip
"collapse" $collapse
"href" $href
"id" $id
"state" $state
"placement" $placement)
-}}
{{ end }}

View File

@@ -3,7 +3,8 @@
"path" Required path of the page.
"class" Optional class attribute of the card element, e.g. “w-50”.
"color": Optional theme color of the card, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", "white" or "black". By default, no color is specified.
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"padding": Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default).
"header" Optional header components of the card, displayed in small caps. Supported values are "full"
(default), "publication", "tags", and "none".
@@ -26,7 +27,7 @@
{{ $color := "" -}}
{{ with .Get "color" }}{{ $color = . }}{{ end -}}
{{ if $color }}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{ if not (in $supportedColors $color) -}}
{{ errorf "Invalid value for param 'color': %s" .Position -}}
{{ $error = true -}}

View File

@@ -9,21 +9,26 @@
{{- $name := .Get "name" -}}
{{- $basePath := .Site.Params.docs.basePath -}}
{{- $file := path.Join $basePath (path.Clean (.Get "file")) -}}
{{- $extension := path.Ext $file -}}
{{- $file := .Get "file" }}
{{- if hasPrefix $file "./" -}}
{{- $file = path.Clean $file -}}
{{- else -}}
{{- $file = path.Join $basePath (path.Clean $file) -}}
{{- end -}}
{{- $extension := strings.TrimLeft "." (path.Ext $file) }}
{{- $capture_start := "" -}}
{{- $capture_end := "" -}}
{{- $id := printf "docs-collapse-%d" .Ordinal -}}
{{- $supportedExtensions := slice ".scss" ".toml" -}}
{{- $supportedExtensions := slice "js" "scss" "toml" -}}
{{- if in $supportedExtensions $extension -}}
{{- if eq $extension ".toml" }}
{{- if eq $extension "toml" }}
{{- $capture_start = printf "# toml-docs-start %s" $name -}}
{{- $capture_end = printf "# toml-docs-end %s" $name -}}
{{- else -}}
{{- $capture_start = printf "// scss-docs-start %s" $name -}}
{{- $capture_end = printf "// scss-docs-end %s" $name -}}
{{- $capture_start = printf "// %s-docs-start %s" $extension $name -}}
{{- $capture_end = printf "// %s-docs-end %s" $extension $name -}}
{{- end -}}
{{- else -}}
{{- errorf "File format not supported (line %s): %s" .Position $file -}}
@@ -71,7 +76,7 @@
</ul>
<div class="border-start border-end border-bottom mb-3">
<div class="collapse multi-{{ $id }}{{ if $show }} show{{ end }} syntax-highlight" id="body-{{ $id }}">
{{- highlight (trim $match "\r\n") "toml" "" -}}
{{- highlight (trim $match "\r\n") $extension "" -}}
</div>
<div class="collapse multi-{{ $id }}{{ if not $show }} show{{ end }} p-3" id="footer-{{ $id }}"><i>...</i></div>
</div>

View File

@@ -33,11 +33,6 @@
{{- end -}}
<div class="d-flex align-items-center ps-3 pe-3 py-1 border-top border-bottom syntax-highlight">
<small class="font-monospace text-body-secondary text-uppercase">{{- $lang -}}</small>
<!-- <div class="d-flex ms-auto">
<button type="button" class="mt-0 me-0 border-0" title="Copy to clipboard">
<i class="fa-regular fa-clipboard"></i>
</button>
</div> -->
</div>
<div class="rounded-bottom syntax-highlight">
{{- if eq $show_markup true -}}

View File

@@ -9,6 +9,7 @@
"class": Optional class attribute of the inner img element, e.g. "rounded".
"title": Optional alternate text of the image.
"caption": Optional figure caption.
"mode": Optional flag indicating if the image should support color modes.
-->
{{- if isset .Params "src" -}}
@@ -24,8 +25,24 @@
{{- $class := .Get "class" -}}
{{ $title := .Get "title" -}}
{{ $caption := .Get "caption" -}}
{{- partial "image.html" (dict "url" $url "ratio" $ratio "innerClass" $class "title" $title "caption" $caption) -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $modeParam := "false" -}}
{{ $mode := false -}}
{{ with .Get "mode" }}{{ $modeParam = . }}{{ end -}}
{{ if in $supportedFlags $modeParam -}}
{{ if eq $modeParam "true" }}{{ $mode = true }}{{ else }}{{ $mode = false }}{{ end -}}
{{ else -}}
{{ errorf "Invalid value for param 'mode': %s" $modeParam -}}
{{ end -}}
{{- partial "assets/image.html" (dict
"url" $url
"ratio" $ratio
"innerClass" $class
"title" $title
"caption" $caption
"mode" $mode)
-}}
{{ else -}}
{{ errorf "Missing value for param 'src': %s" .Position -}}
{{ end -}}

View File

@@ -18,9 +18,10 @@
{{- if $src -}}
<div class="carousel-item {{ if eq .Ordinal 0 }}active{{ end }}">
{{ partial "image.html" (dict "url" $src "ratio" $ratio "innerClass" "d-block w-100") }}
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "innerClass" "d-block w-100") }}
<div class="carousel-caption gradient"></div>
{{ with $caption }}
<div class="carousel-caption d-none d-md-block gradient">
<div class="carousel-caption d-none d-md-block">
<div class="d-flex justify-content-center align-items-end h-100 w-100 p-4">{{ . }}</div>
</div>
{{ end }}

View File

@@ -0,0 +1,54 @@
<!--
Defines an individual nav item. The shortcode supports the following arguments:
"header" Required header of the nav item.
"class" Optional class attribute of the inner nav item.
"show" Optional flag to indicate an item should be shown.
-->
{{- $id := .Ordinal -}}
{{- $parent := printf "nav-%d" .Parent.Ordinal -}}
{{- with (.Parent.Get "id") -}}
{{- $parent = . -}}
{{- end -}}
{{- $fade := false -}}
{{- if eq (.Parent.Get "fade") "true" -}}
{{- $fade = true -}}
{{- end -}}
{{- $header := .Get "header" -}}
{{- if not $header -}}
{{- if .Parent -}}
{{- errorf "Missing value for param 'header': %s" .Parent.Position -}}
{{- else -}}
{{- errorf "Missing value for param 'header': %s" .Position -}}
{{- end -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $body := trim .Inner " \r\n" -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- $showParam := "false" -}}
{{- $show := false -}}
{{- with .Get "show" }}{{ $showParam = . }}{{ end -}}
{{- if in $supportedFlags $showParam -}}
{{- if eq $showParam "true" }}{{ $show = true }}{{ else }}{{ $show = false }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'show': %s" $showParam -}}
{{- end -}}
{{- $disabledParam := "false" -}}
{{- $disabled := false -}}
{{- with .Get "disabled" }}{{ $disabledParam = . }}{{ end -}}
{{- if in $supportedFlags $disabledParam -}}
{{- if eq $disabledParam "true" }}{{ $disabled = true }}{{ else }}{{ $disabled = false }}{{ end -}}
{{- else -}}
{{- errorf "Invalid value for param 'disabled': %s" $disabledParam -}}
{{- end -}}
<div class="tab-pane{{ if $show }} active {{ if $fade}}show{{ end }}{{ end }} {{ if $fade}}fade{{ end }}" id="{{ $parent }}-{{ $id }}"
role="tabpanel" aria-labelledby="{{ $parent }}-btn-{{ $id }}" tabindex="0" data-header="{{ $header }}" {{ if $show }}data-show-id="{{ $id }}"{{ end }}
data-has-content="{{ gt (len $body) 0 }}" {{ if $disabled }} data-disabled-id="{{ $id }}"{{ end }}>
{{ $body | markdownify | safeHTML }}
</div>

View File

@@ -0,0 +1,77 @@
<!--
Displays a tab group of multiple items. Add nav-item inner elements for each tab pane. The shortcode supports the
following arguments:
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"fade" Optional flag to make tab panes fade in.
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
-->
{{- $id := printf "nav-%d" .Ordinal -}}
{{ with .Get "id" }}
{{ $id = . }}
{{ end }}
{{- $class := .Get "class" -}}
{{ $type := .Get "type" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}
{{ errorf "Invalid value for param 'type': %s" $type -}}
{{ end -}}
{{ end -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $verticalParam := "false" -}}
{{ $vertical := false -}}
{{ with .Get "vertical" }}{{ $verticalParam = . }}{{ end -}}
{{ if in $supportedFlags $verticalParam -}}
{{ if eq $verticalParam "true" }}{{ $vertical = true }}{{ else }}{{ $vertical = false }}{{ end -}}
{{ else -}}
{{ errorf "Invalid value for param 'vertical': %s" $verticalParam -}}
{{- end -}}
{{ $fadeParam := "false" -}}
{{ with .Get "fade" }}{{ $fadeParam = . }}{{ end -}}
{{ if not (in $supportedFlags $fadeParam) -}}
{{ errorf "Invalid value for param 'fade': %s" $fadeParam -}}
{{- end -}}
{{- if and (eq $type "tabs") $vertical -}}
{{- errorf "Tabs do not support vertical layout" -}}
{{- end -}}
{{- $inner := .Inner -}}
{{- $items := findRE "data-header=\"(.+?)\"" $inner -}}
{{- $showVal := findRE "data-show-id=\"(.+?)\"" $inner -}}
{{- $showID := -1 -}}
{{- if gt (len $showVal) 0 -}}
{{- $showID = int (partial "utilities/GetVal.html" (index $showVal 0)) -}}
{{- end -}}
{{ $disabled := slice -}}
{{- $disabledVal := findRE "data-disabled-id=\"(.+?)\"" $inner -}}
{{- range $item := $disabledVal -}}
{{- $disabled = $disabled | append (int (partial "utilities/GetVal.html" $item)) -}}
{{- end -}}
{{- $hasContent := gt (len (findRE "data-has-content=\"true\"" $inner)) 0 -}}
{{ if $vertical }}<div class="d-flex align-items-start">{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- range $index, $item := $items -}}
{{- $header := partial "utilities/GetVal.html" $item -}}
{{- $itemDisabled := in $disabled $index -}}
<button class="nav-link text-nowrap{{ if eq $index $showID }} active{{ end }} {{ if $itemDisabled}} disabled {{end }}" id="{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#{{ $id }}-{{ $index }}"
type="button" role="tab" aria-controls="{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
{{ $header }}
</button>
{{ end -}}
</div>
{{- if $hasContent -}}
<div class="tab-content {{ if eq $type "tabs" }}border border-top-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{- $inner -}}
</div>
{{- end -}}
{{ if $vertical }}</div>{{ end }}

View File

@@ -7,13 +7,17 @@
"size" Optional breakpoint of the navbar toggler, either "xs", "sm", "md" (default), "lg", or "xl".
"style" Optional style of the navbar, either "light" (default) or "dark".
"color" Optional background color of the navbar, either "primary", "secondary", "success",
"danger", "warning", "info", "light", "dark", "white" or "black". The default color is none.
"danger", "warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". The
default color is none.
"mode" Optional flag to include a color mode switcher, default is "true" (if dark mode is enabled).
"search" Optional flag to include a search input, default is "true".
"logo" Optional address of the logo image.
"title" Optional brand title, displayed when the logo is not set.
-->
{{ $error := false }}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body" "body-tertiary" -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $id := add .Ordinal 1 }}
@@ -49,7 +53,6 @@
{{ $color := "" -}}
{{ with .Get "color" }}
{{ $color = . }}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" -}}
{{ if not (in $supportedColors $color) -}}
{{ errorf "Invalid value for param 'color': %s" $color -}}
{{ $error = true -}}
@@ -58,12 +61,18 @@
{{ $searchParam := "true" -}}
{{ with .Get "search" }}{{ $searchParam = . }}{{ end -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ if not (in $supportedFlags $searchParam) -}}
{{ errorf "Invalid value for param 'search': %s" .Position -}}
{{ $error = true -}}
{{ end -}}
{{ $modeParam := "true" -}}
{{ with .Get "mode" }}{{ $modeParam = . }}{{ end -}}
{{ if not (in $supportedFlags $modeParam) -}}
{{ errorf "Invalid value for param 'mode': %s" .Position -}}
{{ $error = true -}}
{{ end -}}
{{ $logo := "" -}}
{{ with .Get "logo" }}{{ $logo = . }}{{ end -}}
@@ -71,5 +80,17 @@
{{ with .Get "title" }}{{ $title = . }}{{ end -}}
{{ if not $error -}}
{{- partial "assets/navbar.html" (dict "id" $id "page" $page "size" $size "style" $style "color" $color "search" $searchParam "menus" $menus "logo" $logo "title" $title) -}}
{{- partial "assets/navbar.html" (dict
"id" $id
"page" $page
"size" $size
"style" $style
"color" $color
"search" $searchParam
"mode" $modeParam
"menus" $menus
"logo" $logo
"title" $title
)
-}}
{{ end -}}

View File

@@ -0,0 +1,33 @@
<!--
Displays a custom persona card. The shortcode supports the following arguments:
"path" Required path of the page.
"class" Optional class attribute of the card element, e.g. “w-50”.
"color": Optional theme color of the card, either "primary", "secondary", "success", "danger",
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
-->
{{- $error := false -}}
{{- $path := .Get "path" -}}
{{- $page := .Site.GetPage $path -}}
{{- if not $page -}}
{{- errorf "Invalid or missing value for param 'path': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $color := "" -}}
{{- with .Get "color" }}{{ $color = . }}{{ end -}}
{{- if $color -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" "body" "body-tertiary" -}}
{{- if not (in $supportedColors $color) -}}
{{- errorf "Invalid value for param 'color': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- end -}}
{{- if not $error -}}
{{- partial "assets/persona.html" (dict "path" $path "class" $class "color" $color) -}}
{{- end -}}

View File

@@ -1,7 +1,7 @@
<!--
Displays a spinner. The shortcode supports the following arguments:
"color": Optional theme color of the alert, either "primary" (default), "secondary", "success", "danger",
"warning", "info", "light", "dark", "white" or "black".
"warning", "info", "light", "dark", "white", or "black".
"grow" Optional flag to indicate the spinner is growing instead of rotating, defaults to false.
"class": Optional class attribute of the spinner wrapping element, e.g. “text-center”.
-->

View File

@@ -1,9 +1,21 @@
{{ $input := .Inner | markdownify }}
{{ $input = replace $input "style=\"text-align:left\"" "class=\"text-start\"" }}
{{ $input = replace $input "style=\"text-align:center\"" "class=\"text-center\"" }}
{{ $input = replace $input "style=\"text-align:right\"" "class=\"text-end\"" }}
{{ $class := .Get 0 | default "" }}
{{ $old := "<table>" }}
{{ $new := printf "<table class=\"table %s\">" $class }}
{{ $input := replace $input $old $new }}
{{ $input | safeHTML }}
{{- $responsiveVals := slice "table-responsive" "table-responsive-none" "table-responsive-sm" "table-responsive-md" "table-responsive-lg" "table-responsive-xl" "table-responsive-xxl" -}}
{{- $responsive := intersect .Params $responsiveVals -}}
{{- $main := complement $responsive .Params -}}
{{- if in $responsive "table-responsive-none" -}}
{{- $responsive = "" -}}
{{- else if not $responsive -}}
{{ $responsive = (slice "table-responsive") -}}
{{- end -}}
{{- $input := .Inner | markdownify }}
{{- $input = replace $input "style=\"text-align:left\"" "class=\"text-start\"" -}}
{{- $input = replace $input "style=\"text-align:center\"" "class=\"text-center\"" -}}
{{- $input = replace $input "style=\"text-align:right\"" "class=\"text-end\"" -}}
{{- $class := delimit $main " " -}}
{{- $old := "<table>" -}}
{{- $new := printf "<table class=\"table %s\">" $class -}}
{{ $input := replace $input $old $new -}}
{{- with $responsive }}<div class="{{ delimit . " " }}">{{ end -}}
{{ $input | safeHTML }}
{{- with $responsive }}</div>{{ end -}}

View File

@@ -1,7 +1,7 @@
<!--
Displays a tooltip for a link. The shortcode supports the following arguments:
"color": Optional theme color of the element, either "primary" (default), "secondary", "success",
"danger", "warning", "info", "light", "dark", "white" or "black".
"danger", "warning", "info", "light", "dark", "white", or "black".
"title" Required text to display in the tooltip.
"href" Required address for the button or hyperlink.
"placement" Optional position of the tooltip: "top" (default), "bottom", "left", or "right".
@@ -41,5 +41,5 @@
{{ end -}}
{{ if not $error }}
{{- partial "button.html" (dict "type" $type "title" $title "color" $color "tooltip" $tooltip "href" $href "placement" $placement) -}}
<div class="d-inline-flex">{{- partial "assets/button.html" (dict "type" $type "title" $title "color" $color "tooltip" $tooltip "href" $href "placement" $placement) -}}</div>
{{ end }}

View File

@@ -1,9 +1,9 @@
{{ define "main" }}
<div class="container-fluid">
<div class="row row-cols-1 row-cols-sm-3 align-items-center p-3">
<div class="container-xxl px-3 px-xxl-0">
<div class="row row-cols-1 row-cols-sm-3">
<div class="col col-md-2 d-none d-md-block"></div>
<div class="col col-sm-12 col-md-8">
<h1>{{ .Name | humanize }}</h1>
<p class="display-4 mt-5">{{ .Name | humanize }}</p>
{{ if eq .Kind "taxonomy" }}
<div class="row mt-5"></div>

View File

@@ -24,15 +24,20 @@
X-XSS-Protection = "1; mode=block"
Content-Security-Policy = """\
default-src 'self'; \
child-src 'self' app.netlify.com; \
script-src 'self' \
https://utteranc.es/client.js; \
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
app.netlify.com netlify-cdp-loader.netlify.app \
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' \
netlify.app https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com \
app.netlify.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com; \
manifest-src 'self'; \
media-src 'self' \
"""

4356
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.9.0",
"version": "0.12.6",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -17,11 +17,11 @@
},
"scripts": {
"prestart": "npm run clean",
"start": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender",
"prod": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender -e production",
"start": "hugo server --bind=0.0.0.0 --disableFastRender",
"start:prod": "hugo server --bind=0.0.0.0 --disableFastRender -e production",
"prebuild": "npm run clean",
"build": "exec-bin node_modules/.bin/hugo/hugo --gc --minify",
"build:debug": "exec-bin node_modules/.bin/hugo/hugo -e debug --debug",
"build": "hugo --gc --minify",
"build:debug": "hugo -e debug --debug",
"build:preview": "npm run build -D -F",
"clean": "rimraf public resources",
"clean:install": "rimraf package-lock.json node_modules",
@@ -31,14 +31,13 @@
"lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\"",
"lint:markdown-fix": "markdownlint-cli2-fix \"*.md\" \"content/**/*.md\"",
"test": "npm run -s lint",
"env": "exec-bin node_modules/.bin/hugo/hugo env",
"env": "hugo env",
"precheck": "npm version",
"check": "exec-bin node_modules/.bin/hugo/hugo version",
"check": "hugo version",
"copy:fonts": "shx cp ./node_modules/@fortawesome/fontawesome-free/webfonts/* ./static/fonts/",
"create:syntax-light": "exec-bin node_modules/.bin/hugo/hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
"create:syntax-dark": "exec-bin node_modules/.bin/hugo/hugo gen chromastyles --style=github-dark > ./assets/scss/components/_syntax-dark.scss",
"create:syntax-light": "hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
"create:syntax-dark": "hugo gen chromastyles --style=github-dark > ./assets/scss/components/_syntax-dark.scss",
"create:syntax": "npm run -s create:syntax-light & npm run -s create:syntax-dark",
"postinstall": "hugo-installer --version otherDependencies.hugo --extended --destination node_modules/.bin/hugo",
"upgrade": "npx npm-check-updates -u"
},
"repository": {
@@ -52,27 +51,28 @@
},
"homepage": "https://gethinode.com",
"devDependencies": {
"@fortawesome/fontawesome-free": "^6.3.0",
"@fortawesome/fontawesome-free": "^6.4.0",
"@fullhuman/postcss-purgecss": "^5.0.0",
"autoprefixer": "^10.4.13",
"bootstrap": "^5.3.0-alpha1",
"eslint": "^8.34.0",
"autoprefixer": "^10.4.14",
"bootstrap": "^5.3.0-alpha3",
"cssnano": "^6.0.0",
"cssnano-preset-advanced": "^6.0.0",
"eslint": "^8.39.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.6.1",
"eslint-plugin-n": "^15.7.0",
"eslint-plugin-promise": "^6.1.1",
"exec-bin": "^1.0.0",
"flexsearch": "^0.7.31",
"hugo-installer": "^4.0.1",
"markdownlint-cli2": "^0.6.0",
"hugo-bin": "^0.102.0",
"markdownlint-cli2": "^0.7.0",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
"rimraf": "^4.1.2",
"rimraf": "^5.0.0",
"shx": "^0.3.4",
"stylelint": "^15.1.0",
"stylelint-config-standard-scss": "^7.0.0"
"stylelint": "^15.6.0",
"stylelint-config-standard-scss": "^9.0.0"
},
"otherDependencies": {
"hugo": "0.110.0"
"hugo-bin": {
"buildTags": "extended"
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,350 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="Inter" horiz-adv-x="1838" ><font-face
font-family="Inter ExtraLight"
units-per-em="2816"
panose-1="2 0 5 3 0 0 0 2 0 4"
ascent="2728"
descent="-680"
alphabetic="0" />
<glyph unicode=" " horiz-adv-x="792" />
<glyph unicode="!" horiz-adv-x="752" d="M443 2048L436 597H316L309 2048H443ZM376 -13Q331 -13 300 18T268 95Q268 139 300 171T376 203Q420 203 452 171T484 95Q484 65 470 41T431 2T376 -13Z" />
<glyph unicode="&quot;" horiz-adv-x="1019" d="M353 2048V1387H237V2048H353ZM780 2048V1387H664V2048H780Z" />
<glyph unicode="#" horiz-adv-x="1781" d="M1028 0L1364 2048H1473L1137 0H1028ZM59 613L77 723H1605L1587 613H59ZM308 0L644 2048H753L417 0H308ZM176 1325L195 1435H1723L1704 1325H176Z" />
<glyph unicode="$" horiz-adv-x="1748" d="M827 -256V2304H924V-256H827ZM1400 1536Q1384 1727 1245 1845T884 1963Q735 1963 619 1908T437 1758T371 1540Q371 1461 401 1398T488 1285T621 1198T791 1133L1015 1067Q1130 1032 1227 986T1397 877T1510 728T1551
532Q1551 370 1468 242T1231 41T869 -33Q671 -33 525 34T293 220T197 496H325Q335 369 406 277T597 134T869 84Q1034 84 1160 140T1357 298T1428 533Q1428 641 1377 718T1227 851T980 951L741 1023Q501 1096 375 1222T248 1536Q248 1694 332 1816T560 2009T887
2079Q1070 2079 1210 2009T1432 1816T1523 1536H1400Z" />
<glyph unicode="%" horiz-adv-x="2213" d="M1272 376V455Q1272 572 1317 663T1442 806T1629 859Q1736 859 1816 807T1940 663T1985 455V376Q1985 259 1941 168T1816 24T1629 -28Q1523 -28 1443 24T1317 167T1272 376ZM1383 455V376Q1383 243 1450 158T1629 72Q1741
72 1808 157T1875 376V455Q1875 588 1809 673T1629 759Q1518 759 1451 674T1383 455ZM228 1593V1672Q228 1789 273 1880T398 2024T585 2076Q692 2076 772 2024T896 1881T941 1672V1593Q941 1477 897 1386T772 1242T585 1189Q479 1189 399 1241T273 1385T228 1593ZM339
1672V1593Q339 1460 406 1375T585 1289Q697 1289 764 1374T831 1593V1672Q831 1805 765 1890T585 1976Q474 1976 407 1891T339 1672ZM336 0L1741 2048H1868L463 0H336Z" />
<glyph unicode="&amp;" horiz-adv-x="1696" d="M769 -28Q594 -28 459 45T246 242T168 523Q168 627 209 713T333 884T545 1064L844 1287Q970 1381 1028 1463T1087 1653Q1087 1781 1000 1872T777 1963Q685 1963 609 1916T487 1792T441 1629Q441 1561 473 1495T566
1349T712 1164L1644 0H1496L640 1067Q541 1189 469 1281T358 1456T319 1631Q319 1754 379 1854T543 2014T775 2073Q903 2073 1001 2018T1154 1867T1209 1653Q1209 1522 1140 1416T924 1197L588 947Q420 819 356 719T291 523Q291 403 353 304T522 145T767 84Q905
86 1022 138T1228 283T1374 506T1448 795L1567 789Q1557 664 1523 565T1445 389T1359 260Q1347 244 1336 229T1312 200Q1211 91 1065 32T769 -28Z" />
<glyph unicode="&apos;" horiz-adv-x="592" d="M353 2048V1387H237V2048H353Z" />
<glyph unicode="(" horiz-adv-x="932" d="M319 864Q319 1206 402 1528T643 2144H757Q683 2008 625 1854T527 1534T465 1200T443 864Q443 641 481 415T589 -23T757 -416H643Q486 -121 403 201T319 864Z" />
<glyph unicode=")" horiz-adv-x="932" d="M613 864Q613 522 530 200T289 -416H175Q249 -280 307 -126T405 194T467 528T489 864Q489 1087 451 1313T343 1751T175 2144H289Q446 1849 529 1527T613 864Z" />
<glyph unicode="*" horiz-adv-x="1408" d="M651 896L656 1389L231 1137L177 1231L609 1472L177 1713L231 1807L656 1555L651 2048H757L752 1555L1177 1807L1231 1713L799 1472L1231 1231L1177 1137L752 1389L757 896H651Z" />
<glyph unicode="+" horiz-adv-x="1813" d="M848 193V1407H965V193H848ZM300 741V859H1513V741H300Z" />
<glyph unicode="," horiz-adv-x="745" d="M493 280L475 175Q457 72 430 -57T373 -307T320 -500H225Q239 -428 259 -324T302 -93T345 168L363 280H493Z" />
<glyph unicode="-" horiz-adv-x="1256" d="M1032 936V820H224V936H1032Z" />
<glyph unicode="." horiz-adv-x="733" d="M367 -13Q322 -13 291 18T259 95Q259 139 290 171T367 203Q411 203 443 171T475 95Q475 65 461 41T422 2T367 -13Z" />
<glyph unicode="/" horiz-adv-x="941" d="M860 2144L200 -308H83L743 2144H860Z" />
<glyph unicode="0" horiz-adv-x="1696" d="M848 -28Q643 -28 496 98T271 459T192 1024Q192 1352 271 1588T496 1950T848 2076Q1053 2076 1199 1950T1425 1588T1504 1024Q1504 695 1426 460T1200 98T848 -28ZM848 88Q1097 88 1239 335T1381 1024Q1381 1318 1317
1528T1133 1849T848 1961Q599 1961 457 1713T315 1024Q315 730 379 521T562 200T848 88Z" />
<glyph unicode="1" horiz-adv-x="1201" d="M788 2048V0H663V1916H651L191 1611V1745L647 2048H788Z" />
<glyph unicode="2" horiz-adv-x="1733" d="M244 0V95L907 859Q1049 1023 1132 1137T1251 1343T1287 1535Q1287 1660 1229 1756T1070 1907T841 1961Q707 1961 606 1902T449 1742T392 1515H271Q271 1674 345 1801T548 2002T844 2076Q1007 2076 1134 2005T1334 1812T1407
1535Q1407 1422 1369 1318T1237 1085T980 768L424 127V116H1499V0H244Z" />
<glyph unicode="3" horiz-adv-x="1749" d="M883 -28Q701 -28 558 41T332 232T245 512H372Q375 387 443 292T625 142T881 88Q1034 88 1149 148T1330 310T1395 540Q1395 676 1324 778T1126 938T831 996H755V1112H831Q974 1112 1087 1164T1265 1313T1331 1540Q1331
1663 1274 1758T1117 1907T881 1961Q751 1961 646 1908T478 1759T415 1536H292Q294 1695 372 1817T583 2007T883 2076Q1053 2076 1181 2005T1381 1813T1453 1544Q1453 1366 1355 1240T1088 1064V1053Q1287 1009 1403 872T1519 540Q1519 380 1437 251T1212 47T883
-28Z" />
<glyph unicode="4" horiz-adv-x="1720" d="M193 460V560L1120 2048H1196V1855H1131L344 587V576H1527V460H193ZM1141 0V494V539V2048H1263V0H1141Z" />
<glyph unicode="5" horiz-adv-x="1643" d="M801 -28Q637 -28 509 41T306 233T229 512H352Q356 326 481 207T801 88Q951 88 1065 160T1245 358T1309 640Q1309 806 1239 930T1052 1122T793 1191Q681 1191 583 1151T416 1047L275 1067L396 2048H1356V1932H503L409
1165H419Q491 1229 590 1268T807 1308Q979 1308 1121 1224T1348 990T1432 641Q1431 449 1350 298T1127 60T801 -28Z" />
<glyph unicode="6" horiz-adv-x="1679" d="M855 -28Q726 -27 610 27T405 197T264 495T212 933Q212 1162 248 1368T364 1733T570 1984T879 2076Q1037 2076 1157 2008T1350 1818T1437 1536H1313Q1292 1723 1180 1841T879 1960Q613 1960 473 1700T332 956H343Q383
1052 461 1125T643 1240T860 1281Q1026 1281 1163 1196T1384 963T1467 628Q1467 451 1390 302T1176 62T855 -28ZM855 88Q995 88 1105 161T1280 356T1344 628Q1344 778 1278 900T1100 1093T847 1165Q737 1165 643 1121T482 998T383 820T365 608Q388 447 455 331T625
151T855 88Z" />
<glyph unicode="7" horiz-adv-x="1563" d="M297 0L1248 1921V1932H155V2048H1384V1928L432 0H297Z" />
<glyph unicode="8" horiz-adv-x="1709" d="M855 -28Q669 -28 520 46T285 248T199 533Q198 658 252 768T402 955T619 1059V1068Q464 1117 367 1249T269 1548Q269 1697 346 1816T557 2006T855 2076Q1017 2076 1150 2007T1361 1818T1440 1548Q1440 1382 1344 1250T1091
1068V1059Q1212 1034 1306 957T1455 769T1511 533Q1510 375 1424 248T1189 47T855 -28ZM855 88Q1008 88 1128 148T1317 310T1387 540Q1386 669 1316 774T1125 941T855 1003Q704 1003 584 941T393 774T323 540Q322 413 391 311T581 148T855 88ZM855 1111Q984 1111
1088 1169T1255 1325T1317 1543Q1317 1663 1256 1757T1090 1906T855 1961Q724 1961 619 1907T453 1758T392 1543Q392 1423 453 1325T620 1169T855 1111Z" />
<glyph unicode="9" horiz-adv-x="1679" d="M824 2076Q953 2076 1069 2021T1274 1852T1415 1556T1467 1119Q1467 890 1431 684T1315 317T1109 64T800 -28Q641 -28 521 41T329 232T241 516H365Q386 329 499 209T800 88Q1065 88 1206 349T1347 1096H1336Q1296 1000
1218 927T1036 812T819 771Q652 771 514 856T294 1089T212 1424Q212 1600 288 1749T502 1987T824 2076ZM824 1960Q683 1960 573 1888T399 1694T335 1424Q335 1273 400 1152T578 959T832 887Q942 887 1036 931T1197 1054T1297 1233T1313 1444Q1291 1604 1224 1719T1054
1897T824 1960Z" />
<glyph unicode=":" horiz-adv-x="733" d="M367 93Q322 93 291 125T259 201Q259 246 290 277T367 309Q411 309 443 278T475 201Q475 172 461 147T422 108T367 93ZM367 1169Q322 1169 291 1201T259 1277Q259 1322 290 1353T367 1385Q411 1385 443 1354T475 1277Q475
1248 461 1223T422 1184T367 1169Z" />
<glyph unicode=";" horiz-adv-x="748" d="M493 280L475 175Q457 72 430 -57T373 -307T320 -500H225Q239 -428 259 -324T302 -93T345 168L363 280H493ZM403 1169Q358 1169 327 1201T295 1277Q295 1322 326 1353T403 1385Q447 1385 479 1354T511 1277Q511 1248 497
1223T458 1184T403 1169Z" />
<glyph unicode="&lt;" horiz-adv-x="1813" d="M327 752V848L1487 1541V1405L467 799L477 817V783L467 801L1487 195V59L327 752Z" />
<glyph unicode="=" horiz-adv-x="1813" d="M384 1020V1135H1429V1020H384ZM384 465V580H1429V465H384Z" />
<glyph unicode="&gt;" horiz-adv-x="1813" d="M1487 752L327 59V195L1347 801L1336 783V817L1347 799L327 1405V1541L1487 848V752Z" />
<glyph unicode="?" horiz-adv-x="1375" d="M564 597V695Q565 820 594 905T686 1056T851 1191Q938 1251 993 1308T1073 1429T1099 1567Q1099 1684 1044 1773T894 1913T681 1964Q563 1964 467 1911T313 1762T252 1536H125Q128 1695 201 1817T400 2007T681 2076Q838
2076 960 2010T1151 1827T1221 1563Q1221 1470 1191 1393T1097 1246T931 1106Q838 1042 785 984T709 858T687 695V597H564ZM628 -13Q583 -13 552 18T520 95Q520 139 551 171T628 203Q673 203 704 171T736 95Q736 65 722 41T683 2T628 -13Z" />
<glyph unicode="@" horiz-adv-x="2636" d="M1345 -543Q1081 -543 860 -450T477 -187T227 212T139 716Q139 988 227 1217T477 1614T858 1876T1336 1969Q1592 1969 1804 1874T2172 1612T2412 1229T2497 769Q2497 630 2469 503T2382 277T2233 121T2017 64Q1941 64
1881 91T1786 180T1747 347H1737Q1697 261 1631 193T1475 87T1277 49Q1155 51 1053 103T878 246T764 459T723 720Q723 857 765 974T883 1181T1060 1321T1277 1376Q1381 1379 1471 1345T1629 1247T1733 1101H1743V1352H1856V403Q1856 277 1892 223T2019 169Q2134
169 2216 242T2341 450T2385 771Q2385 947 2336 1110T2194 1410T1971 1649T1680 1807T1332 1864Q1100 1864 904 1778T562 1537T336 1172T255 713Q255 464 335 254T562 -111T909 -351T1348 -436Q1458 -436 1564 -414T1763 -355T1928 -271L1973 -367Q1889 -421 1786
-460T1570 -521T1345 -543ZM1288 160Q1425 160 1528 231T1689 430T1747 724Q1747 891 1688 1013T1526 1201T1291 1268Q1161 1268 1058 1194T895 997T835 724Q835 571 892 443T1051 237T1288 160Z" />
<glyph unicode="A" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771Z" />
<glyph unicode="B" horiz-adv-x="1813" d="M296 0V2048H961Q1147 2048 1275 1982T1469 1797T1536 1520Q1536 1396 1496 1300T1385 1142T1217 1055V1043Q1323 1035 1414 970T1560 792T1616 531Q1616 374 1549 255T1347 68T1015 0H296ZM421 116H1015Q1246 116 1370
232T1495 531Q1495 660 1435 762T1267 923T1019 983H421V116ZM421 1097H1004Q1135 1097 1226 1154T1366 1307T1415 1520Q1415 1710 1297 1821T961 1932H421V1097Z" />
<glyph unicode="C" horiz-adv-x="2040" d="M1856 1408H1728Q1708 1512 1653 1609T1512 1785T1311 1910T1059 1956Q857 1956 688 1849T417 1533T315 1024Q315 721 416 513T687 199T1059 92Q1197 92 1311 137T1511 261T1653 438T1728 640H1856Q1834 516 1772 397T1608
182T1369 29T1059 -28Q803 -28 608 102T303 470T192 1024Q192 1341 302 1578T608 1945T1059 2076Q1231 2076 1368 2020T1607 1868T1771 1653T1856 1408Z" />
<glyph unicode="D" horiz-adv-x="2016" d="M864 0H296V2048H908Q1196 2048 1401 1926T1715 1577T1824 1031Q1823 706 1710 476T1383 123T864 0ZM421 116H859Q1133 116 1321 225T1605 540T1701 1031Q1701 1313 1608 1514T1338 1824T903 1932H421V116Z" />
<glyph unicode="E" horiz-adv-x="1657" d="M296 0V2048H1436V1932H421V1083H1375V967H421V116H1460V0H296Z" />
<glyph unicode="F" horiz-adv-x="1649" d="M296 0V2048H1439V1932H421V1083H1344V967H421V0H296Z" />
<glyph unicode="G" horiz-adv-x="2084" d="M1731 1408Q1708 1512 1653 1609T1513 1785T1313 1910T1056 1956Q839 1956 672 1843T410 1520T315 1024Q315 741 409 531T672 207T1067 92Q1268 92 1423 185T1666 451T1751 865L1795 844H1099V960H1873V844Q1873 573
1770 378T1484 77T1067 -28Q803 -28 606 103T301 470T192 1024Q192 1262 254 1456T431 1788T705 2001T1056 2076Q1230 2076 1369 2019T1609 1865T1774 1650T1859 1408H1731Z" />
<glyph unicode="H" horiz-adv-x="2076" d="M296 0V2048H421V1083H1655V2048H1780V0H1655V967H421V0H296Z" />
<glyph unicode="I" horiz-adv-x="717" d="M421 2048V0H296V2048H421Z" />
<glyph unicode="J" horiz-adv-x="1485" d="M1064 2048H1189V557Q1189 353 1119 224T930 34T664 -28Q514 -28 396 28T208 185T140 416H264Q263 320 315 247T459 131T664 88Q774 88 865 135T1009 285T1064 557V2048Z" />
<glyph unicode="K" horiz-adv-x="1769" d="M296 0V2048H421V859H435L1515 2048H1681L792 1079L1673 0H1517L712 989L421 667V0H296Z" />
<glyph unicode="L" horiz-adv-x="1584" d="M296 0V2048H421V116H1421V0H296Z" />
<glyph unicode="M" horiz-adv-x="2456" d="M296 2048H432L1221 180H1235L2024 2048H2160V0H2040V1751H2028L1287 0H1169L428 1751H416V0H296V2048Z" />
<glyph unicode="N" horiz-adv-x="2157" d="M1861 2048V0H1739L433 1821H421V0H296V2048H419L1725 225H1737V2048H1861Z" />
<glyph unicode="O" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024Z" />
<glyph unicode="P" horiz-adv-x="1735" d="M296 0V2048H927Q1122 2048 1261 1968T1476 1749T1551 1432Q1551 1256 1476 1117T1262 898T928 817H384V933H925Q1083 933 1195 997T1367 1174T1427 1432Q1427 1578 1367 1691T1195 1868T924 1932H421V0H296Z" />
<glyph unicode="Q" horiz-adv-x="2117" d="M1085 640H1229L1527 247L1555 209L1857 -192H1713L1465 137L1439 173L1085 640ZM1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076
1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059 1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024Z" />
<glyph unicode="R" horiz-adv-x="1755" d="M296 0V2048H927Q1121 2048 1261 1972T1476 1762T1551 1449Q1551 1273 1476 1140T1262 931T928 856H363V973H925Q1083 973 1195 1032T1367 1197T1427 1449Q1427 1595 1367 1703T1195 1872T924 1932H421V0H296ZM1137 928L1641
0H1497L996 928H1137Z" />
<glyph unicode="S" horiz-adv-x="1748" d="M1400 1536Q1384 1727 1245 1845T884 1963Q735 1963 619 1908T437 1758T371 1540Q371 1461 401 1398T488 1285T621 1198T791 1133L1015 1067Q1130 1032 1227 986T1397 877T1510 728T1551 532Q1551 370 1468 242T1231
41T869 -33Q671 -33 525 34T293 220T197 496H325Q335 369 406 277T597 134T869 84Q1034 84 1160 140T1357 298T1428 533Q1428 641 1377 718T1227 851T980 951L741 1023Q501 1096 375 1222T248 1536Q248 1694 332 1816T560 2009T887 2079Q1070 2079 1210 2009T1432
1816T1523 1536H1400Z" />
<glyph unicode="T" horiz-adv-x="1755" d="M160 1932V2048H1595V1932H940V0H815V1932H160Z" />
<glyph unicode="U" horiz-adv-x="2104" d="M1683 2048H1808V692Q1808 483 1711 320T1444 62T1052 -33Q832 -33 661 61T393 320T296 692V2048H421V699Q421 522 501 384T724 167T1052 87Q1238 87 1380 166T1602 384T1683 699V2048Z" />
<glyph unicode="V" horiz-adv-x="1792" d="M217 2048L889 161H903L1575 2048H1707L968 0H824L85 2048H217Z" />
<glyph unicode="W" horiz-adv-x="2565" d="M636 0L73 2048H203L703 193H715L1207 2048H1359L1851 193H1863L2363 2048H2492L1929 0H1785L1288 1843H1277L780 0H636Z" />
<glyph unicode="X" horiz-adv-x="1701" d="M240 2048L845 1121H856L1461 2048H1612L939 1024L1612 0H1461L856 921H845L240 0H89L768 1024L89 2048H240Z" />
<glyph unicode="Y" horiz-adv-x="1776" d="M88 2048H236L881 1060H895L1540 2048H1688L951 929V0H825V929L88 2048Z" />
<glyph unicode="Z" horiz-adv-x="1723" d="M201 0V103L1372 1932H203V2048H1521V1945L351 116H1531V0H201Z" />
<glyph unicode="[" horiz-adv-x="932" d="M345 -416V2144H777V2036H463V-308H777V-416H345Z" />
<glyph unicode="\" horiz-adv-x="941" d="M741 -308L81 2144H199L859 -308H741Z" />
<glyph unicode="]" horiz-adv-x="932" d="M587 2144V-416H155V-308H469V2036H155V2144H587Z" />
<glyph unicode="^" horiz-adv-x="1192" d="M571 1920H621V1844H571V1920ZM125 1120L535 1984H657L1067 1120H940L581 1884H611L253 1120H125Z" />
<glyph unicode="_" horiz-adv-x="1225" d="M1231 0V-116H-7V0H1231Z" />
<glyph unicode="`" horiz-adv-x="1400" d="M785 1755L484 2197H629L897 1755H785Z" />
<glyph unicode="a" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344 1414T536
1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295 262 403
171T672 80Z" />
<glyph unicode="b" horiz-adv-x="1705" d="M296 0V2048H417V1193H429Q465 1292 531 1375T695 1508T924 1559Q1109 1559 1247 1457T1461 1175T1537 764Q1537 531 1461 352T1248 70T925 -32Q794 -32 696 18T532 152T429 335H415V0H296ZM416 765Q416 569 475 415T647
171T915 81Q1073 81 1185 171T1356 417T1416 765Q1416 958 1357 1112T1185 1355T915 1445Q759 1445 647 1357T476 1115T416 765Z" />
<glyph unicode="c" horiz-adv-x="1561" d="M829 -32Q633 -32 484 71T252 355T168 763Q168 991 252 1171T485 1455T828 1559Q974 1559 1094 1499T1294 1332T1396 1084H1272Q1242 1240 1123 1342T829 1445Q673 1445 551 1358T359 1117T289 765Q289 570 357 416T547
171T829 81Q942 81 1035 126T1192 254T1275 448H1399Q1377 306 1299 198T1100 29T829 -32Z" />
<glyph unicode="d" horiz-adv-x="1705" d="M780 -32Q595 -32 457 70T244 351T168 764Q168 995 244 1174T459 1456T781 1559Q913 1559 1010 1509T1174 1375T1276 1193H1288V2048H1409V0H1291V335H1276Q1239 236 1173 153T1009 19T780 -32ZM791 81Q947 81 1058 170T1229
414T1289 765Q1289 961 1230 1114T1059 1356T791 1445Q633 1445 521 1356T349 1112T289 765Q289 572 348 417T520 172T791 81Z" />
<glyph unicode="e" horiz-adv-x="1629" d="M852 -32Q644 -32 490 71T252 353T168 761Q168 991 252 1171T485 1455T823 1559Q952 1559 1067 1508T1271 1359T1410 1125T1461 817V741H245V852H1339Q1339 1019 1271 1153T1086 1366T823 1445Q670 1445 551 1360T362
1129T289 805V755Q289 563 356 411T550 170T852 81Q978 81 1067 123T1214 227T1300 345L1411 300Q1376 223 1303 147T1117 19T852 -32Z" />
<glyph unicode="f" horiz-adv-x="960" d="M833 1536V1427H152V1536H833ZM376 0V1775Q376 1891 429 1973T568 2098T755 2141Q808 2141 845 2133T911 2113L875 2005Q852 2013 826 2019T763 2025Q647 2025 572 1954T497 1756L496 0H376Z" />
<glyph unicode="g" horiz-adv-x="1668" d="M807 -608Q664 -608 550 -571T357 -464T235 -300L337 -240Q371 -314 434 -372T590 -463T807 -496Q1029 -496 1158 -382T1288 -31V351H1276Q1241 251 1173 174T1005 52T780 8Q598 8 460 102T245 366T168 768Q168 999 243
1177T457 1457T781 1559Q914 1559 1011 1509T1175 1375T1277 1193H1291V1536H1409V-36Q1409 -228 1334 -355T1123 -545T807 -608ZM791 121Q945 121 1056 199T1228 423T1289 769Q1289 963 1230 1116T1059 1357T791 1445Q632 1445 520 1356T349 1113T289 769Q289
577 349 432T521 204T791 121Z" />
<glyph unicode="h" horiz-adv-x="1621" d="M375 996V0H253V2048H375V1293H387Q441 1413 559 1484T844 1556Q999 1556 1117 1491T1301 1304T1368 1013V0H1247V1008Q1247 1205 1130 1324T821 1443Q692 1443 591 1387T433 1231T375 996Z" />
<glyph unicode="i" horiz-adv-x="639" d="M259 0V1536H380V0H259ZM320 1808Q280 1808 251 1836T221 1904Q221 1944 250 1972T320 2000Q360 2000 389 1972T419 1904Q419 1864 390 1836T320 1808Z" />
<glyph unicode="j" horiz-adv-x="639" d="M259 1536H380V-187Q380 -306 331 -393T197 -528T-1 -576Q-9 -576 -18 -576T-39 -573L-33 -460Q-25 -460 -18 -460T-3 -460Q109 -460 184 -388T259 -187V1536ZM319 1808Q278 1808 249 1836T220 1904Q220 1944 249 1972T319
2000Q359 2000 388 1972T417 1904Q417 1864 388 1836T319 1808Z" />
<glyph unicode="k" horiz-adv-x="1425" d="M359 600L357 775H389L1157 1536H1316L611 836L599 831L359 600ZM253 0V2048H375V0H253ZM1192 0L544 819L632 900L1348 0H1192Z" />
<glyph unicode="l" horiz-adv-x="628" d="M375 2048V0H253V2048H375Z" />
<glyph unicode="m" horiz-adv-x="2384" d="M253 0V1536H372V1304H384Q428 1420 536 1488T796 1556Q963 1556 1065 1476T1213 1259H1224Q1269 1394 1385 1475T1673 1556Q1896 1556 2013 1416T2131 1031V0H2009V1031Q2009 1223 1917 1333T1647 1443Q1457 1443 1355
1324T1253 1021V0H1131V1039Q1131 1218 1041 1330T771 1443Q649 1443 561 1387T424 1233T375 1008V0H253Z" />
<glyph unicode="n" horiz-adv-x="1616" d="M375 996V0H253V1536H372V1293H384Q438 1412 557 1484T840 1556Q995 1556 1112 1490T1296 1303T1363 1013V0H1241V1008Q1241 1204 1125 1323T817 1443Q689 1443 589 1387T432 1231T375 996Z" />
<glyph unicode="o" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359 953 1292
1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81Z" />
<glyph unicode="p" horiz-adv-x="1663" d="M253 -576V1536H372V1193H387Q423 1292 488 1375T651 1508T881 1559Q1067 1559 1205 1457T1419 1176T1495 764Q1495 532 1419 353T1205 71T883 -32Q752 -32 654 18T489 151T387 335H375V-576H253ZM373 765Q373 569 433
415T605 171T872 81Q1029 81 1141 171T1313 417T1373 765Q1373 958 1314 1112T1143 1355T872 1445Q715 1445 604 1357T433 1115T373 765Z" />
<glyph unicode="q" horiz-adv-x="1663" d="M1288 -576V335H1276Q1241 235 1174 152T1009 18T780 -32Q596 -32 459 70T245 352T168 764Q168 996 244 1175T458 1457T781 1559Q914 1559 1011 1509T1174 1375T1276 1193H1291V1536H1409V-576H1288ZM791 81Q946 81 1057
170T1229 414T1289 765Q1289 961 1230 1114T1059 1356T791 1445Q632 1445 520 1356T349 1112T289 765Q289 572 349 417T521 172T791 81Z" />
<glyph unicode="r" horiz-adv-x="960" d="M253 0V1536H372V1296H383Q433 1414 552 1485T823 1557Q839 1557 855 1557T885 1556V1433Q873 1434 857 1436T816 1439Q688 1439 589 1384T432 1233T375 1012V0H253Z" />
<glyph unicode="s" horiz-adv-x="1416" d="M1229 1205L1116 1175Q1089 1259 1039 1320T914 1414T733 1448Q564 1448 457 1364T349 1145Q349 1035 422 964T645 855L881 796Q1063 751 1155 651T1247 401Q1247 274 1178 176T988 23T705 -32Q490 -32 352 68T175 357L292
387Q325 237 429 159T704 80Q892 80 1007 169T1123 397Q1123 503 1055 576T849 683L604 743Q416 789 322 890T228 1141Q228 1265 293 1359T472 1506T733 1559Q928 1559 1051 1467T1229 1205Z" />
<glyph unicode="t" horiz-adv-x="995" d="M796 1536V1427H125V1536H796ZM352 1904H473V363Q473 269 509 210T605 122T733 93Q766 93 790 98T837 111L867 0Q839 -10 805 -17T725 -25Q629 -25 544 18T405 143T352 341V1904Z" />
<glyph unicode="u" horiz-adv-x="1612" d="M1237 545V1536H1359V0H1237V249H1227Q1173 130 1053 55T768 -20Q617 -20 501 46T319 233T253 523V1536H375V528Q375 336 491 218T793 99Q913 99 1014 153T1176 307T1237 545Z" />
<glyph unicode="v" horiz-adv-x="1504" d="M1376 1536L821 0H683L128 1536H259L747 157H757L1245 1536H1376Z" />
<glyph unicode="w" horiz-adv-x="2245" d="M588 0L128 1536H256L652 179H663L1060 1536H1187L1583 180H1593L1989 1536H2117L1657 0H1521L1129 1337H1116L724 0H588Z" />
<glyph unicode="x" horiz-adv-x="1445" d="M299 1536L723 853L1147 1536H1288L796 768L1288 0H1147L723 672L299 0H157L647 768L157 1536H299Z" />
<glyph unicode="y" horiz-adv-x="1504" d="M351 -576Q305 -576 260 -566T179 -540L215 -433Q309 -469 385 -459T521 -389T621 -213L691 -21L128 1536H259L747 157H757L1245 1536H1376L728 -261Q691 -365 635 -435T508 -540T351 -576Z" />
<glyph unicode="z" horiz-adv-x="1463" d="M201 0V103L1105 1409V1420H251V1536H1260V1431L364 127V116H1296V0H201Z" />
<glyph unicode="{" horiz-adv-x="932" d="M157 841V925Q328 926 391 990T455 1224V1680Q455 1799 478 1886T552 2030T681 2116T871 2144V2036Q763 2037 697 2000T600 1883T569 1680V1197Q569 1105 550 1038T484 928T358 863T157 841ZM871 -416Q760 -416 681 -388T552
-303T479 -158T455 48V504Q455 673 392 737T157 803V887Q278 886 358 865T484 800T549 690T569 531V48Q569 -76 599 -155T696 -271T871 -308V-416ZM157 803V925H380V803H157Z" />
<glyph unicode="|" horiz-adv-x="819" d="M464 2708V-660H355V2708H464Z" />
<glyph unicode="}" horiz-adv-x="932" d="M775 887V803Q604 802 541 738T477 504V48Q477 -71 454 -158T380 -302T251 -388T61 -416V-308Q170 -308 236 -271T332 -155T363 48V531Q363 623 382 690T448 800T574 865T775 887ZM61 2144Q172 2144 251 2116T380 2031T453
1886T477 1680V1224Q477 1055 540 991T775 925V841Q654 842 574 863T448 928T383 1038T363 1197V1680Q363 1804 333 1883T236 1999T61 2036V2144ZM775 925V803H552V925H775Z" />
<glyph unicode="~" horiz-adv-x="1813" d="M253 651Q260 760 312 835T446 950T625 988Q728 987 805 947T960 847Q1024 799 1076 771T1195 741Q1293 741 1361 802T1445 967L1560 956Q1547 849 1495 776T1365 665T1196 627Q1103 627 1031 665T883 763Q818 811 761
842T627 873Q520 874 449 814T368 645L253 651Z" />
<glyph unicode="&#xa0;" horiz-adv-x="792" />
<glyph unicode="&#xa1;" horiz-adv-x="752" d="M443 -520H309L316 931H436L443 -520ZM376 1541Q421 1541 452 1510T484 1433Q484 1389 452 1357T376 1325Q332 1325 300 1357T268 1433Q268 1463 282 1487T321 1526T376 1541Z" />
<glyph unicode="&#xa2;" horiz-adv-x="1561" d="M772 0V2048H869V0H772ZM829 229Q633 229 484 332T252 615T168 1023Q168 1251 252 1431T485 1715T828 1819Q974 1819 1094 1760T1294 1593T1396 1345H1272Q1242 1500 1123 1603T829 1706Q673 1706 551 1619T359
1378T289 1026Q289 831 357 676T547 432T829 342Q942 342 1035 387T1192 514T1275 709H1399Q1377 567 1299 459T1100 290T829 229Z" />
<glyph unicode="&#xa3;" horiz-adv-x="1776" d="M1495 0H211V116H1495V0ZM1095 833H208V952H1095V833ZM577 1481L607 453Q612 301 565 194T405 57L307 116Q375 116 415 166T471 294T485 453L457 1481Q452 1665 525 1798T726 2004T1012 2076Q1137 2076 1240 2032T1416
1912T1518 1740T1525 1537L1405 1569Q1425 1679 1376 1768T1232 1909T1016 1960Q890 1960 790 1902T632 1738T577 1481Z" />
<glyph unicode="&#xa4;" horiz-adv-x="1957" d="M973 -28Q806 -28 660 37T405 221T234 496T172 836Q172 1019 233 1175T404 1449T660 1631T973 1696Q1143 1696 1289 1631T1545 1449T1717 1176T1779 836Q1779 653 1717 496T1546 221T1290 38T973 -28ZM973 88Q1118
88 1242 145T1460 305T1606 543T1660 836Q1661 1047 1570 1215T1322 1482T973 1581Q783 1581 628 1483T380 1216T288 836Q288 627 379 458T626 188T973 88ZM1548 1344L1467 1431L1719 1691L1801 1604L1548 1344ZM1719 -7L1467 253L1548 339L1801 80L1719 -7ZM232
-7L151 80L403 339L485 253L232 -7ZM403 1344L151 1604L232 1691L485 1431L403 1344Z" />
<glyph unicode="&#xa5;" horiz-adv-x="1496" d="M193 2048L792 892L680 865L53 2048H193ZM704 892L1303 2048H1443L816 865L704 892ZM811 993V0H685V993H811ZM1280 951V848H216V951H1280ZM1280 656V553H216V656H1280Z" />
<glyph unicode="&#xa6;" horiz-adv-x="599" d="M241 539H357V-384H241V539ZM357 2048V1129H241V2048H357Z" />
<glyph unicode="&#xa7;" horiz-adv-x="1512" d="M1219 1612H1100Q1094 1759 1007 1861T756 1963Q650 1963 574 1919T457 1803T416 1648Q416 1563 456 1502T560 1395T696 1305L937 1163Q1006 1123 1077 1077T1207 976T1304 851T1341 691Q1341 606 1297 535T1178
419T1013 365V361Q1145 268 1193 186T1241 5Q1241 -129 1176 -223T999 -367T749 -416Q603 -416 489 -358T308 -194T235 55H355Q363 -108 470 -205T749 -303Q904 -303 1013 -223T1123 5Q1123 75 1093 128T998 233T827 348L583 489Q484 547 407 600T278 709T198 827T171
965Q171 1051 211 1125T323 1246T493 1297V1305Q402 1374 350 1455T297 1648Q297 1768 356 1865T518 2019T756 2076Q894 2076 996 2017T1155 1852T1219 1612ZM1225 691Q1225 775 1174 841T1043 961T883 1063L613 1221Q515 1235 442 1205T328 1113T287 971Q287 857
375 774T639 589L883 448Q963 435 1042 460T1173 544T1225 691Z" />
<glyph unicode="&#xa8;" horiz-adv-x="1792" d="M672 1808Q634 1808 605 1837T576 1904Q576 1944 605 1972T672 2000Q712 2000 740 1972T768 1904Q768 1866 740 1837T672 1808ZM1120 1808Q1082 1808 1053 1837T1024 1904Q1024 1944 1053 1972T1120 2000Q1160 2000
1188 1972T1216 1904Q1216 1866 1188 1837T1120 1808Z" />
<glyph unicode="&#xa9;" horiz-adv-x="2576" d="M716 1024Q716 1188 796 1323T1011 1538T1310 1618Q1436 1618 1542 1569T1722 1434T1827 1237H1699Q1657 1354 1553 1426T1310 1498Q1179 1498 1072 1434T900 1263T836 1024Q836 893 900 786T1071 614T1310 550Q1449
550 1549 622T1692 811H1821Q1789 700 1717 614T1540 479T1310 430Q1146 430 1011 510T796 725T716 1024ZM1288 -32Q1070 -32 879 50T542 277T314 614T232 1024Q233 1243 315 1434T543 1770T879 1998T1288 2080Q1507 2080 1698 1998T2034 1771T2261 1434T2344 1024Q2345
805 2263 614T2036 278T1699 50T1288 -32ZM1288 88Q1482 88 1652 161T1951 362T2152 660T2224 1024Q2223 1218 2150 1388T1949 1686T1652 1887T1288 1960Q1095 1960 926 1888T628 1686T427 1387T352 1024Q351 831 423 662T625 363T924 161T1288 88Z" />
<glyph unicode="&#xaa;" horiz-adv-x="1099" d="M783 1184V1652Q781 1791 728 1856T563 1921Q441 1921 374 1866T300 1704L179 1715Q183 1857 287 1944T563 2032Q730 2032 817 1939T905 1652V1220Q905 1149 912 1090T939 975H812Q796 1022 789 1076T783 1184ZM811
1560V1467H587Q434 1467 359 1411T284 1253Q283 1165 337 1114T489 1061Q548 1061 606 1081T715 1137T800 1219L824 1137Q745 1051 662 1002T469 952Q326 952 243 1034T159 1251Q160 1401 268 1480T587 1560H811Z" />
<glyph unicode="&#xab;" horiz-adv-x="1493" d="M741 220H621L217 820V840H336L741 220ZM741 1448L336 828H217V848L621 1448H741ZM1253 220H1133L729 820V840H848L1253 220ZM1253 1448L848 828H729V848L1133 1448H1253Z" />
<glyph unicode="&#xac;" horiz-adv-x="1445" d="M1288 1108V987H161V1108H1288ZM1288 1053V516H1153V1053H1288Z" />
<glyph unicode="&#xad;" horiz-adv-x="1256" d="M1032 936V820H224V936H1032Z" />
<glyph unicode="&#xae;" horiz-adv-x="1888" d="M681 916V1654H1017Q1082 1654 1135 1627T1218 1549T1249 1429Q1249 1359 1218 1307T1134 1225T1013 1195H735V1278H995Q1064 1278 1105 1318T1147 1429Q1147 1501 1106 1536T996 1571H778V916H681ZM1097 1253L1279
916H1171L992 1253H1097ZM944 476Q778 476 633 538T378 710T206 965T144 1276Q144 1442 206 1587T378 1842T633 2014T944 2076Q1110 2076 1255 2014T1510 1842T1682 1587T1744 1276Q1744 1110 1682 965T1510 710T1255 538T944 476ZM944 583Q1136 583 1293 676T1544
926T1637 1276Q1637 1468 1544 1625T1293 1875T944 1969Q752 1969 595 1876T344 1626T251 1276Q251 1085 344 927T594 676T944 583Z" />
<glyph unicode="&#xaf;" horiz-adv-x="971" d="M855 1957V1848H116V1957H855Z" />
<glyph unicode="&#xb0;" horiz-adv-x="1280" d="M640 1211Q521 1211 423 1269T267 1424T209 1641Q209 1760 267 1858T423 2014T640 2072Q759 2072 857 2014T1013 1858T1071 1641Q1071 1522 1013 1425T857 1269T640 1211ZM640 1320Q729 1320 802 1363T918 1480T961
1642Q961 1730 918 1803T802 1919T640 1963Q551 1963 478 1920T362 1803T319 1642Q319 1553 362 1480T478 1364T640 1320Z" />
<glyph unicode="&#xb1;" horiz-adv-x="1813" d="M305 160V277H1508V160H305ZM305 941V1059H1508V941H305ZM848 464V1536H965V464H848Z" />
<glyph unicode="&#xb2;" horiz-adv-x="1168" d="M159 1024V1108L608 1553Q694 1639 747 1701T824 1818T849 1932Q849 2038 769 2105T567 2173Q439 2173 360 2100T281 1920H169Q169 2071 281 2169T568 2268Q683 2268 771 2224T910 2104T961 1933Q961 1861 934 1796T842
1654T669 1471L324 1128V1123H1019V1024H159Z" />
<glyph unicode="&#xb3;" horiz-adv-x="1175" d="M591 1008Q466 1008 367 1051T211 1170T152 1344H268Q269 1239 362 1174T591 1108Q734 1108 824 1180T915 1359Q915 1469 816 1539T555 1609H497V1703H555Q690 1703 781 1766T873 1940Q873 2040 794 2106T589 2173Q465
2173 380 2107T292 1933H183Q183 2033 237 2108T383 2225T589 2268Q706 2268 795 2226T936 2110T987 1944Q987 1836 917 1762T736 1664V1656Q873 1631 951 1549T1029 1353Q1029 1255 973 1177T818 1054T591 1008Z" />
<glyph unicode="&#xb4;" horiz-adv-x="1400" d="M628 1755L896 2197H1041L740 1755H628Z" />
<glyph unicode="&#xb5;" horiz-adv-x="1643" d="M248 -589V1536H369V545Q369 414 427 314T587 156T823 99Q956 99 1058 156T1218 314T1276 545V1536H1397V0H1276V239H1267Q1210 118 1091 49T823 -20Q674 -20 555 49T379 239H369V-589H248Z" />
<glyph unicode="&#xb6;" horiz-adv-x="1603" d="M1307 1932H971V760H855Q637 760 486 843T257 1072T179 1404Q179 1588 257 1733T486 1963T855 2048H1307V1932ZM1181 0V2048H1307V0H1181Z" />
<glyph unicode="&#xb7;" horiz-adv-x="733" d="M367 788Q322 788 291 819T259 896Q259 940 290 972T367 1004Q411 1004 443 972T475 896Q475 866 461 842T422 803T367 788Z" />
<glyph unicode="&#xb8;" horiz-adv-x="635" d="M268 8H376L361 -72Q455 -87 512 -145T569 -305Q569 -419 488 -480T249 -544L245 -449Q351 -447 403 -414T456 -308Q455 -228 401 -190T236 -151L268 8Z" />
<glyph unicode="&#xb9;" horiz-adv-x="806" d="M429 1024V2134H417L121 1937V2059L413 2252H541V1024H429Z" />
<glyph unicode="&#xba;" horiz-adv-x="1155" d="M132 1437V1551Q132 1699 185 1807T339 1973T579 2032Q788 2032 905 1902T1023 1551V1437Q1023 1288 970 1180T818 1014T577 955Q369 954 251 1084T132 1437ZM252 1551V1437Q252 1265 337 1164T577 1061Q734 1061
818 1162T903 1437V1551Q903 1721 818 1822T579 1924Q423 1924 338 1823T252 1551Z" />
<glyph unicode="&#xbb;" horiz-adv-x="1507" d="M233 220L639 840H757V820L353 220H233ZM233 1448H353L757 848V828H639L233 1448ZM758 220L1164 840H1282V820L878 220H758ZM758 1448H878L1282 848V828H1164L758 1448Z" />
<glyph unicode="&#xbc;" horiz-adv-x="2303" d="M339 0L1744 2048H1871L465 0H339ZM378 1216V2186H367L87 2000V2121L362 2304H490V1216H378ZM1360 228V317L1908 1088H1980V945H1926L1485 328V324H2194V228H1360ZM1933 0V259L1934 296V1088H2040V0H1933Z" />
<glyph unicode="&#xbd;" horiz-adv-x="2483" d="M339 0L1744 2048H1871L465 0H339ZM378 1216V2186H367L87 2000V2121L362 2304H490V1216H378ZM1569 0V83L1976 475Q2096 592 2144 659T2192 800Q2192 892 2120 950T1940 1009Q1828 1009 1757 947T1685 792H1576Q1576
927 1678 1015T1941 1104Q2097 1104 2198 1017T2299 801Q2299 737 2274 680T2191 555T2035 393L1732 101V96H2352V0H1569Z" />
<glyph unicode="&#xbe;" horiz-adv-x="2580" d="M616 0L2021 2048H2148L742 0H616ZM1638 228V317L2186 1088H2258V945H2204L1763 328V324H2472V228H1638ZM2211 0V259L2212 296V1088H2318V0H2211ZM535 1200Q421 1200 331 1239T189 1346T136 1503H249Q249 1412 331
1355T535 1297Q662 1297 741 1360T821 1515Q821 1611 733 1671T504 1731H451V1817H504Q625 1817 706 1874T787 2024Q787 2110 717 2167T535 2225Q423 2225 348 2168T273 2020H163Q163 2107 212 2175T345 2281T535 2320Q640 2320 722 2282T850 2178T897 2029Q897
1936 835 1870T668 1781V1776Q793 1754 864 1682T935 1509Q935 1421 884 1351T743 1241T535 1200Z" />
<glyph unicode="&#xbf;" horiz-adv-x="1375" d="M811 945V848Q810 723 781 638T688 487T524 352Q437 293 382 235T302 114T276 -24Q276 -141 331 -231T481 -371T693 -421Q811 -421 907 -368T1062 -219T1123 7H1249Q1247 -153 1174 -274T975 -464T693 -533Q537
-533 415 -467T223 -284T153 -20Q153 74 183 151T278 297T444 437Q537 501 590 559T665 685T688 848V945H811ZM747 1556Q791 1556 823 1525T855 1448Q855 1403 823 1372T747 1340Q702 1340 671 1371T639 1448Q639 1478 653 1502T692 1541T747 1556Z" />
<glyph unicode="&#xc0;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM842 2267L541 2709H686L954 2267H842Z" />
<glyph unicode="&#xc1;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM837 2267L1105 2709H1250L949 2267H837Z" />
<glyph unicode="&#xc2;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM1165 2216L896 2515L627 2216H501V2227L855 2616H937L1291 2227V2216H1165Z" />
<glyph unicode="&#xc3;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM531 2313L427 2321Q436 2435 514 2507T704 2579Q769 2579 817 2556T906 2503T989 2450T1087 2427Q1151 2427 1203 2470T1265
2581L1368 2565Q1353 2453 1274 2385T1091 2316Q1025 2316 980 2339T895 2392T813 2445T708 2468Q637 2468 587 2424T531 2313Z" />
<glyph unicode="&#xc4;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM672 2320Q634 2320 605 2349T576 2416Q576 2456 605 2484T672 2512Q712 2512 740 2484T768 2416Q768 2378 740 2349T672 2320ZM1120
2320Q1082 2320 1053 2349T1024 2416Q1024 2456 1053 2484T1120 2512Q1160 2512 1188 2484T1216 2416Q1216 2378 1188 2349T1120 2320Z" />
<glyph unicode="&#xc5;" horiz-adv-x="1792" d="M217 0H85L824 2048H968L1707 0H1575L901 1887H891L217 0ZM404 771H1388V655H404V771ZM896 2161Q793 2161 720 2234T647 2410Q647 2479 680 2535T770 2625T896 2659Q965 2659 1021 2626T1111 2536T1145 2410Q1145
2341 1112 2285T1022 2195T896 2161ZM896 2252Q963 2252 1008 2298T1053 2410Q1053 2476 1008 2522T896 2568Q829 2568 784 2522T739 2410Q739 2344 784 2298T896 2252Z" />
<glyph unicode="&#xc6;" horiz-adv-x="2729" d="M85 0L1112 2048H2508V1932H1493V1083H2447V967H1493V116H2532V0H1368V1932H1185L224 0H85ZM497 655V771H1433V655H497Z" />
<glyph unicode="&#xc7;" horiz-adv-x="2040" d="M1856 1408H1728Q1708 1512 1653 1609T1512 1785T1311 1910T1059 1956Q857 1956 688 1849T417 1533T315 1024Q315 721 416 513T687 199T1059 92Q1197 92 1311 137T1511 261T1653 438T1728 640H1856Q1834 516 1772
397T1608 182T1369 29T1059 -28Q803 -28 608 102T303 470T192 1024Q192 1341 302 1578T608 1945T1059 2076Q1231 2076 1368 2020T1607 1868T1771 1653T1856 1408ZM1003 3H1111L1096 -77Q1190 -92 1247 -150T1304 -310Q1304 -424 1223 -485T984 -549L980 -454Q1086
-452 1138 -419T1191 -313Q1190 -233 1136 -195T971 -156L1003 3Z" />
<glyph unicode="&#xc8;" horiz-adv-x="1657" d="M296 0V2048H1436V1932H421V1083H1375V967H421V116H1460V0H296ZM816 2267L515 2709H660L928 2267H816Z" />
<glyph unicode="&#xc9;" horiz-adv-x="1657" d="M296 0V2048H1436V1932H421V1083H1375V967H421V116H1460V0H296ZM811 2267L1079 2709H1224L923 2267H811Z" />
<glyph unicode="&#xca;" horiz-adv-x="1657" d="M296 0V2048H1436V1932H421V1083H1375V967H421V116H1460V0H296ZM1138 2216L869 2515L600 2216H474V2227L828 2616H910L1264 2227V2216H1138Z" />
<glyph unicode="&#xcb;" horiz-adv-x="1657" d="M296 0V2048H1436V1932H421V1083H1375V967H421V116H1460V0H296ZM901 2320Q863 2320 834 2349T805 2416Q805 2457 834 2484T901 2512Q941 2512 969 2485T997 2416Q997 2378 969 2349T901 2320ZM1349 2320Q1311 2320
1282 2349T1253 2416Q1253 2457 1282 2484T1349 2512Q1389 2512 1417 2485T1445 2416Q1445 2378 1417 2349T1349 2320Z" />
<glyph unicode="&#xcc;" horiz-adv-x="717" d="M421 2048V0H296V2048H421ZM305 2267L4 2709H149L417 2267H305Z" />
<glyph unicode="&#xcd;" horiz-adv-x="717" d="M421 2048V0H296V2048H421ZM300 2267L568 2709H713L412 2267H300Z" />
<glyph unicode="&#xce;" horiz-adv-x="717" d="M421 2048V0H296V2048H421ZM628 2216L359 2515L90 2216H-36V2227L318 2616H400L754 2227V2216H628Z" />
<glyph unicode="&#xcf;" horiz-adv-x="717" d="M421 2048V0H296V2048H421ZM135 2320Q96 2320 68 2349T39 2416Q39 2456 67 2484T135 2512Q175 2512 203 2484T231 2416Q231 2378 203 2349T135 2320ZM583 2320Q544 2320 516 2349T487 2416Q487 2456 515 2484T583
2512Q623 2512 651 2484T679 2416Q679 2378 651 2349T583 2320Z" />
<glyph unicode="&#xd0;" horiz-adv-x="2016" d="M864 0H364V116H859Q1133 116 1321 225T1605 540T1701 1031Q1701 1313 1608 1514T1338 1824T903 1932H360V2048H908Q1196 2048 1401 1926T1715 1577T1824 1031Q1823 706 1710 476T1383 123T864 0ZM421 2048V0H296V2048H421ZM-41
993V1097H759V993H-41Z" />
<glyph unicode="&#xd1;" horiz-adv-x="2157" d="M1861 2048V0H1739L433 1821H421V0H296V2048H419L1725 225H1737V2048H1861ZM712 2288L608 2296Q617 2410 695 2481T885 2553Q950 2553 998 2530T1087 2478T1170 2425T1268 2401Q1332 2401 1384 2444T1446 2556L1549
2540Q1534 2427 1455 2359T1272 2291Q1206 2291 1161 2314T1076 2366T994 2419T889 2443Q818 2443 768 2399T712 2288Z" />
<glyph unicode="&#xd2;" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024ZM1005 2267L704 2709H849L1117 2267H1005Z" />
<glyph unicode="&#xd3;" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024ZM1000 2267L1268 2709H1413L1112 2267H1000Z" />
<glyph unicode="&#xd4;" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024ZM1328 2216L1059 2515L790 2216H664V2227L1018 2616H1100L1454 2227V2216H1328Z" />
<glyph unicode="&#xd5;" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024ZM694 2313L590 2321Q599 2435 677 2507T867 2579Q932 2579 980 2556T1069 2503T1152 2450T1250 2427Q1314 2427 1366 2470T1428 2581L1531 2565Q1516
2453 1437 2385T1254 2316Q1188 2316 1143 2339T1058 2392T976 2445T871 2468Q800 2468 750 2424T694 2313Z" />
<glyph unicode="&#xd6;" horiz-adv-x="2117" d="M1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925 1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059
1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024ZM835 2320Q796 2320 768 2349T739 2416Q739 2456 767 2484T835 2512Q875 2512 903 2484T931 2416Q931 2378 903 2349T835 2320ZM1283 2320Q1244
2320 1216 2349T1187 2416Q1187 2456 1215 2484T1283 2512Q1323 2512 1351 2484T1379 2416Q1379 2378 1351 2349T1283 2320Z" />
<glyph unicode="&#xd7;" horiz-adv-x="1813" d="M1430 195L302 1323L383 1405L1511 277L1430 195ZM383 195L302 277L1430 1405L1511 1323L383 195Z" />
<glyph unicode="&#xd8;" horiz-adv-x="2117" d="M403 -60L317 -1L1712 2107L1797 2048L403 -60ZM1925 1024Q1925 707 1815 471T1510 103T1059 -28Q803 -28 608 103T302 471T192 1024Q192 1341 302 1577T608 1944T1059 2076Q1314 2076 1509 1945T1815 1578T1925
1024ZM1803 1024Q1803 1309 1708 1518T1444 1841T1059 1956Q842 1956 674 1843T411 1520T315 1024Q315 741 409 532T672 207T1059 92Q1276 92 1444 206T1707 530T1803 1024Z" />
<glyph unicode="&#xd9;" horiz-adv-x="2104" d="M1683 2048H1808V692Q1808 483 1711 320T1444 62T1052 -33Q832 -33 661 61T393 320T296 692V2048H421V699Q421 522 501 384T724 167T1052 87Q1238 87 1380 166T1602 384T1683 699V2048ZM998 2267L697 2709H842L1110
2267H998Z" />
<glyph unicode="&#xda;" horiz-adv-x="2104" d="M1683 2048H1808V692Q1808 483 1711 320T1444 62T1052 -33Q832 -33 661 61T393 320T296 692V2048H421V699Q421 522 501 384T724 167T1052 87Q1238 87 1380 166T1602 384T1683 699V2048ZM993 2267L1261 2709H1406L1105
2267H993Z" />
<glyph unicode="&#xdb;" horiz-adv-x="2104" d="M1683 2048H1808V692Q1808 483 1711 320T1444 62T1052 -33Q832 -33 661 61T393 320T296 692V2048H421V699Q421 522 501 384T724 167T1052 87Q1238 87 1380 166T1602 384T1683 699V2048ZM1321 2216L1052 2515L783
2216H657V2227L1011 2616H1093L1447 2227V2216H1321Z" />
<glyph unicode="&#xdc;" horiz-adv-x="2104" d="M1683 2048H1808V692Q1808 483 1711 320T1444 62T1052 -33Q832 -33 661 61T393 320T296 692V2048H421V699Q421 522 501 384T724 167T1052 87Q1238 87 1380 166T1602 384T1683 699V2048ZM828 2320Q790 2320 761 2349T732
2416Q732 2457 761 2484T828 2512Q868 2512 896 2485T924 2416Q924 2378 896 2349T828 2320ZM1276 2320Q1238 2320 1209 2349T1180 2416Q1180 2457 1209 2484T1276 2512Q1316 2512 1344 2485T1372 2416Q1372 2378 1344 2349T1276 2320Z" />
<glyph unicode="&#xdd;" horiz-adv-x="1776" d="M88 2048H236L881 1060H895L1540 2048H1688L951 929V0H825V929L88 2048ZM829 2267L1097 2709H1242L941 2267H829Z" />
<glyph unicode="&#xde;" horiz-adv-x="1701" d="M272 2048H395V0H272V2048ZM332 1579H855Q1049 1579 1189 1510T1403 1317T1477 1031Q1477 866 1404 742T1192 550T855 481H332V597H855Q1015 597 1126 647T1296 794T1356 1027Q1355 1163 1296 1261T1125 1411T855
1463H332V1579Z" />
<glyph unicode="&#xdf;" horiz-adv-x="1651" d="M296 0V1535Q296 1700 363 1822T550 2010T831 2076Q984 2076 1101 2014T1285 1838T1351 1572Q1350 1388 1253 1257T987 1072V1060Q1209 1019 1331 887T1453 545Q1453 383 1380 261T1173 69T859 0H691V116H871Q1010
116 1113 169T1275 318T1333 537Q1333 743 1183 867T779 992H699V1109H763Q904 1109 1009 1168T1171 1330T1229 1560Q1229 1740 1122 1850T833 1960Q644 1961 531 1844T417 1524V0H296Z" />
<glyph unicode="&#xe0;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM982 1755L681 2197H826L1094 1755H982Z" />
<glyph unicode="&#xe1;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM721 1755L989 2197H1134L833 1755H721Z" />
<glyph unicode="&#xe2;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM1049 1704L780 2003L511 1704H385V1715L739 2104H821L1175 1715V1704H1049Z" />
<glyph unicode="&#xe3;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM414 1776L310 1784Q319 1898 397 1969T587 2041Q652 2041 700 2018T789 1966T872 1913T970 1889Q1034 1889 1086 1932T1148 2044L1251 2028Q1236 1915 1157 1847T974 1779Q908 1779 863 1802T778 1854T696 1907T591 1931Q520 1931 470 1887T414
1776Z" />
<glyph unicode="&#xe4;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM556 1808Q518 1808 489 1837T460 1904Q460 1944 489 1972T556 2000Q596 2000 624 1972T652 1904Q652 1866 624 1837T556 1808ZM1004 1808Q966 1808 937 1837T908 1904Q908 1944 937 1972T1004 2000Q1044 2000 1072 1972T1100 1904Q1100 1866
1072 1837T1004 1808Z" />
<glyph unicode="&#xe5;" horiz-adv-x="1545" d="M660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 886T1112 929T1165 1017V1081Q1165 1249 1059 1348T767 1447Q602 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q867 1559 960 1530T1127 1442T1244 1292T1287 1073V0H1165V277H1156Q1116 191 1047 121T880 9T660 -33ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498 690T344 581T295 419Q295
262 403 171T672 80ZM780 1721Q704 1721 642 1756T544 1852T507 1987Q507 2061 543 2122T642 2219T780 2256Q857 2256 918 2220T1016 2122T1052 1987Q1052 1913 1016 1853T919 1757T780 1721ZM780 1815Q854 1815 903 1866T953 1987Q953 2058 903 2109T780 2161Q706
2161 657 2109T607 1987Q607 1917 657 1866T780 1815Z" />
<glyph unicode="&#xe6;" horiz-adv-x="2599" d="M1821 -32Q1582 -32 1418 101T1195 447L1223 1144Q1298 1333 1446 1446T1792 1559Q1921 1559 2036 1507T2240 1359T2380 1125T2431 817V741H1223V852H2308Q2308 1018 2240 1152T2056 1366T1792 1445Q1640 1445 1521
1360T1331 1129T1259 805V755Q1259 562 1326 410T1519 170T1821 81Q1947 81 2036 123T2183 227T2269 345L2380 300Q2345 223 2272 147T2086 19T1821 -32ZM672 80Q816 80 927 150T1102 344T1165 623V849Q1142 829 1099 814T1001 787T887 767T771 751Q603 731 498
690T344 581T295 419Q295 262 403 171T672 80ZM660 -33Q527 -33 417 20T240 175T173 423Q173 519 207 592T312 718T494 805T759 859Q876 873 968 887T1112 930T1165 1017V1081Q1165 1248 1059 1347T767 1447Q603 1447 490 1375T332 1188L217 1231Q261 1341 344
1414T536 1523T764 1559Q863 1559 950 1532T1107 1453T1221 1323T1277 1143L1247 413H1232Q1191 262 1103 163T898 16T660 -33Z" />
<glyph unicode="&#xe7;" horiz-adv-x="1561" d="M829 -32Q633 -32 484 71T252 355T168 763Q168 991 252 1171T485 1455T828 1559Q974 1559 1094 1499T1294 1332T1396 1084H1272Q1242 1240 1123 1342T829 1445Q673 1445 551 1358T359 1117T289 765Q289 570 357
416T547 171T829 81Q942 81 1035 126T1192 254T1275 448H1399Q1377 306 1299 198T1100 29T829 -32ZM760 8H868L853 -72Q947 -87 1004 -145T1061 -305Q1061 -419 980 -480T741 -544L737 -449Q843 -447 895 -414T948 -308Q947 -228 893 -190T728 -151L760 8Z" />
<glyph unicode="&#xe8;" horiz-adv-x="1629" d="M852 -32Q644 -32 490 71T252 353T168 761Q168 991 252 1171T485 1455T823 1559Q952 1559 1067 1508T1271 1359T1410 1125T1461 817V741H245V852H1339Q1339 1019 1271 1153T1086 1366T823 1445Q670 1445 551 1360T362
1129T289 805V755Q289 563 356 411T550 170T852 81Q978 81 1067 123T1214 227T1300 345L1411 300Q1376 223 1303 147T1117 19T852 -32ZM1018 1755L717 2197H862L1130 1755H1018Z" />
<glyph unicode="&#xe9;" horiz-adv-x="1629" d="M852 -32Q644 -32 490 71T252 353T168 761Q168 991 252 1171T485 1455T823 1559Q952 1559 1067 1508T1271 1359T1410 1125T1461 817V741H245V852H1339Q1339 1019 1271 1153T1086 1366T823 1445Q670 1445 551 1360T362
1129T289 805V755Q289 563 356 411T550 170T852 81Q978 81 1067 123T1214 227T1300 345L1411 300Q1376 223 1303 147T1117 19T852 -32ZM757 1755L1025 2197H1170L869 1755H757Z" />
<glyph unicode="&#xea;" horiz-adv-x="1629" d="M852 -32Q644 -32 490 71T252 353T168 761Q168 991 252 1171T485 1455T823 1559Q952 1559 1067 1508T1271 1359T1410 1125T1461 817V741H245V852H1339Q1339 1019 1271 1153T1086 1366T823 1445Q670 1445 551 1360T362
1129T289 805V755Q289 563 356 411T550 170T852 81Q978 81 1067 123T1214 227T1300 345L1411 300Q1376 223 1303 147T1117 19T852 -32ZM1085 1704L816 2003L547 1704H421V1715L775 2104H857L1211 1715V1704H1085Z" />
<glyph unicode="&#xeb;" horiz-adv-x="1629" d="M852 -32Q644 -32 490 71T252 353T168 761Q168 991 252 1171T485 1455T823 1559Q952 1559 1067 1508T1271 1359T1410 1125T1461 817V741H245V852H1339Q1339 1019 1271 1153T1086 1366T823 1445Q670 1445 551 1360T362
1129T289 805V755Q289 563 356 411T550 170T852 81Q978 81 1067 123T1214 227T1300 345L1411 300Q1376 223 1303 147T1117 19T852 -32ZM592 1808Q554 1808 525 1837T496 1904Q496 1944 525 1972T592 2000Q632 2000 660 1972T688 1904Q688 1866 660 1837T592 1808ZM1040
1808Q1002 1808 973 1837T944 1904Q944 1944 973 1972T1040 2000Q1080 2000 1108 1972T1136 1904Q1136 1866 1108 1837T1040 1808Z" />
<glyph unicode="&#xec;" horiz-adv-x="639" d="M259 0V1536H380V0H259ZM266 1755L-35 2197H110L378 1755H266Z" />
<glyph unicode="&#xed;" horiz-adv-x="639" d="M259 0V1536H380V0H259ZM261 1755L529 2197H674L373 1755H261Z" />
<glyph unicode="&#xee;" horiz-adv-x="639" d="M259 0V1536H380V0H259ZM589 1704L320 2003L51 1704H-75V1715L279 2104H361L715 1715V1704H589Z" />
<glyph unicode="&#xef;" horiz-adv-x="639" d="M259 0V1536H380V0H259ZM96 1808Q58 1808 29 1837T0 1904Q0 1944 29 1972T96 2000Q136 2000 164 1972T192 1904Q192 1866 164 1837T96 1808ZM544 1808Q506 1808 477 1837T448 1904Q448 1944 477 1972T544 2000Q584
2000 612 1972T640 1904Q640 1866 612 1837T544 1808Z" />
<glyph unicode="&#xf0;" horiz-adv-x="1657" d="M1341 1989L545 1620L512 1711L1308 2080L1341 1989ZM829 -32Q638 -32 489 65T254 331T168 711Q168 923 253 1091T484 1356T809 1453Q925 1453 1019 1415T1188 1308T1315 1145H1328Q1271 1324 1166 1494T903 1814T532
2077L580 2176Q775 2073 940 1924T1229 1591T1420 1195T1489 753Q1490 511 1404 335T1169 63T829 -32ZM829 81Q989 81 1111 164T1302 389T1372 705Q1372 876 1305 1021T1115 1256T829 1345Q671 1345 549 1260T358 1030T289 711Q289 538 357 395T546 167T829 81Z"
/>
<glyph unicode="&#xf1;" horiz-adv-x="1616" d="M375 996V0H253V1536H372V1293H384Q438 1412 557 1484T840 1556Q995 1556 1112 1490T1296 1303T1363 1013V0H1241V1008Q1241 1204 1125 1323T817 1443Q689 1443 589 1387T432 1231T375 996ZM444 1776L340 1784Q349
1898 427 1969T617 2041Q682 2041 730 2018T819 1966T902 1913T1000 1889Q1064 1889 1116 1932T1178 2044L1281 2028Q1266 1915 1187 1847T1004 1779Q938 1779 893 1802T808 1854T726 1907T621 1931Q550 1931 500 1887T444 1776Z" />
<glyph unicode="&#xf2;" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359
953 1292 1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81ZM1026 1755L725 2197H870L1138 1755H1026Z" />
<glyph unicode="&#xf3;" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359
953 1292 1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81ZM765 1755L1033 2197H1178L877 1755H765Z" />
<glyph unicode="&#xf4;" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359
953 1292 1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81ZM1093 1704L824 2003L555 1704H429V1715L783 2104H865L1219 1715V1704H1093Z" />
<glyph unicode="&#xf5;" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359
953 1292 1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81ZM458 1776L354 1784Q363 1898 441 1969T631 2041Q696 2041 744 2018T833 1966T916 1913T1014 1889Q1078 1889 1130 1932T1192 2044L1295 2028Q1280 1915
1201 1847T1018 1779Q952 1779 907 1802T822 1854T740 1907T635 1931Q564 1931 514 1887T458 1776Z" />
<glyph unicode="&#xf6;" horiz-adv-x="1648" d="M824 -32Q634 -32 486 70T253 353T168 763Q168 994 253 1173T486 1456T824 1559Q1014 1559 1162 1456T1395 1173T1480 763Q1480 533 1395 353T1162 71T824 -32ZM824 81Q985 81 1105 172T1292 418T1359 763Q1359
953 1292 1107T1105 1353T824 1445Q663 1445 543 1354T356 1108T289 763Q289 573 355 418T542 172T824 81ZM600 1808Q562 1808 533 1837T504 1904Q504 1944 533 1972T600 2000Q640 2000 668 1972T696 1904Q696 1866 668 1837T600 1808ZM1048 1808Q1010 1808 981
1837T952 1904Q952 1944 981 1972T1048 2000Q1088 2000 1116 1972T1144 1904Q1144 1866 1116 1837T1048 1808Z" />
<glyph unicode="&#xf7;" horiz-adv-x="1813" d="M1507 859V741H307V859H1507ZM907 216Q862 216 831 247T799 324Q799 368 830 399T907 431Q950 431 981 400T1013 324Q1013 279 982 248T907 216ZM907 1169Q877 1169 852 1183T813 1222T799 1278Q799 1321 830 1352T907
1384Q950 1384 981 1353T1013 1278Q1013 1232 982 1201T907 1169Z" />
<glyph unicode="&#xf8;" horiz-adv-x="1648" d="M335 -55L247 4L1313 1587L1401 1528L335 -55ZM824 -29Q634 -29 486 73T253 355T168 765Q168 997 253 1176T486 1458T824 1561Q1014 1561 1162 1458T1395 1176T1480 765Q1480 535 1395 356T1162 74T824 -29ZM824
84Q985 84 1105 175T1292 420T1359 765Q1359 955 1292 1110T1105 1356T824 1448Q663 1448 543 1357T356 1110T289 765Q289 575 355 421T542 175T824 84Z" />
<glyph unicode="&#xf9;" horiz-adv-x="1612" d="M1237 545V1536H1359V0H1237V249H1227Q1173 130 1053 55T768 -20Q617 -20 501 46T319 233T253 523V1536H375V528Q375 336 491 218T793 99Q913 99 1014 153T1176 307T1237 545ZM1009 1755L708 2197H853L1121 1755H1009Z" />
<glyph unicode="&#xfa;" horiz-adv-x="1612" d="M1237 545V1536H1359V0H1237V249H1227Q1173 130 1053 55T768 -20Q617 -20 501 46T319 233T253 523V1536H375V528Q375 336 491 218T793 99Q913 99 1014 153T1176 307T1237 545ZM748 1755L1016 2197H1161L860 1755H748Z" />
<glyph unicode="&#xfb;" horiz-adv-x="1612" d="M1237 545V1536H1359V0H1237V249H1227Q1173 130 1053 55T768 -20Q617 -20 501 46T319 233T253 523V1536H375V528Q375 336 491 218T793 99Q913 99 1014 153T1176 307T1237 545ZM1076 1704L807 2003L538 1704H412V1715L766
2104H848L1202 1715V1704H1076Z" />
<glyph unicode="&#xfc;" horiz-adv-x="1612" d="M1237 545V1536H1359V0H1237V249H1227Q1173 130 1053 55T768 -20Q617 -20 501 46T319 233T253 523V1536H375V528Q375 336 491 218T793 99Q913 99 1014 153T1176 307T1237 545ZM839 1808Q801 1808 772 1837T743 1904Q743
1944 772 1972T839 2000Q879 2000 907 1972T935 1904Q935 1866 907 1837T839 1808ZM1287 1808Q1249 1808 1220 1837T1191 1904Q1191 1944 1220 1972T1287 2000Q1327 2000 1355 1972T1383 1904Q1383 1866 1355 1837T1287 1808Z" />
<glyph unicode="&#xfd;" horiz-adv-x="1504" d="M351 -576Q305 -576 260 -566T179 -540L215 -433Q309 -469 385 -459T521 -389T621 -213L691 -21L128 1536H259L747 157H757L1245 1536H1376L728 -261Q691 -365 635 -435T508 -540T351 -576ZM693 1755L961 2197H1106L805
1755H693Z" />
<glyph unicode="&#xfe;" horiz-adv-x="1653" d="M248 2048H369V1020L336 773L369 485V-576H248V2048ZM317 1193H381Q418 1292 483 1375T646 1508T876 1559Q1062 1559 1199 1457T1413 1176T1489 764Q1489 532 1413 353T1199 71T877 -32Q747 -32 649 18T484 151T381
335H317V1193ZM1368 765Q1368 958 1309 1112T1138 1355T867 1445Q710 1445 599 1357T428 1115T368 765Q368 569 428 415T599 171T867 81Q1024 81 1136 171T1308 417T1368 765Z" />
<glyph unicode="&#xff;" horiz-adv-x="1504" d="M351 -576Q305 -576 260 -566T179 -540L215 -433Q309 -469 385 -459T521 -389T621 -213L691 -21L128 1536H259L747 157H757L1245 1536H1376L728 -261Q691 -365 635 -435T508 -540T351 -576ZM528 1808Q490 1808 461
1837T432 1904Q432 1944 461 1972T528 2000Q568 2000 596 1972T624 1904Q624 1866 596 1837T528 1808ZM976 1808Q938 1808 909 1837T880 1904Q880 1944 909 1972T976 2000Q1016 2000 1044 1972T1072 1904Q1072 1866 1044 1837T976 1808Z" />
<glyph unicode="&#x2013;" horiz-adv-x="1408" d="M1408 936V820H0V936H1408Z" />
<glyph unicode="&#x2014;" horiz-adv-x="2816" d="M2816 936V820H0V936H2816Z" />
<glyph unicode="&#x2018;" horiz-adv-x="509" d="M139 1408V1588Q139 1670 168 1762T254 1941T391 2092L457 2025Q370 1941 313 1824T256 1589V1408H139Z" />
<glyph unicode="&#x2019;" horiz-adv-x="467" d="M371 2048V1868Q371 1786 342 1694T256 1515T119 1364L52 1431Q140 1515 196 1632T253 1867V2048H371Z" />
<glyph unicode="&#x201a;" horiz-adv-x="509" d="M370 256V76Q370 -6 341 -98T255 -277T118 -428L51 -361Q139 -277 195 -160T252 75V256H370Z" />
<glyph unicode="&#x201c;" horiz-adv-x="936" d="M139 1408V1588Q139 1670 168 1762T254 1941T391 2092L457 2025Q370 1941 313 1824T256 1589V1408H139ZM566 1408V1588Q566 1670 595 1762T681 1941T818 2092L884 2025Q797 1941 740 1824T683 1589V1408H566Z" />
<glyph unicode="&#x201d;" horiz-adv-x="936" d="M371 2048V1868Q371 1786 342 1694T256 1515T119 1364L52 1431Q140 1515 196 1632T253 1867V2048H371ZM797 2048V1868Q797 1786 768 1694T682 1515T545 1364L479 1431Q566 1515 623 1632T680 1867V2048H797Z" />
<glyph unicode="&#x201e;" horiz-adv-x="936" d="M371 256V76Q371 -6 342 -98T256 -277T119 -428L52 -361Q140 -277 196 -160T253 75V256H371ZM797 256V76Q797 -6 768 -98T682 -277T545 -428L479 -361Q566 -277 623 -160T680 75V256H797Z" />
<glyph unicode="&#x2022;" horiz-adv-x="1584" d="M792 499Q704 499 632 541T518 656T475 816Q475 904 517 976T632 1090T792 1133Q879 1133 951 1091T1067 976T1109 816Q1109 729 1066 657T951 542T792 499Z" />
<glyph unicode="&#x2039;" horiz-adv-x="981" d="M741 220H621L217 820V840H336L741 220ZM741 1448L336 828H217V848L621 1448H741Z" />
<glyph unicode="&#x203a;" horiz-adv-x="981" d="M233 220L639 840H757V820L353 220H233ZM233 1448H353L757 848V828H639L233 1448Z" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,350 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<defs >
<font id="Inter" horiz-adv-x="1838" ><font-face
font-family="Inter Light"
units-per-em="2816"
panose-1="2 0 5 3 0 0 0 2 0 4"
ascent="2728"
descent="-680"
alphabetic="0" />
<glyph unicode=" " horiz-adv-x="792" />
<glyph unicode="!" horiz-adv-x="768" d="M485 2048L472 587H296L283 2048H485ZM384 -15Q325 -15 283 27T240 129Q240 189 282 231T384 273Q443 273 485 231T528 129Q528 90 509 57T457 5T384 -15Z" />
<glyph unicode="&quot;" horiz-adv-x="1077" d="M387 2048V1365H219V2048H387ZM856 2048V1365H688V2048H856Z" />
<glyph unicode="#" horiz-adv-x="1779" d="M1004 0L1340 2048H1495L1159 0H1004ZM53 591L79 745H1607L1581 591H53ZM284 0L620 2048H775L439 0H284ZM172 1303L197 1457H1725L1700 1303H172Z" />
<glyph unicode="$" horiz-adv-x="1772" d="M821 -256V2304H952V-256H821ZM1384 1536Q1367 1707 1233 1808T896 1909Q753 1909 645 1860T475 1725T413 1528Q413 1447 448 1386T542 1282T674 1207T821 1155L1037 1093Q1135 1066 1233 1024T1412 919T1543 764T1593
544Q1593 380 1508 249T1264 42T883 -35Q674 -35 520 34T278 227T179 512H371Q381 391 451 307T633 180T883 136Q1036 136 1155 187T1343 331T1412 547Q1412 651 1358 721T1208 840T984 925L739 997Q498 1069 365 1196T232 1520Q232 1685 320 1810T560 2006T901
2077Q1092 2077 1239 2007T1472 1815T1565 1536H1384Z" />
<glyph unicode="%" horiz-adv-x="2251" d="M1264 380V473Q1264 588 1310 680T1441 827T1643 881Q1761 881 1845 827T1974 681T2019 473V380Q2019 265 1974 173T1844 27T1643 -28Q1524 -28 1440 26T1310 173T1264 380ZM1421 473V380Q1421 267 1476 188T1643 108Q1751
108 1806 187T1861 380V473Q1861 586 1807 665T1643 745Q1534 745 1478 666T1421 473ZM232 1575V1668Q232 1783 278 1875T409 2021T611 2076Q729 2076 813 2022T942 1875T987 1668V1575Q987 1460 942 1368T812 1221T611 1167Q492 1167 408 1221T278 1367T232 1575ZM389
1668V1575Q389 1462 444 1383T611 1303Q719 1303 774 1382T829 1575V1668Q829 1781 775 1860T611 1940Q502 1940 446 1861T389 1668ZM324 0L1731 2048H1908L501 0H324Z" />
<glyph unicode="&amp;" horiz-adv-x="1748" d="M783 -28Q594 -28 453 45T234 246T156 533Q156 649 203 742T341 920T559 1096L856 1317Q962 1393 1017 1466T1073 1647Q1073 1750 996 1831T795 1913Q709 1913 642 1870T535 1759T495 1615Q495 1545 531 1475T628
1327T764 1156L1700 0H1484L668 1001Q565 1127 485 1226T359 1418T313 1617Q313 1748 374 1850T542 2012T789 2071Q931 2071 1035 2013T1197 1859T1255 1647Q1255 1508 1184 1401T976 1191L604 913Q451 798 394 700T337 533Q337 425 393 334T548 188T777 132Q905
133 1018 183T1220 328T1364 553T1428 845L1601 843Q1597 678 1557 564T1464 375T1373 256Q1362 241 1351 226T1328 196Q1228 86 1080 29T783 -28Z" />
<glyph unicode="&apos;" horiz-adv-x="608" d="M387 2048V1365H219V2048H387Z" />
<glyph unicode="(" horiz-adv-x="976" d="M309 864Q309 1224 400 1544T661 2144H823Q750 2026 690 1877T585 1559T517 1214T493 864Q493 633 535 398T651 -48T823 -416H661Q491 -135 400 185T309 864Z" />
<glyph unicode=")" horiz-adv-x="976" d="M667 864Q667 504 576 184T315 -416H153Q226 -298 286 -149T391 169T459 515T483 864Q483 1095 441 1330T325 1776T153 2144H315Q485 1863 576 1543T667 864Z" />
<glyph unicode="*" horiz-adv-x="1408" d="M629 896L640 1363L241 1119L167 1249L579 1472L167 1695L241 1825L640 1581L629 2048H779L768 1581L1167 1825L1241 1695L829 1472L1241 1249L1167 1119L768 1363L779 896H629Z" />
<glyph unicode="+" horiz-adv-x="1835" d="M832 167V1433H1003V167H832ZM284 715V885H1551V715H284Z" />
<glyph unicode="," horiz-adv-x="766" d="M531 280L513 173Q496 65 465 -65T401 -312T344 -500H207Q220 -432 240 -327T283 -95T323 168L337 280H531Z" />
<glyph unicode="-" horiz-adv-x="1276" d="M1064 962V794H212V962H1064Z" />
<glyph unicode="." horiz-adv-x="755" d="M377 -15Q318 -15 276 27T233 129Q233 189 275 231T377 273Q437 273 479 231T521 129Q521 90 502 57T450 5T377 -15Z" />
<glyph unicode="/" horiz-adv-x="973" d="M900 2144L240 -308H73L733 2144H900Z" />
<glyph unicode="0" horiz-adv-x="1728" d="M864 -28Q648 -28 496 96T262 457T180 1024Q180 1354 261 1589T496 1950T864 2076Q1078 2076 1231 1951T1466 1590T1548 1024Q1548 693 1467 457T1233 97T864 -28ZM864 140Q1101 140 1234 371T1367 1024Q1367 1304 1307
1502T1134 1806T864 1911Q629 1911 495 1678T361 1024Q361 744 421 546T594 244T864 140Z" />
<glyph unicode="1" horiz-adv-x="1255" d="M860 2048V0H673V1852H661L181 1533V1727L665 2048H860Z" />
<glyph unicode="2" horiz-adv-x="1719" d="M228 0V137L897 889Q1028 1037 1108 1142T1224 1336T1261 1521Q1261 1638 1207 1725T1057 1862T843 1911Q717 1911 623 1857T476 1709T424 1493H245Q245 1663 323 1794T538 2001T848 2076Q1019 2076 1152 2003T1361 1803T1437
1521Q1437 1408 1398 1302T1262 1066T996 748L488 181V168H1501V0H228Z" />
<glyph unicode="3" horiz-adv-x="1771" d="M893 -28Q704 -28 555 40T319 231T227 512H416Q421 400 485 317T655 187T891 140Q1033 140 1141 193T1311 338T1373 548Q1373 672 1310 767T1130 915T849 968H729V1136H849Q982 1136 1084 1184T1246 1321T1305 1528Q1305
1641 1254 1727T1111 1862T895 1911Q776 1911 677 1865T518 1735T453 1536H272Q276 1696 360 1817T585 2007T897 2076Q1078 2076 1210 2002T1414 1806T1487 1536Q1487 1361 1392 1237T1136 1064V1051Q1332 1012 1444 878T1557 548Q1557 384 1471 254T1236 48T893
-28Z" />
<glyph unicode="4" horiz-adv-x="1764" d="M179 440V592L1092 2048H1204V1793H1121L388 621V608H1585V440H179ZM1135 0V488V558V2048H1313V0H1135Z" />
<glyph unicode="5" horiz-adv-x="1677" d="M827 -28Q656 -28 522 41T308 233T223 512H404Q413 349 532 245T827 140Q964 140 1071 205T1238 385T1299 644Q1298 794 1234 908T1061 1088T815 1153Q712 1154 613 1119T448 1029L261 1053L384 2048H1396V1880H541L459
1195H469Q537 1252 634 1288T841 1324Q1022 1324 1166 1237T1395 998T1480 647Q1480 453 1396 301T1164 60T827 -28Z" />
<glyph unicode="6" horiz-adv-x="1717" d="M873 -28Q746 -27 625 23T407 186T253 484T196 939Q196 1189 240 1397T372 1757T592 1992T901 2076Q1067 2076 1194 2008T1400 1817T1499 1536H1315Q1287 1698 1182 1803T901 1908Q649 1908 511 1675T372 1012H385Q434
1103 511 1169T688 1273T896 1311Q1067 1311 1209 1225T1436 988T1521 644Q1521 461 1441 307T1215 62T873 -28ZM873 140Q1007 140 1112 208T1279 390T1340 644Q1340 783 1279 896T1113 1076T873 1143Q771 1143 683 1102T531 989T433 825T407 632Q418 491 480 380T644
204T873 140Z" />
<glyph unicode="7" horiz-adv-x="1586" d="M287 0L1220 1867V1880H145V2048H1416V1872L484 0H287Z" />
<glyph unicode="8" horiz-adv-x="1723" d="M861 -28Q665 -28 512 46T272 248T185 539Q185 666 238 776T384 962T593 1061V1072Q442 1116 350 1245T259 1540Q258 1693 337 1814T552 2005T861 2076Q1032 2076 1168 2006T1383 1814T1464 1540Q1463 1376 1371 1246T1129
1072V1061Q1245 1039 1337 963T1483 777T1537 539Q1537 377 1450 249T1210 46T861 -28ZM861 140Q1007 140 1117 192T1290 337T1353 548Q1353 671 1288 767T1112 920T861 977Q721 977 610 921T434 768T369 548Q369 429 430 337T603 193T861 140ZM861 1137Q981 1137
1076 1188T1226 1327T1283 1529Q1282 1641 1227 1727T1078 1862T861 1911Q739 1911 644 1863T494 1728T440 1529Q439 1416 494 1328T645 1188T861 1137Z" />
<glyph unicode="9" horiz-adv-x="1717" d="M844 2076Q972 2075 1092 2025T1310 1863T1464 1567T1521 1113Q1521 862 1477 653T1346 292T1126 56T816 -28Q651 -28 524 41T317 232T219 516H403Q430 352 535 246T816 140Q1067 140 1206 374T1345 1040H1332Q1284 950
1207 883T1030 779T821 741Q650 741 508 827T281 1064T196 1408Q196 1590 276 1742T502 1986T844 2076ZM844 1908Q711 1908 606 1841T439 1660T377 1408Q377 1269 438 1156T605 976T844 909Q946 909 1034 950T1186 1064T1284 1227T1311 1420Q1299 1560 1237 1670T1073
1844T844 1908Z" />
<glyph unicode=":" horiz-adv-x="755" d="M377 39Q318 39 276 81T233 183Q233 242 275 284T377 327Q437 327 479 285T521 183Q521 143 502 111T450 59T377 39ZM377 1147Q318 1147 276 1189T233 1291Q233 1350 275 1392T377 1435Q437 1435 479 1393T521 1291Q521
1251 502 1219T450 1167T377 1147Z" />
<glyph unicode=";" horiz-adv-x="768" d="M531 280L513 173Q496 65 465 -65T401 -312T344 -500H207Q220 -432 240 -327T283 -95T323 168L337 280H531ZM413 1147Q354 1147 312 1189T269 1291Q269 1350 311 1392T413 1435Q473 1435 515 1393T557 1291Q557 1251 538
1219T486 1167T413 1147Z" />
<glyph unicode="&lt;" horiz-adv-x="1835" d="M305 736V864L1529 1539V1343L525 801L535 819V781L525 799L1529 257V61L305 736Z" />
<glyph unicode="=" horiz-adv-x="1835" d="M348 1004V1169H1487V1004H348ZM348 431V596H1487V431H348Z" />
<glyph unicode="&gt;" horiz-adv-x="1835" d="M1529 736L305 61V257L1309 799L1300 781V819L1309 801L305 1343V1539L1529 864V736Z" />
<glyph unicode="?" horiz-adv-x="1401" d="M544 587V641Q545 799 579 898T679 1065T845 1197Q919 1245 969 1298T1046 1416T1073 1557Q1073 1665 1023 1746T886 1871T695 1916Q595 1916 509 1873T368 1745T308 1536H119Q124 1701 201 1822T407 2009T695 2076Q861
2076 987 2008T1184 1821T1255 1549Q1255 1448 1223 1365T1128 1212T969 1080Q879 1020 826 961T750 827T725 641V587H544ZM640 -15Q581 -15 539 27T496 129Q496 189 538 231T640 273Q699 273 741 231T784 129Q784 90 765 57T713 5T640 -15Z" />
<glyph unicode="@" horiz-adv-x="2636" d="M1371 -541Q1085 -541 857 -453T469 -200T223 199T137 720Q137 1002 223 1232T470 1627T854 1881T1352 1971Q1620 1971 1832 1878T2193 1623T2420 1257T2499 827Q2499 685 2478 547T2404 297T2260 119T2027 52Q1953 52
1882 76T1760 157T1701 309H1691Q1659 237 1601 178T1459 83T1263 51Q1137 54 1037 107T866 252T758 465T721 728Q721 864 762 979T877 1180T1050 1317T1263 1376Q1365 1383 1451 1357T1597 1280T1683 1167H1693V1348H1856V421Q1856 316 1897 258T2029 199Q2138
199 2206 270T2307 482T2339 829Q2339 985 2296 1131T2169 1403T1965 1623T1689 1771T1344 1824Q1110 1824 919 1745T591 1519T379 1169T305 715Q305 462 379 258T592 -91T930 -314T1376 -392Q1486 -392 1592 -371T1786 -318T1928 -257L1979 -397Q1905 -437 1804
-470T1590 -522T1371 -541ZM1284 208Q1420 208 1513 271T1653 452T1701 736Q1701 903 1651 1011T1508 1171T1289 1224Q1167 1224 1076 1158T933 980T881 736Q881 595 926 475T1061 282T1284 208Z" />
<glyph unicode="A" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785Z" />
<glyph unicode="B" horiz-adv-x="1823" d="M272 0V2048H963Q1163 2048 1296 1978T1497 1787T1564 1512Q1564 1384 1521 1293T1404 1146T1239 1065V1049Q1338 1042 1431 980T1584 805T1644 537Q1644 382 1575 261T1364 70T1001 0H272ZM459 168H1001Q1238 168 1351
273T1465 537Q1465 654 1409 749T1250 901T1009 957H459V168ZM459 1123H980Q1101 1123 1192 1173T1334 1311T1385 1512Q1385 1675 1279 1777T963 1880H459V1123Z" />
<glyph unicode="C" horiz-adv-x="2044" d="M1876 1408H1688Q1667 1513 1613 1602T1476 1759T1290 1863T1065 1900Q871 1900 712 1799T457 1503T361 1024Q361 739 456 544T711 249T1065 148Q1186 148 1290 185T1476 288T1612 445T1688 640H1876Q1851 499 1783 378T1609
165T1366 23T1065 -28Q807 -28 607 101T294 467T180 1024Q180 1345 293 1581T607 1946T1065 2076Q1229 2076 1366 2026T1608 1884T1782 1671T1876 1408Z" />
<glyph unicode="D" horiz-adv-x="2020" d="M872 0H272V2048H908Q1201 2048 1409 1926T1729 1576T1840 1029Q1840 707 1727 477T1397 123T872 0ZM459 168H861Q1125 168 1303 272T1570 569T1659 1029Q1658 1294 1572 1485T1316 1778T897 1880H459V168Z" />
<glyph unicode="E" horiz-adv-x="1671" d="M272 0V2048H1460V1880H459V1109H1397V941H459V168H1480V0H272Z" />
<glyph unicode="F" horiz-adv-x="1651" d="M272 0V2048H1457V1880H459V1109H1364V941H459V0H272Z" />
<glyph unicode="G" horiz-adv-x="2088" d="M1689 1408Q1661 1510 1607 1599T1474 1756T1291 1862T1060 1900Q860 1900 702 1796T453 1496T361 1024Q361 749 453 553T705 253T1073 148Q1262 148 1407 232T1633 472T1713 843L1773 824H1117V992H1895V824Q1895 562
1789 371T1498 76T1073 -28Q805 -28 604 101T292 467T180 1024Q180 1265 244 1459T425 1791T704 2002T1060 2076Q1228 2076 1367 2023T1613 1878T1788 1665T1881 1408H1689Z" />
<glyph unicode="H" horiz-adv-x="2080" d="M272 0V2048H459V1109H1621V2048H1808V0H1621V941H459V0H272Z" />
<glyph unicode="I" horiz-adv-x="731" d="M459 2048V0H272V2048H459Z" />
<glyph unicode="J" horiz-adv-x="1507" d="M1048 2048H1235V571Q1234 371 1163 238T967 38T680 -28Q521 -28 396 31T200 197T128 448H312Q312 357 360 288T491 179T680 140Q789 140 871 186T1001 327T1048 571V2048Z" />
<glyph unicode="K" horiz-adv-x="1803" d="M272 0V2048H459V945H477L1477 2048H1723L848 1101L1719 0H1491L732 971L459 665V0H272Z" />
<glyph unicode="L" horiz-adv-x="1584" d="M272 0V2048H459V168H1435V0H272Z" />
<glyph unicode="M" horiz-adv-x="2480" d="M272 2048H488L1231 264H1249L1992 2048H2208V0H2032V1653H2016L1325 0H1155L464 1653H448V0H272V2048Z" />
<glyph unicode="N" horiz-adv-x="2139" d="M1867 2048V0H1685L475 1715H459V0H272V2048H453L1667 331H1683V2048H1867Z" />
<glyph unicode="O" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024Z" />
<glyph unicode="P" horiz-adv-x="1761" d="M272 0V2048H933Q1151 2048 1297 1965T1518 1738T1593 1416Q1593 1237 1519 1094T1299 867T936 783H416V951H931Q1092 951 1198 1011T1356 1177T1409 1416Q1409 1550 1357 1655T1198 1820T928 1880H459V0H272Z" />
<glyph unicode="Q" horiz-adv-x="2131" d="M1039 640H1247L1509 293L1553 235L1875 -192H1667L1431 123L1389 179L1039 640ZM1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076
1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065 1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024Z" />
<glyph unicode="R" horiz-adv-x="1777" d="M272 0V2048H933Q1151 2048 1297 1970T1518 1753T1593 1435Q1593 1256 1519 1119T1298 905T936 828H373V999H931Q1091 999 1197 1052T1356 1203T1409 1435Q1409 1569 1356 1669T1197 1825T928 1880H459V0H272ZM1175 924L1679
0H1463L964 924H1175Z" />
<glyph unicode="S" horiz-adv-x="1772" d="M1384 1536Q1367 1707 1233 1808T896 1909Q753 1909 645 1860T475 1725T413 1528Q413 1447 448 1386T542 1282T674 1207T821 1155L1037 1093Q1135 1066 1233 1024T1412 919T1543 764T1593 544Q1593 380 1508 249T1264
42T883 -35Q674 -35 520 34T278 227T179 512H371Q381 391 451 307T633 180T883 136Q1036 136 1155 187T1343 331T1412 547Q1412 651 1358 721T1208 840T984 925L739 997Q498 1069 365 1196T232 1520Q232 1685 320 1810T560 2006T901 2077Q1092 2077 1239 2007T1472
1815T1565 1536H1384Z" />
<glyph unicode="T" horiz-adv-x="1781" d="M148 1880V2048H1633V1880H984V0H797V1880H148Z" />
<glyph unicode="U" horiz-adv-x="2096" d="M1637 2048H1824V692Q1824 483 1726 319T1454 60T1048 -35Q818 -35 643 60T370 319T272 692V2048H459V705Q459 542 532 415T737 214T1048 141Q1226 141 1359 214T1564 414T1637 705V2048Z" />
<glyph unicode="V" horiz-adv-x="1848" d="M275 2048L915 243H933L1573 2048H1769L1024 0H824L79 2048H275Z" />
<glyph unicode="W" horiz-adv-x="2619" d="M628 0L67 2048H257L721 287H737L1201 2048H1417L1881 287H1897L2361 2048H2552L1991 0H1791L1316 1737H1303L828 0H628Z" />
<glyph unicode="X" horiz-adv-x="1755" d="M304 2048L871 1159H884L1451 2048H1672L1013 1024L1672 0H1451L884 879H871L304 0H83L752 1024L83 2048H304Z" />
<glyph unicode="Y" horiz-adv-x="1824" d="M80 2048H296L903 1076H921L1528 2048H1744L1005 887V0H819V887L80 2048Z" />
<glyph unicode="Z" horiz-adv-x="1741" d="M191 0V141L1328 1880H185V2048H1551V1907L413 168H1561V0H191Z" />
<glyph unicode="[" horiz-adv-x="976" d="M339 -416V2144H851V1992H509V-264H851V-416H339Z" />
<glyph unicode="\" horiz-adv-x="973" d="M733 -308L73 2144H239L899 -308H733Z" />
<glyph unicode="]" horiz-adv-x="976" d="M637 2144V-416H125V-264H467V1992H125V2144H637Z" />
<glyph unicode="^" horiz-adv-x="1256" d="M597 1896H659V1808H597V1896ZM119 1120L529 1984H727L1137 1120H956L615 1848H641L303 1120H119Z" />
<glyph unicode="_" horiz-adv-x="1249" d="M1253 0V-168H-5V0H1253Z" />
<glyph unicode="`" horiz-adv-x="1400" d="M769 1749L462 2203H673L929 1749H769Z" />
<glyph unicode="a" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347 1414T553
1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337 281 437
205T688 128Z" />
<glyph unicode="b" horiz-adv-x="1727" d="M272 0V2048H451V1243H467Q497 1312 553 1385T702 1507T936 1557Q1125 1557 1268 1458T1491 1180T1571 764Q1571 526 1492 347T1270 68T939 -32Q799 -32 706 18T555 141T467 285H445V0H272ZM448 767Q448 581 503 438T663
213T917 131Q1070 131 1176 215T1337 444T1392 767Q1392 944 1338 1086T1177 1311T917 1395Q767 1395 663 1315T503 1093T448 767Z" />
<glyph unicode="c" horiz-adv-x="1567" d="M835 -32Q629 -32 477 71T240 353T156 761Q156 992 241 1172T479 1454T832 1557Q986 1557 1111 1498T1317 1331T1420 1080H1240Q1212 1210 1106 1302T835 1395Q688 1395 575 1316T399 1095T335 767Q335 580 397 437T571
212T835 131Q937 131 1021 169T1163 279T1241 448H1421Q1401 309 1323 201T1120 30T835 -32Z" />
<glyph unicode="d" horiz-adv-x="1727" d="M788 -32Q599 -32 457 68T236 347T156 764Q156 1001 235 1179T458 1457T791 1557Q931 1557 1024 1508T1173 1385T1260 1243H1276V2048H1455V0H1281V285H1260Q1229 215 1172 142T1022 18T788 -32ZM809 131Q958 131 1063
212T1223 437T1279 767Q1279 951 1224 1092T1064 1314T809 1395Q655 1395 550 1312T390 1086T335 767Q335 588 390 444T550 216T809 131Z" />
<glyph unicode="e" horiz-adv-x="1635" d="M856 -32Q641 -32 484 68T242 347T156 759Q156 991 241 1171T478 1454T829 1557Q954 1557 1070 1512T1278 1373T1425 1138T1479 803V715H279V872H1297Q1297 1020 1238 1138T1073 1326T829 1395Q683 1395 572 1317T399
1111T335 831V737Q335 554 398 418T579 206T856 131Q965 131 1047 165T1186 256T1272 383L1441 328Q1406 231 1327 149T1129 18T856 -32Z" />
<glyph unicode="f" horiz-adv-x="988" d="M867 1536V1381H112V1536H867ZM348 0V1761Q348 1885 405 1970T556 2099T753 2143Q823 2143 869 2132T943 2109L891 1953Q871 1959 842 1967T769 1975Q653 1975 590 1910T527 1724L526 0H348Z" />
<glyph unicode="g" horiz-adv-x="1692" d="M821 -608Q664 -608 546 -568T347 -457T221 -300L367 -204Q400 -262 455 -318T600 -411T821 -448Q1025 -448 1150 -346T1276 -29V317H1260Q1229 247 1171 178T1020 62T788 16Q604 16 462 107T238 367T156 772Q156 1005
235 1182T458 1458T791 1557Q932 1557 1025 1508T1174 1385T1263 1243H1281V1536H1455V-40Q1455 -235 1372 -361T1146 -547T821 -608ZM809 179Q957 179 1062 250T1223 456T1279 775Q1279 955 1224 1094T1065 1314T809 1395Q655 1395 549 1312T389 1089T335 775Q335
599 390 465T551 255T809 179Z" />
<glyph unicode="h" horiz-adv-x="1643" d="M413 960V0H235V2048H413V1295H429Q483 1414 596 1485T884 1556Q1040 1556 1158 1492T1342 1303T1408 995V0H1229V984Q1229 1174 1124 1283T839 1393Q716 1393 620 1341T469 1192T413 960Z" />
<glyph unicode="i" horiz-adv-x="653" d="M237 0V1536H416V0H237ZM328 1800Q273 1800 234 1837T195 1928Q195 1981 234 2018T328 2056Q383 2056 422 2019T461 1928Q461 1875 422 1838T328 1800Z" />
<glyph unicode="j" horiz-adv-x="653" d="M237 1536H416V-149Q416 -280 368 -375T227 -523T5 -576Q-5 -576 -15 -576T-37 -575L-35 -408Q-25 -408 -16 -408T3 -408Q113 -408 175 -340T237 -149V1536ZM325 1800Q271 1800 232 1837T192 1928Q192 1981 231 2018T325
2056Q380 2056 419 2019T459 1928Q459 1875 420 1838T325 1800Z" />
<glyph unicode="k" horiz-adv-x="1479" d="M397 580L395 813H435L1155 1536H1380L669 824L653 821L397 580ZM235 0V2048H413V0H235ZM1192 0L568 789L696 912L1420 0H1192Z" />
<glyph unicode="l" horiz-adv-x="648" d="M413 2048V0H235V2048H413Z" />
<glyph unicode="m" horiz-adv-x="2416" d="M235 0V1536H408V1300H424Q470 1419 577 1487T836 1556Q995 1556 1097 1482T1251 1277H1264Q1316 1405 1433 1480T1719 1556Q1933 1556 2057 1422T2181 1029V0H2003V1029Q2003 1211 1910 1302T1665 1393Q1489 1393 1394
1285T1299 1011V0H1117V1045Q1117 1201 1030 1297T785 1393Q679 1393 595 1341T462 1197T413 984V0H235Z" />
<glyph unicode="n" horiz-adv-x="1632" d="M413 960V0H235V1536H408V1295H424Q478 1413 592 1484T876 1556Q1031 1556 1148 1492T1331 1302T1397 995V0H1219V984Q1219 1173 1114 1283T831 1393Q710 1393 616 1341T468 1192T413 960Z" />
<glyph unicode="o" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329 933
1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131Z" />
<glyph unicode="p" horiz-adv-x="1689" d="M235 -576V1536H408V1243H429Q461 1312 517 1384T665 1507T899 1557Q1089 1557 1231 1458T1453 1180T1533 764Q1533 526 1454 347T1232 68T901 -32Q762 -32 669 18T518 141T429 285H413V-576H235ZM411 767Q411 581 466
438T626 213T880 131Q1033 131 1138 215T1299 444T1355 767Q1355 944 1301 1086T1140 1311T880 1395Q730 1395 625 1315T466 1093T411 767Z" />
<glyph unicode="q" horiz-adv-x="1689" d="M1276 -576V285H1260Q1229 215 1172 142T1021 18T788 -32Q600 -32 458 68T236 347T156 764Q156 1001 235 1179T458 1457T791 1557Q932 1557 1024 1507T1173 1385T1260 1243H1281V1536H1455V-576H1276ZM809 131Q958 131
1063 212T1223 437T1279 767Q1279 951 1224 1092T1065 1314T809 1395Q655 1395 549 1312T389 1086T335 767Q335 588 390 444T551 216T809 131Z" />
<glyph unicode="r" horiz-adv-x="1004" d="M235 0V1536H408V1300H421Q467 1416 581 1487T841 1559Q863 1559 890 1558T935 1556V1375Q923 1377 893 1381T828 1385Q708 1385 615 1335T467 1195T413 992V0H235Z" />
<glyph unicode="s" horiz-adv-x="1444" d="M1267 1199L1104 1153Q1080 1222 1036 1278T922 1367T747 1400Q591 1400 491 1326T391 1135Q391 1036 459 975T671 877L903 820Q1096 773 1192 671T1289 415Q1289 285 1217 184T1017 26T719 -32Q494 -32 348 69T161 363L332
405Q365 268 461 198T716 128Q893 128 999 207T1105 407Q1105 500 1043 563T855 657L604 717Q404 765 308 869T212 1127Q212 1254 281 1350T471 1502T747 1557Q958 1557 1084 1462T1267 1199Z" />
<glyph unicode="t" horiz-adv-x="1009" d="M840 1536V1381H107V1536H840ZM336 1904H515V401Q515 305 548 251T634 174T747 151Q782 151 807 155T851 165L889 4Q863 -6 825 -14T731 -23Q633 -23 543 20T394 148T336 359V1904Z" />
<glyph unicode="u" horiz-adv-x="1624" d="M1211 587V1536H1389V0H1211V255H1197Q1143 137 1026 59T740 -20Q593 -20 479 44T300 234T235 541V1536H413V552Q413 372 519 263T791 153Q895 153 991 203T1149 349T1211 587Z" />
<glyph unicode="v" horiz-adv-x="1536" d="M1424 1536L863 0H673L112 1536H305L761 235H775L1231 1536H1424Z" />
<glyph unicode="w" horiz-adv-x="2267" d="M576 0L112 1536H300L664 269H677L1040 1536H1229L1589 272H1603L1967 1536H2155L1691 0H1507L1143 1259H1124L760 0H576Z" />
<glyph unicode="x" horiz-adv-x="1483" d="M345 1536L741 881L1137 1536H1344L850 768L1344 0H1137L741 634L345 0H139L627 768L139 1536H345Z" />
<glyph unicode="y" horiz-adv-x="1536" d="M359 -576Q306 -576 260 -566T187 -544L235 -387Q326 -415 397 -408T523 -344T621 -171L677 -15L112 1536H305L761 235H775L1231 1536H1424L774 -243Q733 -354 673 -428T535 -539T359 -576Z" />
<glyph unicode="z" horiz-adv-x="1493" d="M187 0V141L1075 1355V1368H225V1536H1304V1389L432 181V168H1336V0H187Z" />
<glyph unicode="{" horiz-adv-x="976" d="M131 851V955Q300 955 364 1022T429 1256V1644Q429 1772 454 1866T534 2022T678 2114T897 2144V1992Q785 1992 719 1956T624 1842T595 1644V1203Q595 1118 575 1053T504 942T363 874T131 851ZM897 -416Q768 -416 679 -386T534
-295T454 -139T429 84V472Q429 639 365 706T131 773V877Q272 877 362 854T504 786T575 676T595 525V84Q595 -37 623 -113T718 -227T897 -264V-416ZM131 773V955H360V773H131Z" />
<glyph unicode="|" horiz-adv-x="869" d="M512 2708V-660H357V2708H512Z" />
<glyph unicode="}" horiz-adv-x="976" d="M845 877V773Q676 773 612 706T547 472V84Q547 -44 522 -138T442 -294T298 -386T79 -416V-264Q191 -264 257 -227T352 -114T381 84V525Q381 610 401 675T472 786T613 854T845 877ZM79 2144Q208 2144 297 2114T442 2023T522
1867T547 1644V1256Q547 1089 611 1022T845 955V851Q704 851 614 874T472 942T401 1052T381 1203V1644Q381 1765 353 1842T258 1955T79 1992V2144ZM845 955V773H616V955H845Z" />
<glyph unicode="~" horiz-adv-x="1835" d="M243 629Q245 767 299 855T440 985T627 1028Q729 1028 810 985T984 865Q1053 809 1101 782T1209 755Q1302 754 1361 816T1427 989L1592 984Q1587 847 1533 760T1393 631T1212 589Q1115 590 1037 631T865 749Q796 806
745 834T629 863Q536 863 474 805T408 627L243 629Z" />
<glyph unicode="&#xa0;" horiz-adv-x="792" />
<glyph unicode="&#xa1;" horiz-adv-x="768" d="M485 -520H283L296 941H472L485 -520ZM384 1543Q443 1543 485 1501T528 1399Q528 1339 486 1297T384 1255Q325 1255 283 1297T240 1399Q240 1439 259 1471T312 1523T384 1543Z" />
<glyph unicode="&#xa2;" horiz-adv-x="1567" d="M758 0V2048H889V0H758ZM835 229Q629 229 477 332T240 614T156 1023Q156 1254 241 1433T479 1716T832 1819Q986 1819 1111 1759T1317 1592T1420 1341H1240Q1212 1472 1106 1564T835 1656Q688 1656 575 1577T399
1356T335 1028Q335 841 397 698T571 474T835 392Q937 392 1021 430T1163 540T1241 709H1421Q1401 570 1323 462T1120 292T835 229Z" />
<glyph unicode="&#xa3;" horiz-adv-x="1776" d="M1517 0H197V168H1517V0ZM1101 815H192V988H1101V815ZM595 1455L625 507Q631 368 594 261T459 111L285 168Q350 168 386 223T435 357T447 507L419 1455Q412 1656 492 1794T708 2004T1000 2076Q1134 2076 1244 2029T1431
1900T1538 1715T1543 1503L1367 1551Q1384 1658 1337 1738T1201 1863T1008 1908Q897 1908 803 1857T651 1704T595 1455Z" />
<glyph unicode="&#xa4;" horiz-adv-x="1997" d="M993 -28Q824 -28 678 37T420 221T246 496T184 836Q184 1019 246 1175T419 1449T677 1631T993 1696Q1163 1696 1310 1631T1568 1449T1742 1176T1805 836Q1805 653 1743 496T1569 221T1310 38T993 -28ZM993 140Q1126
140 1242 194T1446 343T1582 565T1632 836Q1632 1030 1547 1187T1316 1438T993 1531Q815 1531 670 1438T438 1188T352 836Q352 643 438 485T669 234T993 140ZM1570 1308L1449 1435L1713 1707L1837 1580L1570 1308ZM1713 -13L1449 259L1570 383L1837 114L1713 -13ZM278
-13L157 114L421 383L545 259L278 -13ZM421 1308L157 1580L278 1707L545 1435L421 1308Z" />
<glyph unicode="&#xa5;" horiz-adv-x="1520" d="M255 2048L816 900L664 847L47 2048H255ZM704 900L1265 2048H1473L856 847L704 900ZM853 1035V0H667V1035H853ZM1312 985V844H208V985H1312ZM1312 640V499H208V640H1312Z" />
<glyph unicode="&#xa6;" horiz-adv-x="674" d="M253 545H421V-384H253V545ZM421 2048V1123H253V2048H421Z" />
<glyph unicode="&#xa7;" horiz-adv-x="1532" d="M1245 1588H1072Q1069 1726 993 1819T764 1913Q666 1913 599 1875T498 1776T464 1648Q464 1575 501 1519T595 1418T712 1339L1027 1153Q1080 1122 1140 1081T1254 986T1341 860T1375 697Q1375 618 1334 546T1223
422T1071 355V351Q1173 273 1214 191T1255 11Q1255 -131 1186 -225T1003 -368T755 -416Q603 -416 484 -356T297 -185T225 77H401Q405 -78 503 -165T755 -253Q888 -253 984 -186T1081 11Q1081 83 1050 135T961 231T825 320L509 503Q440 543 377 588T265 688T186
810T157 963Q157 1041 195 1116T301 1244T459 1311V1319Q382 1385 337 1464T291 1648Q291 1770 352 1866T519 2019T764 2076Q910 2076 1017 2014T1183 1841T1245 1588ZM1207 697Q1207 769 1168 826T1067 929T941 1013L611 1207Q539 1227 474 1199T367 1109T325
965Q325 860 398 788T597 643L905 464Q967 445 1037 470T1157 554T1207 697Z" />
<glyph unicode="&#xa8;" horiz-adv-x="1728" d="M608 1800Q557 1800 519 1838T480 1928Q480 1983 518 2019T608 2056Q663 2056 699 2020T736 1928Q736 1877 700 1839T608 1800ZM1120 1800Q1069 1800 1031 1838T992 1928Q992 1983 1030 2019T1120 2056Q1175 2056
1211 2020T1248 1928Q1248 1877 1212 1839T1120 1800Z" />
<glyph unicode="&#xa9;" horiz-adv-x="2576" d="M710 1024Q710 1188 790 1323T1005 1538T1304 1618Q1438 1618 1551 1563T1740 1413T1843 1195H1657Q1627 1304 1529 1373T1304 1442Q1189 1442 1094 1386T943 1235T886 1024Q886 909 942 814T1094 663T1304 606Q1431
606 1522 675T1644 853H1829Q1804 731 1731 636T1548 485T1304 430Q1140 430 1005 510T790 725T710 1024ZM1288 -32Q1070 -32 879 50T542 277T314 614T232 1024Q233 1243 315 1434T543 1770T879 1998T1288 2080Q1507 2080 1698 1998T2034 1771T2261 1434T2344 1024Q2345
805 2263 614T2036 278T1699 50T1288 -32ZM1288 144Q1471 144 1631 212T1911 401T2100 682T2168 1023Q2167 1206 2099 1366T1910 1646T1630 1835T1288 1904Q1106 1904 947 1836T668 1646T478 1366T408 1023Q407 842 475 683T665 403T946 213T1288 144Z" />
<glyph unicode="&#xaa;" horiz-adv-x="1181" d="M791 1184V1652Q791 1765 745 1820T601 1875Q496 1875 437 1830T374 1698L195 1713Q197 1854 307 1943T601 2032Q775 2032 873 1938T973 1652V1220Q972 1152 980 1092T1007 973H822Q807 1021 799 1076T791 1184ZM835
1572V1445H623Q487 1445 423 1394T358 1263Q358 1190 403 1149T541 1107Q598 1106 656 1128T758 1187T820 1263L844 1143Q790 1066 708 1009T501 952Q346 952 260 1036T173 1257Q174 1409 286 1490T623 1572H835Z" />
<glyph unicode="&#xab;" horiz-adv-x="1507" d="M771 220H607L203 820V840H376L771 220ZM771 1448L376 828H203V848L607 1448H771ZM1283 220H1119L715 820V840H888L1283 220ZM1283 1448L888 828H715V848L1119 1448H1283Z" />
<glyph unicode="&#xac;" horiz-adv-x="1482" d="M1312 1108V929H175V1108H1312ZM1312 1027V516H1107V1027H1312Z" />
<glyph unicode="&#xad;" horiz-adv-x="1276" d="M1064 962V794H212V962H1064Z" />
<glyph unicode="&#xae;" horiz-adv-x="1888" d="M673 916V1654H1027Q1083 1654 1135 1628T1222 1550T1257 1423Q1257 1348 1222 1294T1132 1210T1019 1181H745V1282H985Q1036 1282 1076 1318T1117 1423Q1117 1493 1077 1523T988 1553H802V916H673ZM1103 1259L1287
916H1143L964 1259H1103ZM944 476Q778 476 633 538T378 710T206 965T144 1276Q144 1442 206 1587T378 1842T633 2014T944 2076Q1110 2076 1255 2014T1510 1842T1682 1587T1744 1276Q1744 1110 1682 965T1510 710T1255 538T944 476ZM944 625Q1124 625 1271 713T1507
948T1595 1276Q1595 1456 1507 1603T1272 1839T944 1927Q764 1927 617 1839T381 1604T293 1276Q293 1096 381 949T616 713T944 625Z" />
<glyph unicode="&#xaf;" horiz-adv-x="1117" d="M977 2003V1848H140V2003H977Z" />
<glyph unicode="&#xb0;" horiz-adv-x="1280" d="M640 1177Q517 1177 416 1237T255 1398T195 1623Q195 1746 255 1847T416 2008T640 2068Q763 2068 864 2008T1025 1847T1085 1623Q1085 1500 1025 1399T864 1237T640 1177ZM640 1332Q721 1332 786 1371T891 1476T931
1623Q931 1703 892 1769T787 1874T640 1913Q560 1913 494 1874T389 1769T349 1623Q349 1542 388 1476T494 1371T640 1332Z" />
<glyph unicode="&#xb1;" horiz-adv-x="1835" d="M295 128V299H1540V128H295ZM295 923V1093H1540V923H295ZM832 480V1536H1003V480H832Z" />
<glyph unicode="&#xb2;" horiz-adv-x="1176" d="M149 1024V1144L608 1575Q686 1649 736 1704T810 1810T835 1916Q835 2014 760 2074T573 2135Q455 2135 383 2070T311 1904H151Q151 2065 270 2166T576 2268Q699 2268 793 2222T941 2097T995 1919Q995 1841 965 1774T867
1631T691 1453L388 1168V1161H1041V1024H149Z" />
<glyph unicode="&#xb3;" horiz-adv-x="1193" d="M597 1008Q466 1008 363 1052T198 1175T136 1356H304Q306 1263 390 1206T597 1148Q727 1148 810 1211T893 1369Q893 1466 803 1528T565 1591H487V1717H565Q688 1717 771 1774T855 1928Q855 2017 784 2076T599 2135Q486
2135 407 2077T324 1923H165Q167 2025 224 2103T379 2224T599 2268Q722 2268 816 2225T964 2107T1017 1936Q1017 1828 945 1757T764 1664V1656Q906 1633 984 1552T1063 1359Q1063 1259 1003 1180T838 1054T597 1008Z" />
<glyph unicode="&#xb4;" horiz-adv-x="1400" d="M594 1749L850 2203H1061L754 1749H594Z" />
<glyph unicode="&#xb5;" horiz-adv-x="1697" d="M232 -583V1536H411V587Q411 459 466 361T620 208T849 153Q980 153 1079 208T1233 361T1288 587V1536H1467V0H1288V233H1277Q1218 113 1103 47T849 -20Q711 -20 596 46T421 233H411V-583H232Z" />
<glyph unicode="&#xb6;" horiz-adv-x="1645" d="M1373 1880H957V760H841Q623 760 472 843T243 1072T165 1404Q165 1588 243 1733T472 1963T841 2048H1373V1880ZM1187 0V2048H1373V0H1187Z" />
<glyph unicode="&#xb7;" horiz-adv-x="755" d="M377 752Q318 752 276 794T233 896Q233 956 275 998T377 1040Q437 1040 479 998T521 896Q521 857 502 824T450 772T377 752Z" />
<glyph unicode="&#xb8;" horiz-adv-x="693" d="M274 8H426L411 -72Q497 -85 557 -141T619 -307Q618 -428 525 -499T249 -572L243 -447Q342 -445 399 -414T456 -312Q456 -237 404 -206T238 -169L274 8Z" />
<glyph unicode="&#xb9;" horiz-adv-x="844" d="M433 1024V2084H423L117 1881V2047L425 2252H593V1024H433Z" />
<glyph unicode="&#xba;" horiz-adv-x="1209" d="M144 1437V1547Q144 1692 199 1801T359 1971T605 2032Q821 2032 943 1899T1065 1547V1437Q1065 1291 1011 1183T853 1014T607 953Q391 953 268 1085T144 1437ZM324 1547V1437Q324 1289 396 1198T607 1107Q743 1106
814 1197T885 1437V1547Q885 1692 814 1784T605 1876Q469 1876 397 1785T324 1547Z" />
<glyph unicode="&#xbb;" horiz-adv-x="1513" d="M211 220L605 840H779V820L375 220H211ZM211 1448H375L779 848V828H605L211 1448ZM730 220L1124 840H1298V820L894 220H730ZM730 1448H894L1298 848V828H1124L730 1448Z" />
<glyph unicode="&#xbc;" horiz-adv-x="2395" d="M361 0L1768 2048H1945L539 0H361ZM376 1216V2136H365L91 1954V2121L368 2304H536V1216H376ZM1414 212V339L1950 1088H2058V903H1988L1585 348V344H2300V212H1414ZM1993 0V253L1996 308V1088H2146V0H1993Z" />
<glyph unicode="&#xbd;" horiz-adv-x="2545" d="M361 0L1768 2048H1945L539 0H361ZM376 1216V2136H365L91 1954V2121L368 2304H536V1216H376ZM1611 0V117L2028 493Q2136 592 2182 654T2228 784Q2228 869 2162 922T1996 975Q1895 975 1829 919T1763 776H1608Q1608
920 1717 1012T1999 1104Q2170 1104 2275 1013T2381 787Q2381 719 2355 659T2268 532T2105 375L1844 139V132H2428V0H1611Z" />
<glyph unicode="&#xbe;" horiz-adv-x="2626" d="M592 0L1999 2048H2176L770 0H592ZM1644 212V339L2180 1088H2288V903H2218L1815 348V344H2530V212H1644ZM2223 0V253L2226 308V1088H2376V0H2223ZM541 1200Q421 1200 326 1241T175 1353T120 1517H283Q283 1437 357
1386T541 1335Q654 1335 726 1390T799 1525Q799 1609 719 1661T512 1713H441V1831H512Q622 1831 695 1881T769 2012Q769 2088 706 2139T541 2191Q440 2191 372 2140T303 2008H145Q147 2099 199 2169T340 2279T541 2320Q654 2320 741 2281T877 2175T927 2023Q927
1930 863 1866T692 1783V1776Q822 1756 893 1686T965 1515Q965 1425 911 1354T762 1241T541 1200Z" />
<glyph unicode="&#xbf;" horiz-adv-x="1401" d="M857 951V896Q857 739 823 640T723 472T556 340Q484 293 433 239T355 122T328 -20Q328 -128 379 -208T515 -334T707 -379Q807 -379 893 -336T1034 -208T1093 1H1283Q1278 -163 1201 -284T995 -472T707 -539Q541
-539 415 -471T218 -283T147 -12Q147 90 178 173T273 326T432 457Q523 517 576 576T652 710T676 896V951H857ZM761 1552Q821 1552 863 1510T905 1408Q905 1349 863 1307T761 1264Q702 1264 660 1306T617 1408Q617 1448 636 1480T689 1532T761 1552Z" />
<glyph unicode="&#xc0;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM848 2261L541 2715H752L1008 2261H848Z" />
<glyph unicode="&#xc1;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM841 2261L1097 2715H1308L1001 2261H841Z" />
<glyph unicode="&#xc2;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM1163 2224L924 2513L685 2224H511V2237L849 2640H999L1337 2237V2224H1163Z" />
<glyph unicode="&#xc3;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM587 2283L443 2291Q448 2424 531 2508T734 2593Q795 2593 841 2572T927 2524T1010 2475T1107 2453Q1168 2453 1213 2497T1265
2607L1406 2591Q1399 2456 1316 2376T1115 2296Q1048 2296 1003 2317T921 2366T843 2414T742 2436Q678 2436 635 2392T587 2283Z" />
<glyph unicode="&#xc4;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM668 2312Q617 2312 579 2350T540 2440Q540 2495 578 2531T668 2568Q723 2568 759 2532T796 2440Q796 2389 760 2351T668 2312ZM1180
2312Q1129 2312 1091 2350T1052 2440Q1052 2495 1090 2531T1180 2568Q1235 2568 1271 2532T1308 2440Q1308 2389 1272 2351T1180 2312Z" />
<glyph unicode="&#xc5;" horiz-adv-x="1848" d="M275 0H79L824 2048H1024L1769 0H1573L931 1805H917L275 0ZM416 785H1432V617H416V785ZM924 2175Q812 2175 734 2253T655 2444Q655 2519 691 2580T788 2677T924 2713Q999 2713 1060 2677T1157 2580T1193 2444Q1193
2370 1157 2309T1060 2211T924 2175ZM924 2292Q988 2292 1031 2336T1075 2444Q1075 2508 1032 2552T924 2596Q860 2596 817 2552T773 2444Q773 2380 816 2336T924 2292Z" />
<glyph unicode="&#xc6;" horiz-adv-x="2759" d="M79 0L1088 2048H2548V1880H1547V1109H2485V941H1547V168H2568V0H1360V1880H1195L284 0H79ZM503 617V785H1455V617H503Z" />
<glyph unicode="&#xc7;" horiz-adv-x="2044" d="M1876 1408H1688Q1667 1513 1613 1602T1476 1759T1290 1863T1065 1900Q871 1900 712 1799T457 1503T361 1024Q361 739 456 544T711 249T1065 148Q1186 148 1290 185T1476 288T1612 445T1688 640H1876Q1851 499 1783
378T1609 165T1366 23T1065 -28Q807 -28 607 101T294 467T180 1024Q180 1345 293 1581T607 1946T1065 2076Q1229 2076 1366 2026T1608 1884T1782 1671T1876 1408ZM985 -3H1137L1122 -83Q1208 -96 1268 -152T1330 -318Q1329 -439 1236 -510T960 -583L954 -458Q1053
-456 1110 -425T1167 -323Q1167 -248 1115 -217T949 -180L985 -3Z" />
<glyph unicode="&#xc8;" horiz-adv-x="1671" d="M272 0V2048H1460V1880H459V1109H1397V941H459V168H1480V0H272ZM790 2261L483 2715H694L950 2261H790Z" />
<glyph unicode="&#xc9;" horiz-adv-x="1671" d="M272 0V2048H1460V1880H459V1109H1397V941H459V168H1480V0H272ZM783 2261L1039 2715H1250L943 2261H783Z" />
<glyph unicode="&#xca;" horiz-adv-x="1671" d="M272 0V2048H1460V1880H459V1109H1397V941H459V168H1480V0H272ZM1106 2224L867 2513L628 2224H454V2237L792 2640H942L1280 2237V2224H1106Z" />
<glyph unicode="&#xcb;" horiz-adv-x="1671" d="M272 0V2048H1460V1880H459V1109H1397V941H459V168H1480V0H272ZM611 2312Q560 2312 522 2350T483 2440Q483 2494 521 2531T611 2568Q666 2568 702 2531T739 2440Q739 2389 703 2351T611 2312ZM1123 2312Q1072 2312
1034 2350T995 2440Q995 2494 1033 2531T1123 2568Q1178 2568 1214 2531T1251 2440Q1251 2389 1215 2351T1123 2312Z" />
<glyph unicode="&#xcc;" horiz-adv-x="731" d="M459 2048V0H272V2048H459ZM289 2261L-18 2715H193L449 2261H289Z" />
<glyph unicode="&#xcd;" horiz-adv-x="731" d="M459 2048V0H272V2048H459ZM282 2261L538 2715H749L442 2261H282Z" />
<glyph unicode="&#xce;" horiz-adv-x="731" d="M459 2048V0H272V2048H459ZM604 2224L365 2513L126 2224H-48V2237L290 2640H440L778 2237V2224H604Z" />
<glyph unicode="&#xcf;" horiz-adv-x="731" d="M459 2048V0H272V2048H459ZM109 2312Q59 2312 20 2350T-19 2440Q-19 2495 20 2531T109 2568Q164 2568 200 2532T237 2440Q237 2389 201 2351T109 2312ZM621 2312Q571 2312 532 2350T493 2440Q493 2495 532 2531T621
2568Q676 2568 712 2532T749 2440Q749 2389 713 2351T621 2312Z" />
<glyph unicode="&#xd0;" horiz-adv-x="2020" d="M872 0H376V168H861Q1125 168 1303 272T1570 569T1659 1029Q1658 1294 1572 1485T1316 1778T897 1880H368V2048H908Q1201 2048 1409 1926T1729 1576T1840 1029Q1840 707 1727 477T1397 123T872 0ZM459 2048V0H272V2048H459ZM-55
979V1123H785V979H-55Z" />
<glyph unicode="&#xd1;" horiz-adv-x="2139" d="M1867 2048V0H1685L475 1715H459V0H272V2048H453L1667 331H1683V2048H1867ZM732 2260L588 2268Q593 2401 676 2486T879 2571Q940 2571 986 2550T1072 2501T1155 2452T1252 2431Q1313 2431 1358 2475T1410 2584L1551
2568Q1544 2434 1461 2354T1260 2273Q1193 2273 1148 2294T1066 2343T988 2392T887 2413Q823 2413 780 2369T732 2260Z" />
<glyph unicode="&#xd2;" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024ZM989 2261L682 2715H893L1149 2261H989Z" />
<glyph unicode="&#xd3;" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024ZM982 2261L1238 2715H1449L1142 2261H982Z" />
<glyph unicode="&#xd4;" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024ZM1304 2224L1065 2513L826 2224H652V2237L990 2640H1140L1478 2237V2224H1304Z" />
<glyph unicode="&#xd5;" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024ZM728 2283L584 2291Q589 2424 672 2508T875 2593Q936 2593 982 2572T1068 2524T1151 2475T1248 2453Q1309 2453 1354 2497T1406 2607L1547 2591Q1540
2456 1457 2376T1256 2296Q1189 2296 1144 2317T1062 2366T984 2414T883 2436Q819 2436 776 2392T728 2283Z" />
<glyph unicode="&#xd6;" horiz-adv-x="2131" d="M1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951 1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065
1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024ZM809 2312Q759 2312 720 2350T681 2440Q681 2495 720 2531T809 2568Q864 2568 900 2532T937 2440Q937 2389 901 2351T809 2312ZM1321 2312Q1271
2312 1232 2350T1193 2440Q1193 2495 1232 2531T1321 2568Q1376 2568 1412 2532T1449 2440Q1449 2389 1413 2351T1321 2312Z" />
<glyph unicode="&#xd7;" horiz-adv-x="1835" d="M1423 178L295 1306L412 1422L1540 294L1423 178ZM412 178L295 294L1423 1422L1540 1306L412 178Z" />
<glyph unicode="&#xd8;" horiz-adv-x="2131" d="M417 -72L299 9L1708 2117L1827 2036L417 -72ZM1951 1024Q1951 704 1837 468T1524 102T1065 -28Q806 -28 607 101T294 467T180 1024Q180 1344 293 1580T607 1946T1065 2076Q1324 2076 1523 1947T1837 1581T1951
1024ZM1769 1024Q1769 1299 1677 1495T1426 1796T1065 1900Q864 1900 705 1796T454 1496T361 1024Q361 749 453 553T704 253T1065 148Q1267 148 1426 252T1678 552T1769 1024Z" />
<glyph unicode="&#xd9;" horiz-adv-x="2096" d="M1637 2048H1824V692Q1824 483 1726 319T1454 60T1048 -35Q818 -35 643 60T370 319T272 692V2048H459V705Q459 542 532 415T737 214T1048 141Q1226 141 1359 214T1564 414T1637 705V2048ZM972 2261L665 2715H876L1132
2261H972Z" />
<glyph unicode="&#xda;" horiz-adv-x="2096" d="M1637 2048H1824V692Q1824 483 1726 319T1454 60T1048 -35Q818 -35 643 60T370 319T272 692V2048H459V705Q459 542 532 415T737 214T1048 141Q1226 141 1359 214T1564 414T1637 705V2048ZM965 2261L1221 2715H1432L1125
2261H965Z" />
<glyph unicode="&#xdb;" horiz-adv-x="2096" d="M1637 2048H1824V692Q1824 483 1726 319T1454 60T1048 -35Q818 -35 643 60T370 319T272 692V2048H459V705Q459 542 532 415T737 214T1048 141Q1226 141 1359 214T1564 414T1637 705V2048ZM1287 2224L1048 2513L809
2224H635V2237L973 2640H1123L1461 2237V2224H1287Z" />
<glyph unicode="&#xdc;" horiz-adv-x="2096" d="M1637 2048H1824V692Q1824 483 1726 319T1454 60T1048 -35Q818 -35 643 60T370 319T272 692V2048H459V705Q459 542 532 415T737 214T1048 141Q1226 141 1359 214T1564 414T1637 705V2048ZM792 2312Q741 2312 703
2350T664 2440Q664 2494 702 2531T792 2568Q847 2568 883 2531T920 2440Q920 2389 884 2351T792 2312ZM1304 2312Q1253 2312 1215 2350T1176 2440Q1176 2494 1214 2531T1304 2568Q1359 2568 1395 2531T1432 2440Q1432 2389 1396 2351T1304 2312Z" />
<glyph unicode="&#xdd;" horiz-adv-x="1824" d="M80 2048H296L903 1076H921L1528 2048H1744L1005 887V0H819V887L80 2048ZM829 2261L1085 2715H1296L989 2261H829Z" />
<glyph unicode="&#xde;" horiz-adv-x="1738" d="M252 2048H437V0H252V2048ZM340 1601H865Q1072 1601 1217 1527T1438 1324T1515 1033Q1515 870 1439 742T1218 539T865 465H340V633H865Q1016 633 1121 679T1281 814T1336 1029Q1336 1156 1281 1246T1120 1385T865
1433H340V1601Z" />
<glyph unicode="&#xdf;" horiz-adv-x="1683" d="M272 0V1529Q272 1698 343 1820T542 2009T835 2076Q997 2076 1123 2013T1322 1834T1393 1560Q1393 1381 1300 1256T1049 1078V1062Q1258 1032 1381 899T1505 555Q1505 393 1431 268T1224 71T909 0H713V168H917Q1041
168 1133 217T1276 352T1327 551Q1327 733 1199 846T851 960H721V1131H817Q939 1131 1028 1186T1166 1334T1215 1536Q1215 1698 1113 1803T839 1908Q667 1909 559 1804T451 1524V0H272Z" />
<glyph unicode="&#xe0;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM980 1749L673 2203H884L1140 1749H980Z" />
<glyph unicode="&#xe1;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM717 1749L973 2203H1184L877 1749H717Z" />
<glyph unicode="&#xe2;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM1039 1712L800 2001L561 1712H387V1725L725 2128H875L1213 1725V1712H1039Z" />
<glyph unicode="&#xe3;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM462 1748L318 1756Q323 1889 406 1974T609 2059Q670 2059 716 2038T802 1989T885 1940T982 1919Q1043 1919 1088 1963T1140 2072L1281 2056Q1274 1922 1191 1842T990 1761Q923 1761 878 1782T796 1831T718 1880T617 1901Q553 1901 510 1857T462
1748Z" />
<glyph unicode="&#xe4;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM544 1800Q493 1800 455 1838T416 1928Q416 1983 454 2019T544 2056Q599 2056 635 2020T672 1928Q672 1877 636 1839T544 1800ZM1056 1800Q1005 1800 967 1838T928 1928Q928 1983 966 2019T1056 2056Q1111 2056 1147 2020T1184 1928Q1184 1877
1148 1839T1056 1800Z" />
<glyph unicode="&#xe5;" horiz-adv-x="1567" d="M664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 828T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1058 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339 347
1414T553 1523T784 1557Q872 1557 967 1534T1145 1455T1278 1298T1329 1043V0H1151V243H1140Q1108 175 1045 111T887 6T664 -35ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701 527 667T386 574T337 421Q337
281 437 205T688 128ZM800 1715Q711 1715 639 1755T524 1863T481 2017Q481 2103 523 2173T638 2286T800 2328Q889 2328 960 2286T1074 2174T1116 2017Q1116 1932 1074 1864T961 1755T800 1715ZM800 1837Q879 1837 931 1892T983 2017Q983 2090 931 2146T800 2203Q721
2203 669 2147T617 2017Q617 1946 669 1892T800 1837Z" />
<glyph unicode="&#xe6;" horiz-adv-x="2601" d="M1823 -32Q1576 -32 1409 97T1193 433L1229 1164Q1305 1346 1450 1451T1796 1557Q1921 1557 2037 1512T2245 1373T2391 1138T2445 803V715H1249V872H2264Q2264 1020 2205 1138T2039 1325T1796 1395Q1649 1395 1538
1317T1365 1111T1301 831V737Q1301 554 1365 418T1546 206T1823 131Q1932 131 2014 165T2153 256T2239 383L2408 328Q2373 231 2294 149T2096 18T1823 -32ZM688 128Q830 128 934 191T1094 358T1151 589V811Q1131 792 1085 777T978 751T857 731T749 717Q619 701
527 667T386 574T337 421Q337 281 437 205T688 128ZM664 -35Q525 -35 410 19T227 177T159 429Q159 543 202 621T324 749T511 829T749 873Q878 889 967 901T1104 939T1151 1023V1059Q1151 1216 1057 1306T789 1397Q623 1397 519 1324T372 1152L203 1213Q255 1339
347 1414T553 1523T784 1557Q864 1557 947 1538T1104 1476T1233 1361T1311 1181L1249 347H1232Q1197 228 1111 143T909 11T664 -35Z" />
<glyph unicode="&#xe7;" horiz-adv-x="1567" d="M835 -32Q629 -32 477 71T240 353T156 761Q156 992 241 1172T479 1454T832 1557Q986 1557 1111 1498T1317 1331T1420 1080H1240Q1212 1210 1106 1302T835 1395Q688 1395 575 1316T399 1095T335 767Q335 580 397
437T571 212T835 131Q937 131 1021 169T1163 279T1241 448H1421Q1401 309 1323 201T1120 30T835 -32ZM744 8H896L881 -72Q967 -85 1027 -141T1089 -307Q1088 -428 995 -499T719 -572L713 -447Q812 -445 869 -414T926 -312Q926 -237 874 -206T708 -169L744 8Z" />
<glyph unicode="&#xe8;" horiz-adv-x="1635" d="M856 -32Q641 -32 484 68T242 347T156 759Q156 991 241 1171T478 1454T829 1557Q954 1557 1070 1512T1278 1373T1425 1138T1479 803V715H279V872H1297Q1297 1020 1238 1138T1073 1326T829 1395Q683 1395 572 1317T399
1111T335 831V737Q335 554 398 418T579 206T856 131Q965 131 1047 165T1186 256T1272 383L1441 328Q1406 231 1327 149T1129 18T856 -32ZM1000 1749L693 2203H904L1160 1749H1000Z" />
<glyph unicode="&#xe9;" horiz-adv-x="1635" d="M856 -32Q641 -32 484 68T242 347T156 759Q156 991 241 1171T478 1454T829 1557Q954 1557 1070 1512T1278 1373T1425 1138T1479 803V715H279V872H1297Q1297 1020 1238 1138T1073 1326T829 1395Q683 1395 572 1317T399
1111T335 831V737Q335 554 398 418T579 206T856 131Q965 131 1047 165T1186 256T1272 383L1441 328Q1406 231 1327 149T1129 18T856 -32ZM737 1749L993 2203H1204L897 1749H737Z" />
<glyph unicode="&#xea;" horiz-adv-x="1635" d="M856 -32Q641 -32 484 68T242 347T156 759Q156 991 241 1171T478 1454T829 1557Q954 1557 1070 1512T1278 1373T1425 1138T1479 803V715H279V872H1297Q1297 1020 1238 1138T1073 1326T829 1395Q683 1395 572 1317T399
1111T335 831V737Q335 554 398 418T579 206T856 131Q965 131 1047 165T1186 256T1272 383L1441 328Q1406 231 1327 149T1129 18T856 -32ZM1059 1712L820 2001L581 1712H407V1725L745 2128H895L1233 1725V1712H1059Z" />
<glyph unicode="&#xeb;" horiz-adv-x="1635" d="M856 -32Q641 -32 484 68T242 347T156 759Q156 991 241 1171T478 1454T829 1557Q954 1557 1070 1512T1278 1373T1425 1138T1479 803V715H279V872H1297Q1297 1020 1238 1138T1073 1326T829 1395Q683 1395 572 1317T399
1111T335 831V737Q335 554 398 418T579 206T856 131Q965 131 1047 165T1186 256T1272 383L1441 328Q1406 231 1327 149T1129 18T856 -32ZM564 1800Q513 1800 475 1838T436 1928Q436 1983 474 2019T564 2056Q619 2056 655 2020T692 1928Q692 1877 656 1839T564 1800ZM1076
1800Q1025 1800 987 1838T948 1928Q948 1983 986 2019T1076 2056Q1131 2056 1167 2020T1204 1928Q1204 1877 1168 1839T1076 1800Z" />
<glyph unicode="&#xec;" horiz-adv-x="653" d="M237 0V1536H416V0H237ZM252 1749L-55 2203H156L412 1749H252Z" />
<glyph unicode="&#xed;" horiz-adv-x="653" d="M237 0V1536H416V0H237ZM245 1749L501 2203H712L405 1749H245Z" />
<glyph unicode="&#xee;" horiz-adv-x="653" d="M237 0V1536H416V0H237ZM567 1712L328 2001L89 1712H-85V1725L253 2128H403L741 1725V1712H567Z" />
<glyph unicode="&#xef;" horiz-adv-x="653" d="M237 0V1536H416V0H237ZM72 1800Q21 1800 -17 1838T-56 1928Q-56 1983 -18 2019T72 2056Q127 2056 163 2020T200 1928Q200 1877 164 1839T72 1800ZM584 1800Q533 1800 495 1838T456 1928Q456 1983 494 2019T584 2056Q639
2056 675 2020T712 1928Q712 1877 676 1839T584 1800Z" />
<glyph unicode="&#xf0;" horiz-adv-x="1645" d="M1335 1969L527 1586L476 1705L1284 2088L1335 1969ZM823 -32Q624 -32 474 64T240 328T156 707Q156 923 240 1090T466 1352T783 1447Q898 1447 989 1408T1147 1304T1257 1163H1274Q1223 1314 1127 1472T875 1778T494
2043L570 2176Q751 2081 916 1939T1210 1615T1414 1216T1489 753Q1489 508 1404 332T1169 62T823 -32ZM823 131Q975 131 1086 206T1256 410T1316 697Q1316 847 1260 984T1093 1208T823 1295Q670 1295 561 1215T394 1001T335 707Q335 553 391 422T556 211T823 131Z"
/>
<glyph unicode="&#xf1;" horiz-adv-x="1632" d="M413 960V0H235V1536H408V1295H424Q478 1413 592 1484T876 1556Q1031 1556 1148 1492T1331 1302T1397 995V0H1219V984Q1219 1173 1114 1283T831 1393Q710 1393 616 1341T468 1192T413 960ZM480 1748L336 1756Q341
1889 424 1974T627 2059Q688 2059 734 2038T820 1989T903 1940T1000 1919Q1061 1919 1106 1963T1158 2072L1299 2056Q1292 1922 1209 1842T1008 1761Q941 1761 896 1782T814 1831T736 1880T635 1901Q571 1901 528 1857T480 1748Z" />
<glyph unicode="&#xf2;" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329
933 1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131ZM1012 1749L705 2203H916L1172 1749H1012Z" />
<glyph unicode="&#xf3;" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329
933 1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131ZM749 1749L1005 2203H1216L909 1749H749Z" />
<glyph unicode="&#xf4;" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329
933 1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131ZM1071 1712L832 2001L593 1712H419V1725L757 2128H907L1245 1725V1712H1071Z" />
<glyph unicode="&#xf5;" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329
933 1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131ZM494 1748L350 1756Q355 1889 438 1974T641 2059Q702 2059 748 2038T834 1989T917 1940T1014 1919Q1075 1919 1120 1963T1172 2072L1313 2056Q1306 1922
1223 1842T1022 1761Q955 1761 910 1782T828 1831T750 1880T649 1901Q585 1901 542 1857T494 1748Z" />
<glyph unicode="&#xf6;" horiz-adv-x="1664" d="M832 -32Q633 -32 481 69T242 348T156 761Q156 997 242 1176T480 1456T832 1557Q1031 1557 1183 1456T1421 1176T1508 761Q1508 527 1422 349T1184 69T832 -32ZM832 131Q992 131 1103 217T1271 446T1329 761Q1329
933 1272 1077T1103 1308T832 1395Q673 1395 562 1308T393 1077T335 761Q335 589 392 446T561 217T832 131ZM576 1800Q525 1800 487 1838T448 1928Q448 1983 486 2019T576 2056Q631 2056 667 2020T704 1928Q704 1877 668 1839T576 1800ZM1088 1800Q1037 1800 999
1838T960 1928Q960 1983 998 2019T1088 2056Q1143 2056 1179 2020T1216 1928Q1216 1877 1180 1839T1088 1800Z" />
<glyph unicode="&#xf7;" horiz-adv-x="1835" d="M1537 885V715H297V885H1537ZM917 160Q857 160 815 202T773 304Q773 362 815 403T917 445Q975 445 1017 404T1059 304Q1059 244 1017 202T917 160ZM917 1155Q877 1155 845 1174T793 1226T773 1299Q773 1357 815
1398T917 1440Q975 1440 1017 1399T1059 1299Q1059 1239 1017 1197T917 1155Z" />
<glyph unicode="&#xf8;" horiz-adv-x="1664" d="M357 -69L237 12L1307 1597L1427 1516L357 -69ZM832 -31Q633 -31 481 70T242 350T156 763Q156 998 242 1177T480 1458T832 1559Q1031 1559 1183 1458T1421 1178T1508 763Q1508 529 1422 350T1184 70T832 -31ZM832
132Q992 132 1103 218T1271 447T1329 763Q1329 935 1272 1078T1103 1309T832 1396Q673 1396 562 1309T393 1079T335 763Q335 591 392 448T561 218T832 132Z" />
<glyph unicode="&#xf9;" horiz-adv-x="1624" d="M1211 587V1536H1389V0H1211V255H1197Q1143 137 1026 59T740 -20Q593 -20 479 44T300 234T235 541V1536H413V552Q413 372 519 263T791 153Q895 153 991 203T1149 349T1211 587ZM993 1749L686 2203H897L1153 1749H993Z" />
<glyph unicode="&#xfa;" horiz-adv-x="1624" d="M1211 587V1536H1389V0H1211V255H1197Q1143 137 1026 59T740 -20Q593 -20 479 44T300 234T235 541V1536H413V552Q413 372 519 263T791 153Q895 153 991 203T1149 349T1211 587ZM730 1749L986 2203H1197L890 1749H730Z" />
<glyph unicode="&#xfb;" horiz-adv-x="1624" d="M1211 587V1536H1389V0H1211V255H1197Q1143 137 1026 59T740 -20Q593 -20 479 44T300 234T235 541V1536H413V552Q413 372 519 263T791 153Q895 153 991 203T1149 349T1211 587ZM1052 1712L813 2001L574 1712H400V1725L738
2128H888L1226 1725V1712H1052Z" />
<glyph unicode="&#xfc;" horiz-adv-x="1624" d="M1211 587V1536H1389V0H1211V255H1197Q1143 137 1026 59T740 -20Q593 -20 479 44T300 234T235 541V1536H413V552Q413 372 519 263T791 153Q895 153 991 203T1149 349T1211 587ZM813 1800Q762 1800 724 1838T685
1928Q685 1983 723 2019T813 2056Q868 2056 904 2020T941 1928Q941 1877 905 1839T813 1800ZM1325 1800Q1274 1800 1236 1838T1197 1928Q1197 1983 1235 2019T1325 2056Q1380 2056 1416 2020T1453 1928Q1453 1877 1417 1839T1325 1800Z" />
<glyph unicode="&#xfd;" horiz-adv-x="1536" d="M359 -576Q306 -576 260 -566T187 -544L235 -387Q326 -415 397 -408T523 -344T621 -171L677 -15L112 1536H305L761 235H775L1231 1536H1424L774 -243Q733 -354 673 -428T535 -539T359 -576ZM685 1749L941 2203H1152L845
1749H685Z" />
<glyph unicode="&#xfe;" horiz-adv-x="1685" d="M232 2048H411V1096L364 779L411 387V-576H232V2048ZM337 1243H427Q458 1312 514 1384T662 1507T896 1557Q1086 1557 1229 1458T1451 1180T1531 764Q1531 526 1451 347T1229 68T899 -32Q759 -32 666 18T515 141T427
285H337V1243ZM1352 767Q1352 944 1298 1086T1138 1311T877 1395Q727 1395 622 1315T463 1093T408 767Q408 581 463 438T624 213T877 131Q1030 131 1136 215T1297 444T1352 767Z" />
<glyph unicode="&#xff;" horiz-adv-x="1536" d="M359 -576Q306 -576 260 -566T187 -544L235 -387Q326 -415 397 -408T523 -344T621 -171L677 -15L112 1536H305L761 235H775L1231 1536H1424L774 -243Q733 -354 673 -428T535 -539T359 -576ZM512 1800Q461 1800 423
1838T384 1928Q384 1983 422 2019T512 2056Q567 2056 603 2020T640 1928Q640 1877 604 1839T512 1800ZM1024 1800Q973 1800 935 1838T896 1928Q896 1983 934 2019T1024 2056Q1079 2056 1115 2020T1152 1928Q1152 1877 1116 1839T1024 1800Z" />
<glyph unicode="&#x2013;" horiz-adv-x="1408" d="M1408 962V794H0V962H1408Z" />
<glyph unicode="&#x2014;" horiz-adv-x="2816" d="M2816 962V794H0V962H2816Z" />
<glyph unicode="&#x2018;" horiz-adv-x="535" d="M137 1408V1588Q137 1670 166 1762T252 1941T389 2092L487 2007Q411 1919 360 1812T308 1591V1408H137Z" />
<glyph unicode="&#x2019;" horiz-adv-x="493" d="M397 2048V1868Q397 1786 368 1694T282 1515T145 1364L48 1449Q123 1537 175 1644T227 1865V2048H397Z" />
<glyph unicode="&#x201a;" horiz-adv-x="535" d="M394 256V76Q394 -6 365 -98T279 -277T142 -428L45 -343Q120 -255 172 -148T224 73V256H394Z" />
<glyph unicode="&#x201c;" horiz-adv-x="1004" d="M137 1408V1588Q137 1670 166 1762T252 1941T389 2092L487 2007Q411 1919 360 1812T308 1591V1408H137ZM606 1408V1588Q606 1670 635 1762T721 1941T858 2092L956 2007Q880 1919 829 1812T777 1591V1408H606Z" />
<glyph unicode="&#x201d;" horiz-adv-x="1004" d="M397 2048V1868Q397 1786 368 1694T282 1515T145 1364L48 1449Q123 1537 175 1644T227 1865V2048H397ZM867 2048V1868Q867 1786 838 1694T752 1515T615 1364L517 1449Q593 1537 644 1644T696 1865V2048H867Z" />
<glyph unicode="&#x201e;" horiz-adv-x="1004" d="M397 256V76Q397 -6 368 -98T282 -277T145 -428L48 -343Q123 -255 175 -148T227 73V256H397ZM867 256V76Q867 -6 838 -98T752 -277T615 -428L517 -343Q593 -255 644 -148T696 73V256H867Z" />
<glyph unicode="&#x2022;" horiz-adv-x="1584" d="M792 437Q688 437 602 488T465 626T413 816Q413 921 464 1006T601 1143T792 1195Q897 1195 982 1144T1119 1007T1171 816Q1171 712 1120 626T983 489T792 437Z" />
<glyph unicode="&#x2039;" horiz-adv-x="995" d="M771 220H607L203 820V840H376L771 220ZM771 1448L376 828H203V848L607 1448H771Z" />
<glyph unicode="&#x203a;" horiz-adv-x="995" d="M211 220L605 840H779V820L375 220H211ZM211 1448H375L779 848V828H605L211 1448Z" />
</font>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More