Merge commit 'a024bc7d76fcc5e49e8210f9b0896db9ef21861a'
This commit is contained in:
commit
304a7e5e74
817 changed files with 5301 additions and 14766 deletions
13
docs/.codespellrc
Normal file
13
docs/.codespellrc
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Config file for codespell.
|
||||
# https://github.com/codespell-project/codespell#using-a-config-file
|
||||
|
||||
[codespell]
|
||||
|
||||
# Comma separated list of dirs to be skipped.
|
||||
skip = _vendor,.cspell.json,chroma.css,chroma_dark.css
|
||||
|
||||
# Comma separated list of words to be ignored. Words must be lowercased.
|
||||
ignore-words-list = abl,edn,te,ue,trys,januar,womens,crossreferences
|
||||
|
||||
# Check file names as well.
|
||||
check-filenames = true
|
|
@ -68,6 +68,7 @@
|
|||
"# ----------------------------------------------------------------------",
|
||||
"# cspell: ignore hugo terminology",
|
||||
"# ----------------------------------------------------------------------",
|
||||
"alignx",
|
||||
"attrlink",
|
||||
"canonify",
|
||||
"codeowners",
|
||||
|
@ -85,6 +86,7 @@
|
|||
"stringifier",
|
||||
"struct",
|
||||
"toclevels",
|
||||
"unmarshal",
|
||||
"unpublishdate",
|
||||
"zgotmplz",
|
||||
"# ----------------------------------------------------------------------",
|
||||
|
@ -158,6 +160,8 @@
|
|||
"# cspell: ignore miscellaneous",
|
||||
"# ----------------------------------------------------------------------",
|
||||
"achristie",
|
||||
"ccpa",
|
||||
"crpa",
|
||||
"ddmaurier",
|
||||
"dring",
|
||||
"fleqn",
|
||||
|
@ -171,6 +175,7 @@
|
|||
"rsmith",
|
||||
"tdewolff",
|
||||
"tjones",
|
||||
"vcard",
|
||||
"wcag",
|
||||
"xfeff"
|
||||
]
|
||||
|
|
1
docs/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
1
docs/.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
blank_issues_enabled: false
|
6
docs/.github/ISSUE_TEMPLATE/default.md
vendored
Normal file
6
docs/.github/ISSUE_TEMPLATE/default.md
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
name: Default
|
||||
about: This is the default issue template.
|
||||
labels:
|
||||
- NeedsTriage
|
||||
---
|
5
docs/.github/workflows/spellcheck.yml
vendored
5
docs/.github/workflows/spellcheck.yml
vendored
|
@ -20,3 +20,8 @@ jobs:
|
|||
incremental_files_only: true
|
||||
inline: warning
|
||||
strict: false
|
||||
- uses: codespell-project/actions-codespell@v2
|
||||
with:
|
||||
check_filenames: true
|
||||
check_hidden: true
|
||||
# by default, codespell uses configuration from the .codespellrc
|
||||
|
|
15
docs/.gitignore
vendored
15
docs/.gitignore
vendored
|
@ -1,10 +1,13 @@
|
|||
.DS_Store
|
||||
.hugo_build.lock
|
||||
/.idea
|
||||
/.vscode
|
||||
/public
|
||||
/dist
|
||||
node_modules
|
||||
/public
|
||||
hugo_stats.json
|
||||
node_modules/
|
||||
nohup.out
|
||||
.DS_Store
|
||||
trace.out
|
||||
.hugo_build.lock
|
||||
resources/_gen/images/
|
||||
package-lock.json
|
||||
public/
|
||||
resources/
|
||||
trace.out
|
202
docs/LICENSE.md
202
docs/LICENSE.md
|
@ -1,201 +1,3 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
See [content/LICENSE.md](content/LICENSE.md) for the license of the content of this repository.
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
The theme (layouts, CSS, JavaScript etc.) of this repository has no open source license. It is custom made for the Hugo sites and is not meant for reuse.
|
|
@ -16,3 +16,12 @@ Please see the [contributing] section for guidelines, examples, and process.
|
|||
[friends]: https://github.com/gohugoio/hugo/graphs/contributors
|
||||
[go]: https://go.dev/
|
||||
[contributing]: https://gohugo.io/contribute/documentation
|
||||
|
||||
# Install
|
||||
|
||||
```bash
|
||||
npm i
|
||||
hugo server
|
||||
```
|
||||
|
||||
**Note:** We're working on removing the need to run `npm i` for local development. Stay tuned.
|
File diff suppressed because one or more lines are too long
|
@ -1,21 +0,0 @@
|
|||
.animated {
|
||||
animation-duration: .5s;
|
||||
animation-fill-mode: forwards;
|
||||
animation-timing-function: ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.fadeIn {
|
||||
animation-name: fadeIn;
|
||||
}
|
||||
.animated-delay-1 {
|
||||
animation-delay: 0.5s;
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
/* These styles enhance the home page carousel, located here: themes/gohugoioTheme/layouts/partials/home-page-sections/showcase.html */
|
||||
.overflow-x-scroll{
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.row {
|
||||
transition: 450ms transform;
|
||||
font-size: 0;
|
||||
}
|
||||
.tile {
|
||||
transition: 450ms all;
|
||||
}
|
||||
.details {
|
||||
background: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.9)), to(rgba(0,0,0,0)));
|
||||
background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
|
||||
transition: 450ms opacity;
|
||||
}
|
||||
.tile:hover .details {
|
||||
opacity: 1;
|
||||
}
|
||||
.row:hover .tile {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.row:hover .tile:hover {
|
||||
opacity: 1;
|
||||
}
|
|
@ -1,89 +0,0 @@
|
|||
.chroma .lntable pre {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.chroma .lntable pre code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 2px 3px;
|
||||
margin: 0;
|
||||
font-size: 93.75%;
|
||||
background-color: rgba(27,31,35,0.05);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
pre code {
|
||||
display: block;
|
||||
padding: 1.5em 1.5em;
|
||||
font-size: .875rem;
|
||||
line-height: 2;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
white-space: pre;
|
||||
hyphens: none;
|
||||
position: relative;
|
||||
border-width: 1px;
|
||||
border-color: #ccc;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
/* The Pygments highlighter comes with its own styles. */
|
||||
.highlight pre {
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
padding: 0.5em;
|
||||
font-size: .875rem;
|
||||
}
|
||||
|
||||
|
||||
/*We are adding the copy button content here so we can change it with javascript. See the "Clipboard scripts"*/
|
||||
.copy:after {
|
||||
content: "Copy"
|
||||
}
|
||||
.copied:after {
|
||||
content: "Copied"
|
||||
}
|
||||
|
||||
@media (--breakpoint-large) {
|
||||
.full-width
|
||||
{
|
||||
/*width: 100vw;
|
||||
position: relative;
|
||||
left: 50%;
|
||||
right: 50%;
|
||||
margin-left: -50vw;
|
||||
margin-right: -50vw;*/
|
||||
/*width: 60vw;*/
|
||||
/*position: relative;
|
||||
left: 50%;
|
||||
right: 50%;*/
|
||||
/*margin-left: -30vw;*/
|
||||
margin-right: -30vw;
|
||||
max-width: 100vw;
|
||||
}
|
||||
}
|
||||
|
||||
.code-block .line-numbers-rows {
|
||||
background: #2f3a46;
|
||||
border: none;
|
||||
bottom: -50px;
|
||||
color: #98a4b3;
|
||||
left: -178px;
|
||||
padding: 50px 0;
|
||||
top: -50px;
|
||||
width: 138px
|
||||
}
|
||||
|
||||
.code-block .line-numbers-rows>span:before {
|
||||
color: inherit;
|
||||
padding-right: 30px
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
.primary-color {color: var(--primary-color)}
|
||||
.bg-primary-color {background-color: var(--primary-color)}
|
||||
.hover-bg-primary-color:hover {background-color: var(--primary-color)}
|
||||
|
||||
.primary-color-dark {color: var(--primary-color-dark)}
|
||||
.bg-primary-color-dark {background-color: var(--primary-color-dark)}
|
||||
.hover-bg-primary-color-dark:hover {background-color: var(--primary-color-dark)}
|
||||
|
||||
.primary-color-light {color: var(--primary-color-light)}
|
||||
.bg-primary-color-light {background-color: var(--primary-color-light)}
|
||||
.hover-bg-primary-color-light:hover {background-color: var(--primary-color-light)}
|
||||
|
||||
.accent-color {color: var(--accent-color)}
|
||||
.bg-accent-color {background-color: var(--accent-color)}
|
||||
.hover-bg-accent-color:hover {background-color: var(--accent-color)}
|
||||
|
||||
.accent-color-light {color: var(--accent-color-light)}
|
||||
.hover-accent-color-light:hover {color: var(--accent-color-light)}
|
||||
.bg-accent-color-light {background-color: var(--accent-color-light)}
|
||||
.hover-bg-accent-color-light:hover {background-color: var(--accent-color-light)}
|
||||
|
||||
.accent-color-dark {color: var(--accent-color-dark)}
|
||||
.bg-accent-color-dark {background-color: var(--accent-color-dark)}
|
||||
.hover-bg-accent-color-dark:hover {background-color: var(--accent-color-dark)}
|
||||
|
||||
.text-color-primary {color: var(--text-color-primary)}
|
||||
.text-on-primary-color {color: var(--text-on-primary-color)}
|
||||
.text-color-secondary {color: var(--text-color-secondary)}
|
||||
.text-color-disabled {color: var(--text-color-disabled)}
|
||||
.divider-color {color: var(--divider-color)}
|
||||
.warn-color {color: var(--warn-color)}
|
||||
|
||||
|
||||
.nested-links a {
|
||||
color: var(--primary-color);
|
||||
text-decoration: none;
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
.column-count-2 {column-count: 1}
|
||||
.column-gap-1 {column-gap: 0}
|
||||
.break-inside-avoid {break-inside: auto}
|
||||
|
||||
|
||||
@media (--breakpoint-large) {
|
||||
.column-count-3-l {column-count: 3}
|
||||
.column-count-2-l {column-count: 2}
|
||||
.column-gap-1-l {column-gap: 1}
|
||||
.break-inside-avoid-l {break-inside: avoid}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
.prose table {
|
||||
width: 100%;
|
||||
margin-bottom: 3em;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
font-size: 1em;
|
||||
border: 1px solid var(--light-gray);
|
||||
& th {
|
||||
background-color: var(--primary-color);
|
||||
border-bottom: 1px solid var(--primary-color);
|
||||
color: white;
|
||||
font-weight: 400;
|
||||
|
||||
text-align: left;
|
||||
padding: .375em .5em;
|
||||
}
|
||||
|
||||
& td, & tc {
|
||||
padding: .75em .5em;
|
||||
text-align: left;
|
||||
border-right: 1px solid var(--light-gray);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.prose table tr:nth-child(even) {
|
||||
background-color: var(--light-gray);
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
.prose ul, .prose ol {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
.prose ul li, .prose ol li {
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
.prose li:hover {
|
||||
background-color: var(--light-gray)
|
||||
}
|
||||
.prose ::selection {
|
||||
background: var(--primary-color); /* WebKit/Blink Browsers */
|
||||
color: white;
|
||||
}
|
||||
|
||||
.prose-glossary h3 {
|
||||
margin-top: 0;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.prose-glossary h3:first-of-type {
|
||||
margin-top: 3em;
|
||||
}
|
||||
|
||||
.prose-glossary h3 ~ p {
|
||||
margin: 0.5em 0 2em 0;
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
line-height: 1.45;
|
||||
|
||||
}
|
||||
|
||||
p {margin-bottom: 1.3em;}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
margin: 1.414em 0 0.5em;
|
||||
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top: 0;
|
||||
font-size: 2.441em;
|
||||
}
|
||||
|
||||
h2 {font-size: 1.953em;}
|
||||
|
||||
h3 {font-size: 1.563em;}
|
||||
|
||||
h4 {font-size: 1.25em;}
|
||||
|
||||
small, .font_small {font-size: 0.8em;}
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
dl dt {
|
||||
font-weight: bold;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
dd {
|
||||
margin: .5em 0 2em 0;
|
||||
padding: 0;
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
.note,
|
||||
.warning {
|
||||
|
||||
border-left-width: 4px;
|
||||
border-left-style: solid;
|
||||
position: relative;
|
||||
border-color: var(--primary-color);
|
||||
|
||||
display: block;
|
||||
}
|
||||
.note #exclamation-icon,
|
||||
.warning #exclamation-icon {
|
||||
|
||||
fill: var(--primary-color);
|
||||
position: absolute;
|
||||
top: 35%;
|
||||
left: -12px;
|
||||
/*background-color: white;*/
|
||||
}
|
||||
|
||||
.admonition-content {
|
||||
display: block;
|
||||
margin: 0px;
|
||||
padding: .125em 1em;
|
||||
/*margin-left: 1em;*/
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
overflow-x: auto;
|
||||
/*font-size: .9375em;*/
|
||||
background-color: var(--black-05);
|
||||
}
|
||||
|
||||
|
||||
.hide-child-menu .child-menu {
|
||||
display: none;
|
||||
}
|
||||
.hide-child-menu:hover .child-menu,
|
||||
.hide-child-menu:focus .child-menu,
|
||||
.hide-child-menu:active .child-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
/*documentation-copy headings exaggerate spacing and size to chunk content */
|
||||
.documentation-copy h2 {
|
||||
margin-top: 3em;
|
||||
&.minor {
|
||||
font-size: inherit;
|
||||
margin-top: inherit;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
.f2-fluid {
|
||||
font-size: 2.25rem;
|
||||
}
|
||||
|
||||
@media (--breakpoint-large) {
|
||||
.f2-fluid {
|
||||
font-size: 1.25rem;
|
||||
font-size: calc(0.875rem + 0.5 * ((100vw - 20rem) / 60));
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
/* From https://www.cssfontstack.com */
|
||||
code, .code, pre code, .highlight pre {
|
||||
font-family: 'inconsolata',Menlo,Monaco,'Courier New',monospace;
|
||||
}
|
||||
|
||||
.sans-serif {
|
||||
font-family: 'Muli', Avenir, 'Helvetica Neue', Helvetica, Roboto, Noto, 'Segoe UI', Arial, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
.serif {
|
||||
font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;
|
||||
}
|
||||
|
||||
/* Monospaced Typefaces (for code) */
|
||||
|
||||
|
||||
.courier {
|
||||
font-family: 'Courier Next',
|
||||
courier,
|
||||
monospace;
|
||||
}
|
||||
|
||||
|
||||
/* Sans-Serif Typefaces */
|
||||
|
||||
.helvetica {
|
||||
font-family: 'helvetica neue', helvetica,
|
||||
sans-serif;
|
||||
}
|
||||
|
||||
.avenir {
|
||||
font-family: 'avenir next', avenir,
|
||||
sans-serif;
|
||||
}
|
||||
|
||||
|
||||
/* Serif Typefaces */
|
||||
|
||||
.athelas {
|
||||
font-family: athelas,
|
||||
georgia,
|
||||
serif;
|
||||
}
|
||||
|
||||
.georgia {
|
||||
font-family: georgia,
|
||||
serif;
|
||||
}
|
||||
|
||||
.times {
|
||||
font-family: times,
|
||||
serif;
|
||||
}
|
||||
|
||||
.bodoni {
|
||||
font-family: "Bodoni MT",
|
||||
serif;
|
||||
}
|
||||
|
||||
.calisto {
|
||||
font-family: "Calisto MT",
|
||||
serif;
|
||||
}
|
||||
|
||||
.garamond {
|
||||
font-family: garamond,
|
||||
serif;
|
||||
}
|
||||
|
||||
.baskerville {
|
||||
font-family: baskerville,
|
||||
serif;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
.header-link:after {
|
||||
position: relative;
|
||||
left: 0.5em;
|
||||
opacity: 0;
|
||||
font-size: 0.8em;
|
||||
-moz-transition: opacity 0.2s ease-in-out 0.1s;
|
||||
-ms-transition: opacity 0.2s ease-in-out 0.1s;
|
||||
}
|
||||
h2:hover .header-link,
|
||||
h3:hover .header-link,
|
||||
h4:hover .header-link,
|
||||
h5:hover .header-link,
|
||||
h6:hover .header-link {
|
||||
opacity: 1;
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/* pagination.html: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */
|
||||
.pagination {
|
||||
margin: 3rem 0;
|
||||
}
|
||||
|
||||
.pagination li {
|
||||
display: inline-block;
|
||||
margin-right: .375rem;
|
||||
font-size: .875rem;
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
.pagination li a {
|
||||
padding: .5rem .625rem;
|
||||
background-color: white;
|
||||
color: #333;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.pagination li.disabled {
|
||||
display: none;
|
||||
}
|
||||
.pagination li.active a:link,
|
||||
.pagination li.active a:active,
|
||||
.pagination li.active a:visited {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
/* Hides non-meaningful TOC items*/
|
||||
#TableOfContents ul li ul li ul li{
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
#TableOfContents ul li {
|
||||
color: black;
|
||||
display: block;
|
||||
margin-bottom: .375em;
|
||||
line-height: 1.375;
|
||||
}
|
||||
|
||||
#TableOfContents ul li a{
|
||||
width: 100%;
|
||||
padding: .25em .375em;
|
||||
margin-left: -.375em;
|
||||
|
||||
}
|
||||
#TableOfContents ul li a:hover {
|
||||
background-color: #999;
|
||||
color: white;
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
.no-js .needs-js {
|
||||
opacity: 0
|
||||
}
|
||||
.js .needs-js {
|
||||
opacity: 1;
|
||||
transition: opacity .15s ease-in;
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
@media print {
|
||||
#page-footer,
|
||||
body > footer,
|
||||
body > nav {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
#right-sidebar {
|
||||
scrollbar-width: none; /* hide scrollbar: Firefox */
|
||||
-ms-overflow-style: none; /* hide scrollbar: Internet Explorer 10+ */
|
||||
height: calc(100vh - 9rem);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#right-sidebar::-webkit-scrollbar { /* hide scrollbar: WebKit */
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
/*
|
||||
Make h6 elements behave like dt elements. Initially implemented to support
|
||||
linkable glossary entries.
|
||||
|
||||
Yes, it's a hack. That's why it's in the shame file.
|
||||
*/
|
||||
|
||||
h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
h6:first-of-type {
|
||||
margin-top: 3em;
|
||||
}
|
||||
|
||||
h6 ~ p {
|
||||
margin: 0.5em 0 2em 0;
|
||||
}
|
||||
|
||||
/* QR codes */
|
||||
img.qrcode {
|
||||
width: initial;
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
.facebook,
|
||||
.twitter,
|
||||
.instagram,
|
||||
.youtube {
|
||||
fill: #bababa;
|
||||
}
|
||||
.facebook:hover {
|
||||
fill: #3b5998;
|
||||
}
|
||||
|
||||
.twitter {
|
||||
fill: #55acee;
|
||||
}
|
||||
|
||||
.twitter:hover {
|
||||
fill: #bababa;
|
||||
}
|
||||
|
||||
.instagram:hover {
|
||||
fill: #e95950;
|
||||
}
|
||||
|
||||
.youtube:hover {
|
||||
fill: #bb0000;
|
||||
}
|
||||
|
||||
.mstdn {
|
||||
display: inline-block;
|
||||
background-color: #282c37;
|
||||
color: #d9e1e8;
|
||||
text-decoration: none;
|
||||
padding: 4px 10px 4px 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 16px;
|
||||
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2261.076954mm%22%20height%3D%2265.47831mm%22%20viewBox%3D%220%200%20216.4144%20232.00976%22%3E%3Cpath%20d%3D%22M211.80734%20139.0875c-3.18125%2016.36625-28.4925%2034.2775-57.5625%2037.74875-15.15875%201.80875-30.08375%203.47125-45.99875%202.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125%200%202.53375.15625%204.94625.46875%207.2025%203.38375%2025.68625%2025.47%2027.225%2046.39125%2027.9425%2021.11625.7225%2039.91875-5.20625%2039.91875-5.20625l.8675%2019.09s-14.77%207.93125-41.08125%209.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234%20213.82%201.40609%20165.31125.20859%20116.09125c-.365-14.61375-.14-28.39375-.14-39.91875%200-50.33%2032.97625-65.0825%2032.97625-65.0825C49.67234%203.45375%2078.20359.2425%20107.86484%200h.72875c29.66125.2425%2058.21125%203.45375%2074.8375%2011.09%200%200%2032.975%2014.7525%2032.975%2065.0825%200%200%20.41375%2037.13375-4.59875%2062.915%22%20fill%3D%22%233088d4%22%2F%3E%3Cpath%20d%3D%22M177.50984%2080.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025%200-17.4175%207.5075-17.4175%2022.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375%200-15.74%206.32875-15.74%2018.7975v59.15H38.90484V80.077c0-12.455%203.17125-22.3525%209.54125-29.675%206.56875-7.3225%2015.17125-11.07625%2025.85-11.07625%2012.355%200%2021.71125%204.74875%2027.8975%2014.2475l6.01375%2010.08125%206.015-10.08125c6.185-9.49875%2015.54125-14.2475%2027.8975-14.2475%2010.6775%200%2019.28%203.75375%2025.85%2011.07625%206.36875%207.3225%209.54%2017.22%209.54%2029.675%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
|
||||
background-size: 16px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: top 50% left 8px;
|
||||
transition: all 0.5s;
|
||||
}
|
||||
.mstdn:hover {
|
||||
background-color: #484c56;
|
||||
}
|
||||
|
||||
.mstdn > span {
|
||||
color: #9baec8;
|
||||
font-size: 12px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
.mstdn > span:before {
|
||||
content: "@";
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
|
||||
@media (min-width: 75em) {
|
||||
|
||||
[data-scrolldir="down"] .sticky {
|
||||
position: fixed;
|
||||
top:100px;
|
||||
right:0;
|
||||
}
|
||||
|
||||
[data-scrolldir="up"] .sticky {
|
||||
position: fixed;
|
||||
top:100px;
|
||||
right:0;
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
.fill-current { fill: currentColor; }
|
|
@ -1,34 +0,0 @@
|
|||
.tab-button{
|
||||
margin-bottom:1px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color:#333;
|
||||
border-color:#ccc;
|
||||
outline: none;
|
||||
background-color:white;
|
||||
}
|
||||
.tab-pane code{
|
||||
background:#f1f2f2;
|
||||
border-radius:0;
|
||||
}
|
||||
.tab-pane .chroma{
|
||||
background:none;
|
||||
padding:0;
|
||||
}
|
||||
.tab-button.active{
|
||||
border-bottom-color:#f1f2f2;
|
||||
background-color: #f1f2f2;
|
||||
}
|
||||
.tab-content .tab-pane{
|
||||
display: none;
|
||||
}
|
||||
.tab-content .tab-pane.active{
|
||||
display: block;
|
||||
}
|
||||
/* Treatment of copy buttons inside a tab module */
|
||||
.tab-content .copy, .tab-content .copied{
|
||||
display: none;
|
||||
}
|
||||
.tab-content .tab-pane.active + .copy, .tab-content .tab-pane.active + .copied{
|
||||
display: block;
|
||||
}
|
|
@ -1,94 +0,0 @@
|
|||
/*! TACHYONS v4.7.0 | http://tachyons.io */
|
||||
|
||||
/*
|
||||
* NOTE: The Tachyons folder is for backup/reference only. This file references the module
|
||||
* ________ ______
|
||||
* ___ __/_____ _________ /______ ______________________
|
||||
* __ / _ __ `/ ___/_ __ \_ / / / __ \_ __ \_ ___/
|
||||
* _ / / /_/ // /__ _ / / / /_/ // /_/ / / / /(__ )
|
||||
* /_/ \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
|
||||
* /____/
|
||||
*
|
||||
* TABLE OF CONTENTS
|
||||
*
|
||||
* 1. External Library Includes
|
||||
* - Normalize.css | http://normalize.css.github.io
|
||||
* 2. Tachyons Modules
|
||||
* 3. Variables
|
||||
* - Media Queries
|
||||
* - Colors
|
||||
* 4. Debugging
|
||||
* - Debug all
|
||||
* - Debug children
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* External Library Includes */
|
||||
@import 'tachyons/src/_normalize';
|
||||
|
||||
|
||||
/* Modules */
|
||||
@import 'tachyons/src/_box-sizing';
|
||||
/*@import 'tachyons/src/_aspect-ratios';*/
|
||||
@import 'tachyons/src/_images';
|
||||
@import 'tachyons/src/_background-size';
|
||||
@import 'tachyons/src/_background-position';
|
||||
/*@import 'tachyons/src/_outlines';*/
|
||||
@import 'tachyons/src/_borders';
|
||||
@import 'tachyons/src/_border-colors';
|
||||
@import 'tachyons/src/_border-radius';
|
||||
@import 'tachyons/src/_border-style';
|
||||
@import 'tachyons/src/_border-widths';
|
||||
@import 'tachyons/src/_box-shadow';
|
||||
/*@import 'tachyons/src/_code';*/
|
||||
@import 'tachyons/src/_coordinates';
|
||||
@import 'tachyons/src/_clears';
|
||||
@import 'tachyons/src/_display';
|
||||
@import 'tachyons/src/_flexbox';
|
||||
@import 'tachyons/src/_floats';
|
||||
/*@import 'tachyons/src/_font-family';*/
|
||||
@import 'tachyons/src/_font-style';
|
||||
@import 'tachyons/src/_font-weight';
|
||||
@import 'tachyons/src/_forms';
|
||||
@import 'tachyons/src/_heights';
|
||||
@import 'tachyons/src/_letter-spacing';
|
||||
@import 'tachyons/src/_line-height';
|
||||
@import 'tachyons/src/_links';
|
||||
@import 'tachyons/src/_lists';
|
||||
@import 'tachyons/src/_max-widths';
|
||||
@import 'tachyons/src/_widths';
|
||||
@import 'tachyons/src/_overflow';
|
||||
@import 'tachyons/src/_position';
|
||||
@import 'tachyons/src/_opacity';
|
||||
/*@import 'tachyons/src/_rotations';*/
|
||||
@import 'tachyons/src/_skins';
|
||||
@import 'tachyons/src/_skins-pseudo';
|
||||
@import 'tachyons/src/_spacing';
|
||||
@import 'tachyons/src/_negative-margins';
|
||||
@import 'tachyons/src/_tables';
|
||||
@import 'tachyons/src/_text-decoration';
|
||||
@import 'tachyons/src/_text-align';
|
||||
@import 'tachyons/src/_text-transform';
|
||||
@import 'tachyons/src/_type-scale';
|
||||
@import 'tachyons/src/_typography';
|
||||
@import 'tachyons/src/_utilities';
|
||||
@import 'tachyons/src/_visibility';
|
||||
@import 'tachyons/src/_white-space';
|
||||
@import 'tachyons/src/_vertical-align';
|
||||
@import 'tachyons/src/_hovers';
|
||||
@import 'tachyons/src/_z-index';
|
||||
@import 'tachyons/src/_nested';
|
||||
/*@import 'tachyons/src/_styles';*/
|
||||
|
||||
/* Variables */
|
||||
/* Importing here will allow you to override any variables in the modules */
|
||||
@import 'tachyons/src/_colors';
|
||||
@import 'tachyons/src/_media-queries';
|
||||
|
||||
/* Debugging */
|
||||
/*@import 'tachyons/src/_debug-children';
|
||||
@import 'tachyons/src/_debug-grid';*/
|
||||
|
||||
/* Uncomment out the line below to help debug layout issues */
|
||||
/* @import 'tachyons/src/_debug'; */
|
|
@ -1,16 +0,0 @@
|
|||
:root {
|
||||
--primary-color: #0594CB;
|
||||
--primary-color-dark: #0A1922;
|
||||
--primary-color-light: #f9f9f9;
|
||||
--accent-color: #EBB951;
|
||||
--accent-color-light: #FF4088;
|
||||
--accent-color-dark: #33ba91;
|
||||
--text-color-primary: #373737;
|
||||
--text-on-primary-color: #fff;
|
||||
--text-color-secondary: #ccc;
|
||||
--text-color-disabled: #F7f7f7;
|
||||
--divider-color: #f6f6f6;
|
||||
--warn-color: red;
|
||||
|
||||
--blue: var(--primary-color);
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
/*Base Styles*/
|
||||
@import '_tachyons';
|
||||
|
||||
/* purgecss start ignore */
|
||||
@import '_header-link';
|
||||
@import '_animation';
|
||||
@import '_documentation-styles';
|
||||
|
||||
@import 'docsearch.js/dist/cdn/docsearch.min';
|
||||
@import '_carousel';
|
||||
@import '_code';
|
||||
@import '_tabs';
|
||||
@import '_color-scheme';
|
||||
@import '_columns';
|
||||
@import '_content';
|
||||
@import '_content-tables';
|
||||
@import '_definition-lists';
|
||||
@import '_fluid-type';
|
||||
@import '_font-family';
|
||||
@import '_hugo-internal-template-styling';
|
||||
@import '_no-js';
|
||||
@import '_social-icons';
|
||||
@import '_stickyheader';
|
||||
@import '_right-sidebar';
|
||||
@import '_svg';
|
||||
@import '_chroma';
|
||||
@import '_variables';
|
||||
@import '_print';
|
||||
@import '_shame';
|
||||
|
||||
.nested-blockquote blockquote {
|
||||
border-left: 4px solid var(--primary-color);
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.mw-90 {
|
||||
max-width:90%;
|
||||
}
|
||||
/* purgecss end ignore */
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 575.8 178.3" viewBox="0 0 575.8 178.3"><path d="m148.6 78.9-24.7-13.6-20.8 12.7-.3 13-10.1-6.7-13.8 8.4c-.2-3.9-.4-8.6-.6-14.2l-14.2-9.5c3.9-2 8.4-4.3 13.5-7-.1 0 .1 1.4-2-46.5l-32-15.4-43.6 13.6 9.7 46.9 14.6 11.4-11.1 5.3 7.3 35.3 10.2 9.6-7.3 4.5 5.7 27.3 22.9 24.3c.1-.1 2.4-1.9 29.5-23.5l-.8-18.6 11.7 9.9c.2-.2 2.4-1.9 23.7-18.8l.8-13.7 8.8 6.1c.1-.2 2.1-1.7 19.3-15.3z"></path><path d="m128.1 93.5 20.5-14.6-24.7-13.6-20.8 12.7z" fill="#141414"></path><path d="m125.8 119.5 2.3-26-25-15.5-.5 25.4z" fill="#004b16"></path><path d="m92.6 146-.3-27-25.1-19.1 1.9 26.4z" fill="#004b16"></path><path d="m92.3 119 25.5-18.2-25.1-16.5-25.5 15.6z" fill="#141414"></path><path d="m52.1 178.2-4.1-27.6-24.6-24.1 5.7 27.4z" fill="#004b16"></path><path d="m48 150.6 32.4-23.1-25.1-20.4-31.9 19.4z" fill="#141414"></path><path d="m45.9 136.3-5.3-36.4-27.4-22.8 7.3 35.4z" fill="#004b16"></path><path d="m40.6 99.9 37.7-21.4-28.2-18.9-36.9 17.5z" fill="#141414"></path><path d="m38 82.5-7.3-49.9-30.7-19 9.7 46.9z" fill="#004b16"></path><path d="m30.7 32.6 44.9-17.2-32-15.4-43.6 13.6z" fill="#141414"></path><g fill="#1cb35c"><path d="m145.2 104.2c-19 15.1-19.4 15.4-19.3 15.4 2.4-27.2 2.2-26 2.3-26 21.8-15.5 20.4-14.6 20.5-14.6z"></path><path d="m116.2 127.2c-23.5 18.7-23.8 18.8-23.7 18.8-.2-28.2-.3-27-.2-27 27.1-19.4 25.4-18.2 25.5-18.2z"></path><path d="m81.6 154.7c-29.4 23.3-29.6 23.5-29.5 23.5-4.2-28.4-4.1-27.5-4-27.5 34.5-24.6 32.3-23.1 32.4-23.1z"></path><path d="m75.6 15.4c2.1 47.9 1.9 46.5 2 46.5-38.8 20.2-39.7 20.6-39.6 20.6-7.5-51-7.4-49.9-7.3-49.9z"></path><path d="m78.3 78.5c1.6 36.3 1.4 35.1 1.5 35.1-33.6 22.6-34 22.8-33.9 22.8-5.5-37.4-5.4-36.4-5.3-36.4z"></path></g><path d="m191.4 33.6 16.8-4c0 81.8-3.1 93.5 8 97.1-2.6 4.9-7.1 7.4-13.3 7.4-15.3 0-11.5-11.3-11.5-100.5z"></path><path d="m233.7 132.7v-58.4h-9.2v-13.8h26.3v72.2zm8.7-100.1c12.9 0 12.9 19.5 0 19.5s-12.9-19.5 0-19.5z"></path><path d="m316.8 132.7c0-43.6 1.1-49.6-3.5-55.2-5.8-6.9-20-5-26.1 3v52.2h-16.8v-72.2h12.1l3.1 6.7c9.1-10.8 30.4-10.9 40.6-.4 9.7 10 7.4 20.5 7.4 65.8z"></path><path d="m347.2 96.4c0-49.2 69.4-51.1 69.4 0-.1 50.7-69.4 50.8-69.4 0zm17.5 0c0 28.8 22.2 27.7 29.7 17.7 7-9.4 8.8-41.2-12.5-41.2-12.3 0-17.2 11.3-17.2 23.5z"></path><path d="m476.4 132.7c0-7.4 1.8-3.4-7.1-.4-10.2 3.5-25.1 2-34.1-7.9-11.1-12.3-12.6-39.5 1.3-54.6 11.4-12.3 28.5-13.1 39.9-7.4v-28.9l16.9-4v103.1zm0-54.9c-8.9-7.1-20.9-4.8-26.8 1.9-8.1 9.1-11.2 40.2 16.2 40.2 2.9 0 9-2.2 10.6-4.4z"></path><path d="m574.6 101.8h-51.6c1.2 22.3 29 21.4 38.1 12.2l6.5 12.9c-14 11.3-62.3 15-62.3-29.5.1-54.1 81.3-49 69.3 4.4zm-51-12.7h35.5c-1.2-10.6-7-15.8-17.5-15.8-9.7 0-15.6 5.2-18 15.8z"></path></svg>
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1,10 +0,0 @@
|
|||
require('typeface-muli');
|
||||
import styles from './css/main.css';
|
||||
import './js/clipboardjs.js';
|
||||
import './js/docsearch.js';
|
||||
import './js/lazysizes.js';
|
||||
import './js/menutoggle.js';
|
||||
import './js/scrolldir.js';
|
||||
import './js/smoothscroll.js';
|
||||
import './js/tabs.js';
|
||||
import './js/nojs.js';
|
|
@ -1,30 +0,0 @@
|
|||
var Clipboard = require('clipboard/dist/clipboard.js');
|
||||
new Clipboard('.copy', {
|
||||
target: function(trigger) {
|
||||
if(trigger.classList.contains('copy-toggle')){
|
||||
return trigger.previousElementSibling;
|
||||
}
|
||||
return trigger.nextElementSibling;
|
||||
}
|
||||
}).on('success', function(e) {
|
||||
successMessage(e.trigger, 'Copied!');
|
||||
e.clearSelection();
|
||||
}).on('error', function(e) {
|
||||
successMessage(e.trigger, fallbackMessage(e.action));
|
||||
});
|
||||
|
||||
function successMessage(elem, msg) {
|
||||
elem.setAttribute('class', 'copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2');
|
||||
elem.setAttribute('aria-label', msg);
|
||||
}
|
||||
|
||||
function fallbackMessage(elem, action) {
|
||||
var actionMsg = '';
|
||||
var actionKey = (action === 'cut' ? 'X' : 'C');
|
||||
if (isMac) {
|
||||
actionMsg = 'Press ⌘-' + actionKey;
|
||||
} else {
|
||||
actionMsg = 'Press Ctrl-' + actionKey;
|
||||
}
|
||||
return actionMsg;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
var docsearch = require('docsearch.js/dist/cdn/docsearch.js');
|
||||
docsearch({
|
||||
appId: 'D1BPLZHGYQ',
|
||||
apiKey: '6df94e1e5d55d258c56f60d974d10314',
|
||||
indexName: 'hugodocs',
|
||||
inputSelector: '#search-input',
|
||||
debug: true, // Set debug to true if you want to inspect the dropdown
|
||||
});
|
|
@ -1,3 +0,0 @@
|
|||
var lazysizes = require('lazysizes');
|
||||
// var lsnoscript = require('lazysizes/plugins/noscript/ls.noscript.js');
|
||||
var unveilhooks = require('lazysizes/plugins/unveilhooks/ls.unveilhooks.js');
|
|
@ -1,22 +0,0 @@
|
|||
import styles from './../css/main.css';
|
||||
import './clipboardjs.js'
|
||||
import './codeblocks.js'
|
||||
import './docsearch.js'
|
||||
import './lazysizes.js'
|
||||
import './menutoggle.js'
|
||||
import './scrolldir.js'
|
||||
import './smoothscroll.js'
|
||||
import './tabs.js'
|
||||
import './nojs.js'
|
||||
|
||||
// TO use jQuery, just call the modules you want
|
||||
// var $ = require('jquery/src/core');
|
||||
// require('jquery/src/core/init');
|
||||
// require('jquery/src/manipulation');
|
||||
|
||||
// OR, use all of them
|
||||
// var $ = require('jquery/src/jquery');
|
||||
|
||||
// And write your code
|
||||
// $('body').append('<p>Jquery is working</p>');
|
||||
//
|
|
@ -1,31 +0,0 @@
|
|||
// Grab any element that has the 'js-toggle' class and add an event listener for the toggleClass function
|
||||
var toggleBtns = document.getElementsByClassName('js-toggle')
|
||||
for (var i = 0; i < toggleBtns.length; i++) {
|
||||
toggleBtns[i].addEventListener('click', toggleClass, false)
|
||||
}
|
||||
|
||||
function toggleClass() {
|
||||
// Define the data target via the dataset "target" (e.g. data-target=".docsmenu")
|
||||
var content = this.dataset.target.split(' ')
|
||||
// Find any menu items that are open
|
||||
var mobileCurrentlyOpen = document.querySelector('.mobilemenu:not(.dn)')
|
||||
var desktopCurrentlyOpen = document.querySelector('.desktopmenu:not(.dn)')
|
||||
var desktopActive = document.querySelector('.desktopmenu:not(.dn)')
|
||||
|
||||
// Loop through the targets' divs
|
||||
for (var i = 0; i < content.length; i++) {
|
||||
var matches = document.querySelectorAll(content[i]);
|
||||
//for each, if the div has the 'dn' class (which is "display:none;"), remove it, otherwise, add that class
|
||||
[].forEach.call(matches, function(dom) {
|
||||
dom.classList.contains('dn') ?
|
||||
dom.classList.remove('dn') :
|
||||
dom.classList.add('dn');
|
||||
return false;
|
||||
});
|
||||
// close the currently open menu items
|
||||
if (mobileCurrentlyOpen) mobileCurrentlyOpen.classList.add('dn')
|
||||
if (desktopCurrentlyOpen) desktopCurrentlyOpen.classList.add('dn')
|
||||
if (desktopActive) desktopActive.classList.remove('db')
|
||||
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/, 'js');
|
|
@ -1 +0,0 @@
|
|||
var scrollDir = require('scrolldir/dist/scrolldir.auto.min.js');
|
|
@ -1,80 +0,0 @@
|
|||
// query selector targets Hugo TOC
|
||||
(function() {
|
||||
|
||||
'use strict';
|
||||
|
||||
// Feature Test
|
||||
if ('querySelector' in document && 'addEventListener' in window && Array.prototype.forEach) {
|
||||
|
||||
// Function to animate the scroll
|
||||
var smoothScroll = function(anchor, duration) {
|
||||
|
||||
// Calculate how far and how fast to scroll
|
||||
var startLocation = window.pageYOffset;
|
||||
var endLocation = anchor.offsetTop;
|
||||
var distance = endLocation - startLocation;
|
||||
var increments = distance / (duration / 16);
|
||||
var stopAnimation;
|
||||
|
||||
// Scroll the page by an increment, and check if it's time to stop
|
||||
var animateScroll = function() {
|
||||
window.scrollBy(0, increments);
|
||||
stopAnimation();
|
||||
};
|
||||
|
||||
// If scrolling down
|
||||
if (increments >= 0) {
|
||||
// Stop animation when you reach the anchor OR the bottom of the page
|
||||
stopAnimation = function() {
|
||||
var travelled = window.pageYOffset;
|
||||
if ((travelled >= (endLocation - increments)) || ((window.innerHeight + travelled) >= document.body.offsetHeight)) {
|
||||
clearInterval(runAnimation);
|
||||
}
|
||||
};
|
||||
}
|
||||
// If scrolling up
|
||||
else {
|
||||
// Stop animation when you reach the anchor OR the top of the page
|
||||
stopAnimation = function() {
|
||||
var travelled = window.pageYOffset;
|
||||
if (travelled <= (endLocation || 0)) {
|
||||
clearInterval(runAnimation);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Loop the animation function
|
||||
var runAnimation = setInterval(animateScroll, 16);
|
||||
|
||||
};
|
||||
|
||||
// Define smooth scroll links
|
||||
var scrollToggle = document.querySelectorAll('#TableOfContents ul li a');
|
||||
|
||||
// For each smooth scroll link
|
||||
[].forEach.call(scrollToggle, function(toggle) {
|
||||
|
||||
// When the smooth scroll link is clicked
|
||||
toggle.addEventListener('click', function(e) {
|
||||
|
||||
// Prevent the default link behavior
|
||||
e.preventDefault();
|
||||
|
||||
// Get anchor link and calculate distance from the top
|
||||
var dataID = toggle.getAttribute('href');
|
||||
var dataTarget = document.querySelector(dataID);
|
||||
var dataSpeed = toggle.getAttribute('data-speed');
|
||||
|
||||
// If the anchor exists
|
||||
if (dataTarget) {
|
||||
// Scroll to the anchor
|
||||
smoothScroll(dataTarget, dataSpeed || 500);
|
||||
}
|
||||
|
||||
}, false);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
})();
|
|
@ -1,43 +0,0 @@
|
|||
/**
|
||||
* Scripts which manages Code Toggle tabs.
|
||||
*/
|
||||
var i;
|
||||
// store tabs variable
|
||||
var allTabs = document.querySelectorAll("[data-toggle-tab]");
|
||||
var allPanes = document.querySelectorAll("[data-pane]");
|
||||
|
||||
function toggleTabs(event) {
|
||||
|
||||
if(event.target){
|
||||
event.preventDefault();
|
||||
var clickedTab = event.currentTarget;
|
||||
var targetKey = clickedTab.getAttribute("data-toggle-tab")
|
||||
}else {
|
||||
var targetKey = event
|
||||
}
|
||||
// We store the config language selected in users' localStorage
|
||||
if(window.localStorage){
|
||||
window.localStorage.setItem("configLangPref", targetKey)
|
||||
}
|
||||
var selectedTabs = document.querySelectorAll("[data-toggle-tab='" + targetKey + "']");
|
||||
var selectedPanes = document.querySelectorAll("[data-pane='" + targetKey + "']");
|
||||
|
||||
for (var i = 0; i < allTabs.length; i++) {
|
||||
allTabs[i].classList.remove("active");
|
||||
allPanes[i].classList.remove("active");
|
||||
}
|
||||
|
||||
for (var i = 0; i < selectedTabs.length; i++) {
|
||||
selectedTabs[i].classList.add("active");
|
||||
selectedPanes[i].classList.add("active");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for (i = 0; i < allTabs.length; i++) {
|
||||
allTabs[i].addEventListener("click", toggleTabs)
|
||||
}
|
||||
// Upon page load, if user has a preferred language in its localStorage, tabs are set to it.
|
||||
if(window.localStorage.getItem('configLangPref')) {
|
||||
toggleTabs(window.localStorage.getItem('configLangPref'))
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,4 +0,0 @@
|
|||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
min = "0.56.0"
|
|
@ -1,10 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<main class="cf pa5 pa4-l f4 tc center measure-wide lh-copy gray">
|
||||
<h1 class="f3 f2-ns">The page you're looking for doesn't exist. Perhaps you'd like to gopher something else? Sorry.</h1>
|
||||
<div class="h6">
|
||||
<img src="/images/gopher-hero.svg" alt="" class="h5">
|
||||
</div>
|
||||
|
||||
{{ .Content }}
|
||||
</main>
|
||||
{{ end }}
|
|
@ -1,4 +0,0 @@
|
|||
<pre class="mermaid">
|
||||
{{- .Inner | safeHTML }}
|
||||
</pre>
|
||||
{{ .Page.Store.Set "hasMermaid" true }}
|
|
@ -1,5 +0,0 @@
|
|||
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}
|
||||
{{- if in (slice 2 3 4 6) .Level }}{{" " -}}
|
||||
<a class="header-link" href="#{{ .Anchor | safeURL }}"><svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg></a>
|
||||
{{- end -}}
|
||||
</h{{ .Level }}>
|
|
@ -1,245 +0,0 @@
|
|||
{{- /* Last modified: 2024-04-26T13:54:00-07:00 */}}
|
||||
|
||||
{{- /*
|
||||
Copyright 2023 Veriphor LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
*/}}
|
||||
|
||||
{{- /*
|
||||
This render hook resolves internal destinations by looking for a matching:
|
||||
|
||||
1. Content page
|
||||
2. Page resource (a file in the current page bundle)
|
||||
3. Section resource (a file in the current section)
|
||||
4. Global resource (a file in the assets directory)
|
||||
|
||||
It skips the section resource lookup if the current page is a leaf bundle.
|
||||
|
||||
External destinations are not modified.
|
||||
|
||||
You must place global resources in the assets directory. If you have placed
|
||||
your resources in the static directory, and you are unable or unwilling to move
|
||||
them, you must mount the static directory to the assets directory by including
|
||||
both of these entries in your site configuration:
|
||||
|
||||
[[module.mounts]]
|
||||
source = 'assets'
|
||||
target = 'assets'
|
||||
|
||||
[[module.mounts]]
|
||||
source = 'static'
|
||||
target = 'assets'
|
||||
|
||||
By default, if this render hook is unable to resolve a destination, including a
|
||||
fragment if present, it passes the destination through without modification. To
|
||||
emit a warning or error, set the error level in your site configuration:
|
||||
|
||||
[params.render_hooks.link]
|
||||
errorLevel = 'warning' # ignore (default), warning, or error (fails the build)
|
||||
|
||||
When you set the error level to warning, and you are in a development
|
||||
environment, you can visually highlight broken internal links:
|
||||
|
||||
[params.render_hooks.link]
|
||||
errorLevel = 'warning' # ignore (default), warning, or error (fails the build)
|
||||
highlightBroken = true # true or false (default)
|
||||
|
||||
This will add a "broken" class to anchor elements with invalid src attributes.
|
||||
Add a rule to your CSS targeting the broken links:
|
||||
|
||||
a.broken {
|
||||
background: #ff0;
|
||||
border: 2px solid #f00;
|
||||
padding: 0.1em 0.2em;
|
||||
}
|
||||
|
||||
This render hook may be unable to resolve destinations created with the ref and
|
||||
relref shortcodes. Unless you set the error level to ignore you should not use
|
||||
either of these shortcodes in conjunction with this render hook.
|
||||
|
||||
@context {string} Destination The link destination.
|
||||
@context {page} Page A reference to the page containing the link.
|
||||
@context {string} PlainText The link description as plain text.
|
||||
@context {string} Text The link description.
|
||||
@context {string} Title The link title.
|
||||
|
||||
@returns {template.html}
|
||||
*/}}
|
||||
|
||||
{{- /* Initialize. */}}
|
||||
{{- $renderHookName := "link" }}
|
||||
|
||||
{{- /* Verify minimum required version. */}}
|
||||
{{- $minHugoVersion := "0.120.0" }}
|
||||
{{- if lt hugo.Version $minHugoVersion }}
|
||||
{{- errorf "The %q render hook requires Hugo v%s or later." $renderHookName $minHugoVersion }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Error level when unable to resolve destination: ignore, warning, or error. */}}
|
||||
{{- $errorLevel := or site.Params.render_hooks.link.errorLevel "ignore" | lower }}
|
||||
|
||||
{{- /* If true, adds "broken" class to broken links. Applicable in development environment when errorLevel is warning. */}}
|
||||
{{- $highlightBrokenLinks := or site.Params.render_hooks.link.highlightBroken false }}
|
||||
|
||||
{{- /* Validate error level. */}}
|
||||
{{- if not (in (slice "ignore" "warning" "error") $errorLevel) }}
|
||||
{{- errorf "The %q render hook is misconfigured. The errorLevel %q is invalid. Please check your site configuration." $renderHookName $errorLevel }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Determine content path for warning and error messages. */}}
|
||||
{{- $contentPath := .Page.String }}
|
||||
|
||||
{{- /* Parse destination. */}}
|
||||
{{- $u := urls.Parse .Destination }}
|
||||
|
||||
{{- /* Set common message. */}}
|
||||
{{- $msg := printf "The %q render hook was unable to resolve the destination %q in %s" $renderHookName $u.String $contentPath }}
|
||||
|
||||
{{- /* Set attributes for anchor element. */}}
|
||||
{{- $attrs := dict "href" $u.String }}
|
||||
{{- if $u.IsAbs }}
|
||||
{{- /* Destination is a remote resource. */}}
|
||||
{{- $attrs = merge $attrs (dict "rel" "external") }}
|
||||
{{- else }}
|
||||
{{- with $u.Path }}
|
||||
{{- with $p := or ($.PageInner.GetPage .) ($.PageInner.GetPage (strings.TrimRight "/" .)) }}
|
||||
{{- /* Destination is a page. */}}
|
||||
{{- $href := .RelPermalink }}
|
||||
{{- with $u.RawQuery }}
|
||||
{{- $href = printf "%s?%s" $href . }}
|
||||
{{- end }}
|
||||
{{- with $u.Fragment }}
|
||||
{{- $ctx := dict
|
||||
"contentPath" $contentPath
|
||||
"errorLevel" $errorLevel
|
||||
"page" $p
|
||||
"parsedURL" $u
|
||||
"renderHookName" $renderHookName
|
||||
}}
|
||||
{{- partial "inline/h-rh-l/validate-fragment.html" $ctx }}
|
||||
{{- $href = printf "%s#%s" $href . }}
|
||||
{{- end }}
|
||||
{{- $attrs = dict "href" $href }}
|
||||
{{- else }}
|
||||
{{- with $.PageInner.Resources.Get $u.Path }}
|
||||
{{- /* Destination is a page resource; drop query and fragment. */}}
|
||||
{{- $attrs = dict "href" .RelPermalink }}
|
||||
{{- else }}
|
||||
{{- with (and (ne $.Page.BundleType "leaf") ($.Page.CurrentSection.Resources.Get $u.Path)) }}
|
||||
{{- /* Destination is a section resource, and current page is not a leaf bundle. */}}
|
||||
{{- $attrs = dict "href" .RelPermalink }}
|
||||
{{- else }}
|
||||
{{- with resources.Get $u.Path }}
|
||||
{{- /* Destination is a global resource; drop query and fragment. */}}
|
||||
{{- $attrs = dict "href" .RelPermalink }}
|
||||
{{- else }}
|
||||
{{- if eq $errorLevel "warning" }}
|
||||
{{- warnf $msg }}
|
||||
{{- if and $highlightBrokenLinks hugo.IsDevelopment }}
|
||||
{{- $attrs = merge $attrs (dict "class" "broken") }}
|
||||
{{- end }}
|
||||
{{- else if eq $errorLevel "error" }}
|
||||
{{- errorf $msg }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with $u.Fragment }}
|
||||
{{- /* Destination is on the same page; prepend relative permalink. */}}
|
||||
{{- $ctx := dict
|
||||
"contentPath" $contentPath
|
||||
"errorLevel" $errorLevel
|
||||
"page" $.Page
|
||||
"parsedURL" $u
|
||||
"renderHookName" $renderHookName
|
||||
}}
|
||||
{{- partial "inline/h-rh-l/validate-fragment.html" $ctx }}
|
||||
{{- $attrs = dict "href" (printf "%s#%s" $.Page.RelPermalink .) }}
|
||||
{{- else }}
|
||||
{{- if eq $errorLevel "warning" }}
|
||||
{{- warnf $msg }}
|
||||
{{- if and $highlightBrokenLinks hugo.IsDevelopment }}
|
||||
{{- $attrs = merge $attrs (dict "class" "broken") }}
|
||||
{{- end }}
|
||||
{{- else if eq $errorLevel "error" }}
|
||||
{{- errorf $msg }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $attrs = merge $attrs (dict "title" (.Title | transform.HTMLEscape)) }}
|
||||
|
||||
{{- /* Render anchor element. */ -}}
|
||||
<a
|
||||
{{- range $k, $v := $attrs }}
|
||||
{{- if $v }}
|
||||
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
>{{ .Text | safeHTML }}</a>
|
||||
|
||||
{{- define "partials/inline/h-rh-l/validate-fragment.html" }}
|
||||
{{- /*
|
||||
Validates the fragment portion of a link destination.
|
||||
|
||||
@context {string} contentPath The page containing the link.
|
||||
@context {string} errorLevel The error level when unable to resolve destination; ignore (default), warning, or error.
|
||||
@context {page} page The page corresponding to the link destination
|
||||
@context {struct} parsedURL The link destination parsed by urls.Parse.
|
||||
@context {string} renderHookName The name of the render hook.
|
||||
*/}}
|
||||
|
||||
{{- /* Initialize. */}}
|
||||
{{- $contentPath := .contentPath }}
|
||||
{{- $errorLevel := .errorLevel }}
|
||||
{{- $p := .page }}
|
||||
{{- $u := .parsedURL }}
|
||||
{{- $renderHookName := .renderHookName }}
|
||||
|
||||
{{- /* Validate. */}}
|
||||
{{- with $u.Fragment }}
|
||||
{{- if $p.Fragments.Identifiers.Contains . }}
|
||||
{{- if gt ($p.Fragments.Identifiers.Count .) 1 }}
|
||||
{{- $msg := printf "The %q render hook detected duplicate heading IDs %q in %s" $renderHookName . $contentPath }}
|
||||
{{- if eq $errorLevel "warning" }}
|
||||
{{- warnf $msg }}
|
||||
{{- else if eq $errorLevel "error" }}
|
||||
{{- errorf $msg }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- /* Determine target path for warning and error message. */}}
|
||||
{{- $targetPath := "" }}
|
||||
{{- with $p.File }}
|
||||
{{- $targetPath = .Path }}
|
||||
{{- else }}
|
||||
{{- $targetPath = .Path }}
|
||||
{{- end }}
|
||||
{{- /* Set common message. */}}
|
||||
{{- $msg := printf "The %q render hook was unable to find heading ID %q in %s. See %s" $renderHookName . $targetPath $contentPath }}
|
||||
{{- if eq $targetPath $contentPath }}
|
||||
{{- $msg = printf "The %q render hook was unable to find heading ID %q in %s" $renderHookName . $targetPath }}
|
||||
{{- end }}
|
||||
{{- /* Throw warning or error. */}}
|
||||
{{- if eq $errorLevel "warning" }}
|
||||
{{- warnf $msg }}
|
||||
{{- else if eq $errorLevel "error" }}
|
||||
{{- errorf $msg }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,122 +0,0 @@
|
|||
<!doctype html>
|
||||
<html
|
||||
class="no-js"
|
||||
lang="{{ with $.Site.LanguageCode }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
en-us
|
||||
{{ end }}
|
||||
">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
{{/* https://www.zachleat.com/web/preload/ */}}
|
||||
<link
|
||||
rel="preload"
|
||||
href="{{ "fonts/muli-latin-200.woff2" | absURL }}"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin />
|
||||
<link
|
||||
rel="preload"
|
||||
href="{{ "fonts/muli-latin-400.woff2" | absURL }}"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin />
|
||||
<link
|
||||
rel="preload"
|
||||
href="{{ "fonts/muli-latin-800.woff2" | absURL }}"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin />
|
||||
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
{{/* NOTE: the Site's title, and if there is a page title, that is set too */}}
|
||||
<title>
|
||||
{{ block "title" . }}
|
||||
{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}
|
||||
{{ end }}
|
||||
|
||||
</title>
|
||||
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1" />
|
||||
{{ hugo.Generator }}
|
||||
|
||||
{{ if hugo.IsProduction }}
|
||||
<meta name="robots" content="index, follow" />
|
||||
{{ else }}
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
{{ end }}
|
||||
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
<link
|
||||
rel="{{ .Rel }}"
|
||||
type="{{ .MediaType.Type }}"
|
||||
href="{{ .Permalink | safeURL }}" />
|
||||
{{ end -}}
|
||||
|
||||
{{ $isDev := eq hugo.Environment "development" }}
|
||||
{{ $stylesheet := resources.Get "output/css/app.css" }}
|
||||
{{ if not $isDev }}
|
||||
{{ $stylesheet = $stylesheet | minify | fingerprint }}
|
||||
{{ end }}
|
||||
{{ with $stylesheet }}
|
||||
{{ if $isDev }}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="{{ .RelPermalink }}"
|
||||
crossorigin="anonymous" />
|
||||
{{ else }}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="{{ .RelPermalink }}"
|
||||
integrity="{{ .Data.Integrity }}"
|
||||
crossorigin="anonymous" />
|
||||
{{ end }}
|
||||
{{ $.Scratch.Set "stylesheet" . }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<meta
|
||||
name="description"
|
||||
content="{{ with .Description }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ with .Site.Params.description }}{{ . }}{{ end }}
|
||||
{{ end }}
|
||||
" />
|
||||
|
||||
{{ block "scripts" . }}
|
||||
{{- partial "site-scripts.html" . -}}
|
||||
{{ end }}
|
||||
{{ partial "site-manifest.html" . }}
|
||||
{{- partial "head-additions.html" . -}}
|
||||
{{- partial "opengraph/opengraph.html" . -}}
|
||||
{{- template "_internal/schema.html" . -}}
|
||||
{{- partial "opengraph/twitter_cards.html" . -}}
|
||||
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ partial "gtag.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ $hasMath := .Param "math" }}
|
||||
{{ if $hasMath }}
|
||||
{{ partialCached "math.html" . }}
|
||||
{{ end }}
|
||||
|
||||
</head>
|
||||
|
||||
<body
|
||||
class="ma0 sans-serif bg-primary-color-light{{ with getenv "HUGO_ENV" }} {{ . }}{{ end }}">
|
||||
{{ partial "hooks/after-body-start.html" . }}
|
||||
{{ block "nav" . }}{{ partial "site-nav.html" . }}{{ end }}
|
||||
{{ block "header" . }}{{ end }}
|
||||
<main role="main" class="content-with-sidebar min-vh-100 pb7 pb0-ns">
|
||||
{{ block "main" . }}{{ end }}
|
||||
</main>
|
||||
|
||||
{{ block "footer" . }}{{ partialCached "site-footer.html" . }}{{ end }}
|
||||
|
||||
{{ partial "hooks/before-body-end.html" . }}
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,4 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ $section_to_display := (.Site.Taxonomies.categories.fundamentals).Pages | lang.Merge (.Sites.Default.Taxonomies.categories.fundamentals).Pages }}
|
||||
{{ partial "pagelayout.html" (dict "context" . "section_to_display" $section_to_display ) }}
|
||||
{{ end }}
|
|
@ -1,5 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ $paginator := .Paginate (.Pages | lang.Merge (where .Sites.Default.RegularPages "Section" .Section)) }}
|
||||
{{ $section_to_display := .Sections | default $paginator.Pages }}
|
||||
{{ partial "pagelayout.html" (dict "context" . "section_to_display" $section_to_display ) }}
|
||||
{{ end }}
|
|
@ -1,48 +0,0 @@
|
|||
<header class="flex-none w-100">
|
||||
{{ if in (slice "functions" "methods") .Type }}
|
||||
{{ with .FirstSection }}
|
||||
<a href="{{ .RelPermalink }}" class="f6 fw8 mb0 link mid-gray dim mr3">
|
||||
{{ humanize .Title | upper }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .CurrentSection }}
|
||||
<a href="{{ .RelPermalink }}" class="f6 fw8 mb0 link mid-gray dim mr3">
|
||||
{{ humanize .Title | upper }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ range .Params.categories }}
|
||||
<a href="{{ "/categories/" | relLangURL }}{{ . | urlize }}" class="f6 fw8 mb0 link mid-gray dim mr3">
|
||||
{{ humanize . | upper }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<h1 class="lh-title mb3 mv0 pt3 primary-color-dark">
|
||||
{{ .Title }}
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<aside class="bt bw1 pt3 mt2 mid-gray b--mid-gray fn w-100">
|
||||
{{ with .Params.description }}
|
||||
<div class="mb4 f4 fw4 lh-copy">
|
||||
{{ . | markdownify }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
<!--
|
||||
NOTE: Removed to test builds without it.
|
||||
partial "components/author-github-data" (dict "context" . "size" "110") -->
|
||||
</aside>
|
||||
|
||||
{{ with .Params.featured_image_path }}
|
||||
<img src="{{ . }}" alt="Featured Image for {{ $.Title }}" class="mw-100">
|
||||
{{ end }}
|
||||
|
||||
<div class="prose" id="prose">
|
||||
<div class="mb4">
|
||||
{{- partial "docs/functions-signatures.html" . -}}
|
||||
{{- partial "docs/functions-return-type.html" . -}}
|
||||
{{- partial "docs/functions-aliases.html" . -}}
|
||||
</div>
|
||||
{{ .Content }}
|
||||
</div>
|
|
@ -1,29 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<article class="w-100 ph4 pb5 pb6-ns pt1 pt5-ns">
|
||||
<div class="flex-l">
|
||||
|
||||
<div class="order-0 w-20 dn db-l">
|
||||
{{ partial "nav-links-docs.html" . }}
|
||||
</div>
|
||||
<div class="order-1 flex-grow-1 ph0 ph5-ns mt0-ns mid-gray nested-copy-line-height no-underline nested-links nested-img nested-copy-seperator nested-blockquote">
|
||||
<div style="max-width: 40rem;" class="documentation-copy">
|
||||
<div id="readout" class="fixed right-0 bottom-0"></div>
|
||||
{{ .Render "page" }}
|
||||
{{ partial "related.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-sidebar" class="order-2 w-20 dn db-l sticky pt2">
|
||||
{{ partial "right-sidebar.html" . }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div id="page-footer" class="w-100 bg-light-gray">
|
||||
<div class="mw7 pa4 center nested-lh-copy lh-copy">
|
||||
{{ partial "docs/page-meta-data.html" . }}
|
||||
{{ partial "page-edit.html" . }}
|
||||
{{ partial "tags.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,4 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ $section_to_display := .Pages }}
|
||||
{{ partial "pagelayout.html" (dict "context" . "section_to_display" $section_to_display ) }}
|
||||
{{ end }}
|
|
@ -1,48 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ $section_to_display := .Pages }}
|
||||
<div class="w-100 ph4 pb5 pb6-ns pt1 pt3-ns">
|
||||
|
||||
<div class="flex">
|
||||
<div class="dn db-l w-20">
|
||||
{{ partial "nav-links-docs.html" . }}
|
||||
</div>
|
||||
|
||||
<div class="w-100 w-80-l ph0 ph4-l">
|
||||
<article class="w-100 nested-copy-line-height nested-links nested-img">
|
||||
<h1 class="primary-color-dark f2">
|
||||
{{ .Title }}
|
||||
</h1>
|
||||
</article>
|
||||
<div class="pa3 pa4-ns w-100 v-top column-count-3-l column-gap-1-l">
|
||||
{{ range $key, $value := .Data.Terms }}
|
||||
<div class="break-inside-avoid-l nested-copy-line-height mb5">
|
||||
<h2 class="f3">
|
||||
<a href="{{ "/" | relLangURL }}{{ $.Data.Plural | urlize }}/{{ $key | urlize }}" class="link black hover-blue">
|
||||
{{ $key }} <span class="f6 gray"> ↗</span>
|
||||
</a>
|
||||
</h2>
|
||||
{{ range $value.Pages }}
|
||||
<h3>
|
||||
<a href="{{ .Permalink }}" class="link blue">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h3>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,27 +0,0 @@
|
|||
{{ define "header" }}
|
||||
{{ partial "hero.html" . }}
|
||||
{{ partial "boxes-small-news.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "main" }}
|
||||
<section class="w-100 ph4 ph5-ns pv4">
|
||||
{{- partial "home-page-sections/features-icons.html" . -}}
|
||||
</section>
|
||||
|
||||
{{ partial "home-page-sections/sponsors.html" (dict "cx" . "gtag" "home" ) }}
|
||||
|
||||
{{- partial "home-page-sections/features-single.html" . -}}
|
||||
|
||||
{{/*- partial "home-page-sections/showcase.html" . -*/}}
|
||||
|
||||
<section class="w-100 ph4 ph5-ns pv4 pv6-ns mid-gray bg-white bb bt b--light-gray">
|
||||
{{- partial "home-page-sections/installation.html" . -}}
|
||||
</section>
|
||||
|
||||
<section class="w-100 ph4 ph5-ns pv4 pv6-ns mid-gray bg-accent-color-dark">
|
||||
{{- partial "home-page-sections/tweets.html" . -}}
|
||||
</section>
|
||||
<section class="w-100 ph4 ph5-ns pt4 pb5 mid-gray bg-primary-color-light bb bt b--light-gray ">
|
||||
{{- partial "home-page-sections/open-source-involvement.html" . -}}
|
||||
</section>
|
||||
{{ end }}
|
|
@ -1,78 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<div class="w-100 ph4 pb5 pb6-ns pt1 mt4 pt3-ns">
|
||||
<div class="flex-l">
|
||||
<div class="order-2 w-100 w-20-l ph5-m ph0-l mb4 sticky">
|
||||
<aside
|
||||
class="fixed-lTK mw5-l right-0 f6 bl-l b--moon-gray pv4 pv0-ns ph4-l nested-list-reset nested-links nested-copy-line-height">
|
||||
<p class="b">What's on this Page</p>
|
||||
<ul>
|
||||
<li><a href="#last-updated">Last Updated</a></li>
|
||||
<li>
|
||||
<a href="#least-recently-updated">Least Recently Updated</a>
|
||||
</li>
|
||||
<li><a href="#todos">Pages marked with TODO</a></li>
|
||||
<li>
|
||||
<a href="#dependencies">Project dependencies (Hugo Modules)</a>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</div>
|
||||
<div class="w-100">
|
||||
{{ $byLastMod := .Site.RegularPages.ByLastmod }}
|
||||
{{ $recent := ($byLastMod | last 30).Reverse }}
|
||||
{{ $leastRecent := $byLastMod | first 10 }}
|
||||
<h2 id="last-updated">Last Updated</h2>
|
||||
{{ partial "maintenance-pages-table.html" $recent }}
|
||||
<h2 id="least-recently-updated">Least Recently Updated</h2>
|
||||
{{ partial "maintenance-pages-table.html" $leastRecent }}
|
||||
|
||||
{{/* Don't think this is possible with where directly. Should investigate. */}}
|
||||
{{ .Scratch.Set "todos" slice }}
|
||||
{{ range .Site.RegularPages }}
|
||||
{{ if .HasShortcode "todo" }}
|
||||
{{ $.Scratch.Add "todos" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<h2 id="todos">Pages marked with TODO</h2>
|
||||
{{ partial "maintenance-pages-table.html" (.Scratch.Get "todos") }}
|
||||
|
||||
|
||||
<h2 id="dependencies">Dependencies</h2>
|
||||
<table class="collapse ba br2 b--black-10 pv2 ph3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">#</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Owner</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Path</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Version</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Time</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Vendor</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range $index, $element := hugo.Deps }}
|
||||
<tr class="striped--light-gray">
|
||||
<th class="pv2 ph3">{{ add $index 1 }}</th>
|
||||
<td class="pv2 ph3">
|
||||
{{ with $element.Owner }}{{ .Path }}{{ end }}
|
||||
</td>
|
||||
<td class="pv2 ph3">
|
||||
{{ $element.Path }}
|
||||
{{ with $element.Replace }}
|
||||
=>
|
||||
{{ .Path }}
|
||||
{{ end }}
|
||||
</td>
|
||||
<td class="pv2 ph3">{{ $element.Version }}</td>
|
||||
<td class="pv2 ph3">
|
||||
{{ with $element.Time }}{{ . }}{{ end }}
|
||||
</td>
|
||||
<td class="pv2 ph3">{{ $element.Vendor }}</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,64 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<div class="w-100 ph4 ph5-ns pb5 pb6-ns pt1 pt3-ns ">
|
||||
|
||||
<article class="cf pa3 pa4-m pa4-l nested-copy-line-height nested-img">
|
||||
<h1 class="primary-color-dark">
|
||||
{{ .Title }}
|
||||
</h1>
|
||||
<div class="nested-copy-line-height">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="flex flex-wrap">
|
||||
{{ $interior_classes := $.Site.Params.flex_box_interior_classes }}
|
||||
<section class="flex-ns flex-wrap justify-between w-100 w-80-nsTK v-top">
|
||||
|
||||
{{ $news_items := slice }}
|
||||
|
||||
{{/* Get releases from GitHub. */}}
|
||||
{{ $u := "https://api.github.com/repos/gohugoio/hugo/releases" }}
|
||||
{{ $releases := partial "utilities/get-remote-data.html" $u }}
|
||||
{{ $releases = where $releases "draft" false }}
|
||||
{{ $releases = where $releases "prerelease" false }}
|
||||
{{ range $releases | first 20 }}
|
||||
{{ $publishDate := .published_at | time.AsTime }}
|
||||
|
||||
{{/* Correct the v0.138.0 release date. See https://github.com/gohugoio/hugo/issues/13066. */}}
|
||||
{{ if eq .name "v0.138.0" }}
|
||||
{{ $publishDate = "2024-11-06T11:22:34Z" | time.AsTime }}
|
||||
{{ end }}
|
||||
|
||||
{{ $ctx := dict
|
||||
"Date" $publishDate
|
||||
"Title" (printf "Release %s" .name)
|
||||
"Permalink" .html_url
|
||||
"Section" "news"
|
||||
"Summary" ""
|
||||
}}
|
||||
{{ $news_items = $news_items | append $ctx }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Get content pages from news section. */}}
|
||||
{{ range .Pages }}
|
||||
{{ $ctx := dict
|
||||
"Date" .Date
|
||||
"Title" .Title
|
||||
"RelPermalink" .RelPermalink
|
||||
"Section" "news"
|
||||
"Summary" .Summary
|
||||
"Params" (dict "description" .Description)
|
||||
}}
|
||||
{{ $news_items = $news_items | append $ctx }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Sort by date (descending) and render. */}}
|
||||
{{ range sort $news_items "Date" "desc" }}
|
||||
{{ partial "boxes-section-summaries.html" (dict "context" . "classes" $interior_classes "fullcontent" false) }}
|
||||
{{ end }}
|
||||
|
||||
</section>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,75 +0,0 @@
|
|||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Hugo News</title>
|
||||
<description>Recent news about Hugo, a static site generator written in Go, optimized for speed and designed for flexibility.</description>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<generator>Hugo {{ hugo.Version }}</generator>
|
||||
<language>{{ or site.Language.LanguageCode site.Language.Lang }}</language>
|
||||
{{- with site.Copyright }}
|
||||
<copyright>{{ . }}</copyright>
|
||||
{{- end }}
|
||||
{{- with .OutputFormats.Get "RSS" }}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end }}
|
||||
|
||||
{{- $news_items := slice }}
|
||||
|
||||
{{- /* Get releases from GitHub. */}}
|
||||
{{- $u := "https://api.github.com/repos/gohugoio/hugo/releases" }}
|
||||
{{- $releases := partial "utilities/get-remote-data.html" $u }}
|
||||
{{- $releases = where $releases "draft" false }}
|
||||
{{- $releases = where $releases "prerelease" false }}
|
||||
{{- range $releases | first 20 }}
|
||||
{{- $publishDate := .published_at | time.AsTime }}
|
||||
|
||||
{{- /* Correct the v0.138.0 release date. See https://github.com/gohugoio/hugo/issues/13066. */}}
|
||||
{{- if eq .name "v0.138.0" }}
|
||||
{{- $publishDate = "2024-11-06T11:22:34Z" | time.AsTime }}
|
||||
{{- end }}
|
||||
|
||||
{{- $summary := printf
|
||||
"Hugo %s was released on %s. See [release notes](%s) for details."
|
||||
.tag_name
|
||||
($publishDate | time.AsTime | time.Format "2 Jan 2006")
|
||||
.html_url
|
||||
}}
|
||||
{{- $ctx := dict
|
||||
"PublishDate" $publishDate
|
||||
"Title" (printf "Release %s" .name)
|
||||
"Permalink" .html_url
|
||||
"Section" "news"
|
||||
"Summary" ($summary | $.Page.RenderString)
|
||||
}}
|
||||
{{- $news_items = $news_items | append $ctx }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Get content pages from news section. */}}
|
||||
{{- range .Pages }}
|
||||
{{- $ctx := dict
|
||||
"PublishDate" .PublishDate
|
||||
"Title" .Title
|
||||
"RelPermalink" .RelPermalink
|
||||
"Section" "news"
|
||||
"Summary" .Summary
|
||||
"Params" (dict "description" .Description)
|
||||
}}
|
||||
{{- $news_items = $news_items | append $ctx }}
|
||||
{{- end }}
|
||||
{{- /* Sort, limit, and render lastBuildDate. */}}
|
||||
{{- $limit := cond (gt site.Config.Services.RSS.Limit 1) site.Config.Services.RSS.Limit 999 }}
|
||||
{{- $news_items = sort $news_items "PublishDate" "desc" | first $limit }}
|
||||
<lastBuildDate>{{ (index $news_items 0).PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
|
||||
|
||||
{{- /* Render items. */}}
|
||||
{{- range $news_items }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Summary | transform.XMLEscape | safeHTML }}</description>
|
||||
</item>
|
||||
{{- end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -1,85 +0,0 @@
|
|||
{{ define "main" }}
|
||||
{{ $currentPageUrl := .RelPermalink }}
|
||||
|
||||
<article class="cf ph4 pv3 pv5-ns">
|
||||
<!-- header spans the full width -->
|
||||
<header class="flex-none w-100 pb3">
|
||||
{{ if .Params.categories }}
|
||||
{{ range .Params.categories }}
|
||||
<a href="{{ "/categories/" | relLangURL }}{{ . | urlize }}" class="f6 fw8 mb0 link mid-gray dim mr3">
|
||||
{{ humanize . | upper }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{end}}
|
||||
|
||||
<h1 class="lh-title fw9 mb7 mv0 pt3">
|
||||
<a href="{{ .RelPermalink }}" class="link primary-color dim">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<div class="flex-l">
|
||||
<aside class="mid-gray fn w-100 w-25-l">
|
||||
{{ with .Params.description }}
|
||||
<h2 class="f3 lh-title">
|
||||
{{ . | markdownify }}
|
||||
</h2>
|
||||
{{ end }}
|
||||
<time class="f6 mt2 db ttu tracked" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
|
||||
{{ .Date.Format "January 2, 2006" }}
|
||||
</time>
|
||||
{{ if in .Params.categories "Releases" }}
|
||||
<p>
|
||||
Go to <a href="https://github.com/gohugoio/hugo/releases" class="link primary-color dim">Hugo Releases</a> for the release downloads.
|
||||
</p>
|
||||
{{ end }}
|
||||
|
||||
<div class="nested-links mt4">
|
||||
{{- partial "previous-next-links-in-section.html" . -}}
|
||||
</div>
|
||||
|
||||
</aside>
|
||||
|
||||
<div class="fn pl5-l pt3 mid-gray w-100 w-two-third-l sans-serif nested-copy-line-height no-underline nested-links nested-img nested-copy-seperator nested-blockquote measure-wide-l"><!-- TODO: Can the content top and the description top line up more precisely, or is just winging it with padding the best we've got? -->
|
||||
{{ with .Params.featured_image_path }}
|
||||
<img src="{{ . }}" alt="Featured Image for {{ $.Title }}" class="mw-100">
|
||||
{{ else }}
|
||||
{{ $featured := (.Resources.ByType "image").GetMatch "*featured*" }}
|
||||
{{ with $featured }}
|
||||
{{ $featured := .Resize "480x" }}
|
||||
<img src="{{ $featured.RelPermalink }}" alt="Featured Image for {{ $.Title }}" class="mw-100">
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
{{ if and .Params.tags .Site.Taxonomies.tags }}
|
||||
<div class="mt5 f6 gray nested-lh-copy bg-light-gray ph3 pv2 measure-wide-l">
|
||||
{{ $name := index .Params.tags 0 }}
|
||||
{{ $name := $name | urlize }}
|
||||
{{ $tags := index .Site.Taxonomies.tags $name }}
|
||||
|
||||
<ul class="list dib nested-links ml0 pl0">
|
||||
<li class="dib mb2 mr2">Related:</li>
|
||||
{{ range $tags.Pages }}
|
||||
{{ if ne .RelPermalink $currentPageUrl }}
|
||||
<li class="mb2 mr3">
|
||||
<a href="{{ .RelPermalink }}" class="link">
|
||||
{{ .LinkTitle }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="gray f6 mv6">
|
||||
Last Update: {{ .Lastmod.Format "January 2, 2006" }} <br>
|
||||
{{ partial "page-edit.html" . }}
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
{{ end }}
|
|
@ -1,46 +0,0 @@
|
|||
<div class="relative {{ .classes }} weight-{{ .context.Weight }}">
|
||||
<div class="bg-white mb2 pa3 pa4-l gray">
|
||||
|
||||
{{ $href := .context.RelPermalink }}
|
||||
{{ if eq .context.Section "news" }}
|
||||
{{ $href = .context.Permalink }}
|
||||
<time class="f6 db" datetime="{{ .context.Date.Format `2006-01-02T15:04:05Z07:00` }}">
|
||||
{{ .context.Date.Format "January 2, 2006" }}
|
||||
</time>
|
||||
{{ end }}
|
||||
|
||||
<h1 class="near-black f3">
|
||||
<a href="{{ $href }}" class="link primary-color dim">
|
||||
{{ .context.Title }}
|
||||
</a>
|
||||
</h1>
|
||||
<div class="lh-copy links">
|
||||
{{ if eq .context.Section "commands" }}
|
||||
{{ replaceRE `(?s).*?##\s.*?\n\n(.*?)\n.*` "$1" .context.RawContent }}
|
||||
{{ else }}
|
||||
|
||||
{{ if in (slice "functions" "methods") .context.Type }}
|
||||
{{ with $signature := index .context.Params.action.signatures 0 }}
|
||||
{{ if $.context.Params.action.returnType }}
|
||||
{{ $signature = printf "%s ⟼ %s" $signature $.context.Params.action.returnType }}
|
||||
{{ end }}
|
||||
<pre class="f6 mb3 ph3 pv2 bg-light-gray overflow-x-auto">
|
||||
{{- $signature -}}
|
||||
</pre>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .context.Params.description }}
|
||||
{{ .context.Params.description | markdownify }}
|
||||
{{ else }}
|
||||
{{ .context.Summary }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
<a href="{{ $href }}" class="f6 mt2 db link primary-color dim">
|
||||
Read More »
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
{{/* Empty for now. */}}
|
|
@ -1,43 +0,0 @@
|
|||
{{ $author := .context.Params.author }}
|
||||
{{ if $author }}
|
||||
<aside class="mw5 center bg-white br3 pa3 pa4-ns mv3 ba b--black-10 nested-links">
|
||||
|
||||
{{ $data := "" }}
|
||||
{{ $url := urls.JoinPath "https://api.github.com/users" $author }}
|
||||
{{ with try (resources.GetRemote $url) }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "%s" . }}
|
||||
{{ else with .Value }}
|
||||
{{ $data = . | transform.Unmarshal }}
|
||||
{{ else }}
|
||||
{{ errorf "Unable to get remote resource %q" $url }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<div class="tc">
|
||||
{{ with $data }}
|
||||
|
||||
{{ with .avatar_url }}
|
||||
<a href="{{ . }}" class="link hover-bg-light-gray pa1 br-100">
|
||||
<img src="{{ . }}&size={{ $.size }}" alt="" class="br-100 ba b--light-gray">
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with .name }}
|
||||
<h3 class="f4">
|
||||
<a href="{{ $data.html_url }}" class="link dim">
|
||||
{{ . | htmlEscape }}
|
||||
</a>
|
||||
</h3>
|
||||
<hr class="mw3 bb bw1 b--black-10">
|
||||
{{ end }}
|
||||
{{ with .bio }}
|
||||
<p class="lh-copy measure center f6 black-70">
|
||||
{{ . | htmlEscape }}
|
||||
</p>
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
</aside>
|
||||
{{ end }}
|
|
@ -1,36 +0,0 @@
|
|||
{{ $author := .context.Params.author }}
|
||||
{{ if $author }}
|
||||
<aside class="mw5 br3 mv3 nested-links">
|
||||
|
||||
{{ $data := "" }}
|
||||
{{ $url := urls.JoinPath "https://api.github.com/users" $author }}
|
||||
{{ with try (resources.GetRemote $url) }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "%s" . }}
|
||||
{{ else with .Value }}
|
||||
{{ $data = . | transform.Unmarshal }}
|
||||
{{ else }}
|
||||
{{ errorf "Unable to get remote resource %q" $url }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ with $data }}
|
||||
{{ with .name }}
|
||||
<h3 class="f4 dib">
|
||||
{{ . | htmlEscape }}
|
||||
</h3>
|
||||
{{ end }}
|
||||
{{ with .bio }}
|
||||
<p class="lh-copy measure center mt0 f6 black-60">
|
||||
{{ . | htmlEscape }}
|
||||
</p>
|
||||
{{ end }}
|
||||
{{ with .html_url }}
|
||||
<a href="{{ . }}" class="link dim v-mid dib">
|
||||
{{ partial "svg/github-squared.svg" (dict "fill" "gray" "width" "16" "height" "18") }}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
</aside>
|
||||
{{ end }}
|
|
@ -1,6 +0,0 @@
|
|||
{{- with .Params.action.returnType }}
|
||||
<p class="fw7 primary-color-dark">Returns</p>
|
||||
<pre class="f5 ph3 pv2 bg-light-gray" style="border-left:4px solid #0594CB;">
|
||||
{{- . -}}
|
||||
</pre>
|
||||
{{- end -}}
|
|
@ -1,3 +0,0 @@
|
|||
<h6 class="f6 dark-gray mb2">
|
||||
Last updated: {{ .Lastmod.Format "January 2, 2006" }}{{ with .GitInfo }}: <a class="hide-child link primary-color" href="{{$.Site.Params.ghrepo}}commit/{{ .Hash }}">{{ .Subject }} ({{ .AbbreviatedHash }})</a>{{end }}
|
||||
</h6>
|
|
@ -1,13 +0,0 @@
|
|||
<div class="relative w-100 mb4 bg-white nested-copy-line-height">
|
||||
<div class="bg-white mb3 pa4 gray overflow-hidden">
|
||||
<span class="f6 db">{{ humanize .Section }}</span>
|
||||
<h1 class="f3 near-black">
|
||||
<a href="{{ .RelPermalink }}" class="link black dim">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h1>
|
||||
<div class="nested-links f5 lh-copy nested-copy-line-height">
|
||||
{{ .Summary }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
<!-- EMPTY -->
|
|
@ -1,18 +0,0 @@
|
|||
<header class="bg-primary-color-dark ph4 tc" role="banner">
|
||||
<section class="center pb4 pb5-l ph4-l pt3 pt5-ns w-90 w-60-l">
|
||||
<div class="center w-100 w-50-ns">
|
||||
<img src="/images/hugo-logo-wide.svg" alt="Hugo Logo">
|
||||
</div>
|
||||
{{ with .Site.Params.description }}
|
||||
<h2 class="f3 f1-l fw4 white-90 m0 lh-title pt2 pb3 pv0-ns">
|
||||
{{ . }}
|
||||
</h2>
|
||||
{{ end }}
|
||||
<div class="lh-copy f4 w-90-ns center fw2 silver tc tc-ns">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
<div class="w4 mv4 center">
|
||||
<a class="f5 db link grow tc v-mid bg-blue white ba b--blue ph3 pv2 br1" href="/getting-started/quick-start/">Quick Start</a>
|
||||
</div>
|
||||
</section>
|
||||
</header>
|
|
@ -1,34 +0,0 @@
|
|||
<div class="w-90-l center">
|
||||
{{ if .Params.features }}
|
||||
<div class=" flex-ns flex-wrap justify-center center mw9">
|
||||
{{ $features := .Params.features }}
|
||||
{{ range $i, $e := $features }}
|
||||
{{ $features_count := $e | len }}
|
||||
|
||||
<div class="w-100{{ if and (eq $i $features_count) (ne (modBool $features_count 2) true) }} w-70-ns {{ else }} w-50-ns {{ end }}ph5-l pv5-l nested-copy-line-height">
|
||||
<!-- NOTE: "if eq $i $features_count" makes the last item a bit wider for balance. If we use an even number of items, we'll want to remove this -->
|
||||
<div class="flex-l flex-wrap justify-between">
|
||||
<div class="flex-auto w-100 w-20-ns pt1 ">
|
||||
{{ with .image_path }}
|
||||
<img src="{{ . }}" alt="icon depicting {{ $e.heading }}" class="h3 o-80 v-mid center w-100">
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="flex-auto tc tl-ns w-100 w-80-ns">
|
||||
<h3 class="lh-title gray o-80 f4 f5-ns mb2 fw8 bmt1 mt0-l">
|
||||
{{ .heading }}
|
||||
</h3>
|
||||
<div class="db v-mid w-100 gray measure-wide mb5 mb0-l">
|
||||
<p class="f3 primary-color mt0 mb2">{{.tagline}}</p>
|
||||
<div class="lh-copy">
|
||||
{{ .copy }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
|
@ -1,32 +0,0 @@
|
|||
{{ if .Params.sections }}
|
||||
{{ range .Params.sections }}
|
||||
{{ $.Scratch.Add "i" 1 }}{{ $i := $.Scratch.Get "i" }}
|
||||
|
||||
<section class="w-100 ph4 ph5-ns pv4 pv6-ns mid-gray {{ .color_classes }}">
|
||||
<div class="flex-ns flex-wrap center mw9">
|
||||
|
||||
<div class="w-100 w-50-l {{ if modBool $i 2 }}order-1{{ else }}order-0{{ end }}">
|
||||
<div class="w-90-ns center">
|
||||
<img src="{{ .image }}" alt="image depicting an example of {{ .heading }}" class="img shadow-5">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-100 w-50-l">
|
||||
<div class="w-80-ns center tc">
|
||||
<h3 class="f1 fw4 black ma0 pt4 lh-title pt0-l">{{ .heading }}</h3>
|
||||
<p class="f3 lh-copy">
|
||||
{{ .copy }}
|
||||
</p>
|
||||
<p class="f4 lh-copy nested-linksTK">
|
||||
<a href="{{ .link | absURL }}" class="link black dim">
|
||||
{{ .cta }} {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,38 +0,0 @@
|
|||
<div class="flex-ns flex-wrap center mw9">
|
||||
<!-- LEFT -->
|
||||
|
||||
<div class="w-100 w-50-ns">
|
||||
<div class="w-80 center tc nested-copy-line-height">
|
||||
<h3 class="f2 black">Install in seconds, build in milliseconds.</h3>
|
||||
<p class="f3">Hugo works on macOS, Windows, Linux, FreeBSD, and others.</p>
|
||||
<p class="f3">Host on any server or your favorite CDN.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- RIGHT -->
|
||||
<div class="w-100 w-50-ns tc">
|
||||
<div class="h4">
|
||||
<img src="/images/gopher-hero.svg" alt="Hugo Gopher" class="h4">
|
||||
</div>
|
||||
<p class="f6 mid-gray m0 p0 pt3">macOS</p>
|
||||
<div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center mb2 tl">
|
||||
$ brew install hugo <br />
|
||||
</div>
|
||||
<p class="f6 mid-gray">Windows</p>
|
||||
<div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
|
||||
$ choco install hugo-extended<br />
|
||||
</div>
|
||||
<p class="f6 mid-gray">Linux</p>
|
||||
<div class="code f6 bg-black light-green lh-copy pv3 ph3 br2 w-100 w-50-ns center tl">
|
||||
$ sudo snap install hugo<br />
|
||||
</div>
|
||||
|
||||
|
||||
<p class="f5 nested-links"><a href="{{ "getting-started/installing/" | absURL }}" class="link">See the Getting Started Guide for other methods. {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}</a></p>
|
||||
</div>
|
||||
|
||||
<!-- TODO: the install section should have a tab menu for selecting the preferred installation method, i.e. the binaries from GitHub or the commands for the installation via a package manager https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287498412 -->
|
||||
|
||||
<!-- TODO: Animate the gopher https://github.com/rdwatters/hugo-docs-concept/issues/3#issuecomment-287194777 -->
|
||||
|
||||
</div>
|
|
@ -1,59 +0,0 @@
|
|||
<div class="w-100 center pt5">
|
||||
<div class="w-100 w-40-l tc center">
|
||||
<img src="/images/Github.svg" alt="Github Logo" class="tc center">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex-ns flex-wrap center pb4 center mw9">
|
||||
<!-- LEFT -->
|
||||
<div class="w-100 tc w-third-l">
|
||||
<h3 class="f3 mv3 accent-color-light">We welcome all contributions</h3>
|
||||
<ul class="list ma0 pa0">
|
||||
<li class="mb3 f4">
|
||||
|
||||
<a href="https://github.com/gohugoio/hugo/blob/master/CONTRIBUTING.md" class="link mid-gray dim">
|
||||
Fork the repo and work on an issue {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="mb3 f4">
|
||||
<a href="https://themes.gohugo.io/" class="link mid-gray dim">
|
||||
Design a theme {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="w-100 w-third-l tc">
|
||||
<div class="w-60-l center">
|
||||
|
||||
<p class="f4">Hugo is open-source and completely free.</p>
|
||||
<p class="f4">Our hundreds of contributors make Hugo great.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="w-100 tc w-third-l">
|
||||
<h3 class="f3 mv3 accent-color-light">More ways to contribute</h3>
|
||||
<ul class="list ma0 pa0">
|
||||
<li class="mb3 f4">
|
||||
<a href="https://gohugo.io/overview/introduction/" class="link mid-gray dim">
|
||||
Help improve the docs {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="mb3 f4">
|
||||
|
||||
<a href="https://discourse.gohugo.io/" class="link mid-gray dim">
|
||||
Help others in the forums {{ partial "svg/link-ext.svg" (dict "fill" "#333" "size" "14") }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- RIGHT -->
|
||||
|
||||
|
||||
</div>
|
|
@ -1,44 +0,0 @@
|
|||
<section class="bg-near-white mid-gray pb5 ph4 ph5-ns pt4 w-100">
|
||||
<h3 class="black f1 fw4 lh-title ma0 pb3 pt0-l pt4">Showcase</h3>
|
||||
{{/* NOTE: transitions for this section are in themes/gohugoioTheme/src/css/_carousel.css */}}
|
||||
<div class="w-100">
|
||||
<div class="w-100 overflow-x-scroll">
|
||||
<div class="row nowrap mv2 pb1">
|
||||
{{ $showcasePages := where .Site.RegularPages "Section" "showcase" }}
|
||||
{{ if $showcasePages }}
|
||||
{{ template "home_showcase_item" (index $showcasePages 0) }}
|
||||
{{ range $p := first 10 ($showcasePages | after 1 | shuffle) }}
|
||||
{{template "home_showcase_item" $p }}
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/* END */}}
|
||||
<div class="flex w-100 mt4 justify-end">{{/* using Flex to make the button show up on the right side */}}
|
||||
<a href="/showcase/" class="br2 f6 bg-primary-color-dark hover-bg-primary-color link ph3 pv2 ttu white">See All</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
{{ define "home_showcase_item" }}
|
||||
{{ $img := (.Resources.ByType "image").GetMatch "*featured*" }}
|
||||
{{ with $img }}
|
||||
{{ $big := .Fill "1024x512 top" }}
|
||||
{{ $small := $big.Resize "512x" }}
|
||||
<a href="{{ $.RelPermalink}}" class="tile lazyload cover dib f4 h5 ml1 mr4 bg-black relative mw-100 shadow-5" style="width:{{ $small.Width }}px;"
|
||||
data-bg="{{ $img.RelPermalink }}"
|
||||
data-sizes="auto"
|
||||
data-srcset="{{ $small.RelPermalink }} 1x,
|
||||
{{ $big.RelPermalink }} 2x" data-src="small"
|
||||
>
|
||||
{{with $.Title}}
|
||||
<div class="details absolute bottom-0 f3-ns f4 left-0 o-0 right-0 top-0">
|
||||
<div class="absolute bottom-0 pa2 tc white">
|
||||
{{.}} →
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -1,60 +0,0 @@
|
|||
{{ $classes_box := "ba b--dark-gray bg-light-gray br3 flex flex-column flex-wrap items-center justify-center ph3 pv4 mb4 w-100 w-30-l " }}
|
||||
{{ $gtag := .gtag | default "unknown" }}
|
||||
{{ $classes_box := "ba b--dark-gray bg-light-gray br3 flex flex-column flex-wrap items-center justify-center ph3 pv4 mb4 w-100 w-30-l " }}
|
||||
{{ $gtag := .gtag | default "unknown" }}
|
||||
{{ $isFooter := (eq $gtag "footer") }}
|
||||
{{ $utmSource := cond $isFooter "hugofooter" "hugohome" }}
|
||||
{{ with .cx.Site.Data.sponsors }}
|
||||
<style>
|
||||
a.show-on-hover {
|
||||
opacity: 0;
|
||||
}
|
||||
a.show-on-hover:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
<section
|
||||
class="{{ $.classes_section | default "bg-primary-color-dark b--dark-gray bb bt ph5 pv4 w-100" }}">
|
||||
<div class="center mw9">
|
||||
<h3 class="b f3 mv0 light-gray">Hugo Sponsors</h3>
|
||||
<div class="flex-ns flex-wrap center justify-between pt3">
|
||||
{{ range .banners }}
|
||||
<div
|
||||
class="{{ $classes_box }} o-100"
|
||||
style="background-color: {{ .bgcolor }};">
|
||||
{{ $query_params := .query_params | default "" }}
|
||||
{{ $url := .link }}
|
||||
{{ if not .no_query_params }}
|
||||
{{ $url = printf "%s?%s%s" .link $query_params (querify "utm_source" (.utm_source | default $utmSource ) "utm_medium" (.utm_medium | default "banner") "utm_campaign" (.utm_campaign | default "hugosponsor") "utm_content" (.utm_content | default "gohugoio")) | safeURL }}
|
||||
{{ end }}
|
||||
{{ $logo := resources.Get .logo }}
|
||||
{{ $gtagID := printf "Sponsor %s %s" .name $gtag | title }}
|
||||
{{ $classes := "" }}
|
||||
{{ if .show_on_hover }}
|
||||
{{ $classes = printf "%s show-on-hover" $classes }}
|
||||
{{ end }}
|
||||
{{ if $isFooter }}
|
||||
{{ $classes = printf "%s f3" $classes }}
|
||||
{{ else }}
|
||||
{{ $classes = printf "%s f1" $classes }}
|
||||
{{ end }}
|
||||
<a
|
||||
href="{{ $url }}"
|
||||
title="{{ .title | default .name }}"
|
||||
{{ if hugo.IsProduction }}
|
||||
onclick="trackOutboundLink({{ printf "'%s', '%s'" $gtagID $url | safeJS }});"
|
||||
{{ end }}
|
||||
class="w-100 grow pa3 {{ $classes }}"
|
||||
{{ with .link_attr }}{{ . | safeHTMLAttr }}{{ end }}>
|
||||
{{ with $logo }}
|
||||
{{ .Content | safeHTML }}
|
||||
{{ else }}
|
||||
{{ .name }}
|
||||
{{ end }}
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
|
@ -1,27 +0,0 @@
|
|||
<div class="flex-ns flex-wrap center mw9">
|
||||
|
||||
{{ $interior_classes := $.Site.Params.flex_box_interior_classes }}
|
||||
|
||||
<h3 class="f2 fw4 white">See what others are saying about Hugo…</h3>
|
||||
|
||||
<div class="flex-ns flex-wrap justify-between">
|
||||
|
||||
{{ if $.Site.Data.homepagetweets }}
|
||||
{{ range first 4 (sort $.Site.Data.homepagetweets.tweet "date" "desc" ) }}
|
||||
<div class="homepage-tweet relative {{ $interior_classes }} br1 mid-gray pv3 nested-links shadow-5">
|
||||
<div class="absolute top-0 left-0 ma2 o-10">
|
||||
{{ partial "svg/twitter.svg" . }}
|
||||
</div>
|
||||
<blockquote>
|
||||
<p class="f4">
|
||||
{{.quote | safeHTML}}
|
||||
</p>
|
||||
<cite class="homepage-tweet-attribution gray f6">─ {{ .name }} ({{ .twitter_handle }}) <a href="{{ .link }}">
|
||||
{{ dateFormat "January 2, 2006" .date }}</a>
|
||||
</cite>
|
||||
</blockquote>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
|
@ -1 +0,0 @@
|
|||
{{/* Deliberately empty */}}
|
|
@ -1,7 +0,0 @@
|
|||
{{ if .Page.Store.Get "hasMermaid" }}
|
||||
<script type="module" async>
|
||||
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9/+esm';
|
||||
|
||||
mermaid.initialize({ startOnLoad: true });
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1 +0,0 @@
|
|||
<a href="{{ .url }}" class="dim"><svg class="grow" fill="{{ .color }}" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg></a>
|
|
@ -1,24 +0,0 @@
|
|||
<table class="collapse ba br2 b--black-10 pv2 ph3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">LastMod</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">Link</th>
|
||||
<th class="pv2 ph3 tl f6 fw6 ttu">GitHub</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range . }}
|
||||
<tr class="striped--light-gray">
|
||||
<td class="pv2 ph3">{{ .Lastmod.Format "2006-01-02" }}</td>
|
||||
<td class="pv2 ph3">
|
||||
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</td>
|
||||
<td class="pv2 ph3">
|
||||
<a href="{{ .Site.Params.ghrepo }}blob/master/content/{{ .Language.Lang }}/{{ .File.Path }}">
|
||||
{{ with .GitInfo }}{{ .Subject }}{{ else }}Source{{ end }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
|
@ -1,9 +0,0 @@
|
|||
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
|
||||
<script>
|
||||
MathJax = {
|
||||
tex: {
|
||||
displayMath: [['\\[', '\\]'], ['$$', '$$']], // block
|
||||
inlineMath: [['\\(', '\\)']] // inline
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -1,11 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
{{ $menu := .Site.Menus.docs.ByWeight }}
|
||||
<ul class="list dib ph0 scrolling-touch tc">
|
||||
{{ range $menu }}{{ $post := printf "%s" .Post }}
|
||||
<li class="tl dib ma0 hover-bg-black w-100{{ if eq $post "break" }} mb2 bb b--mid-gray{{ end }}">
|
||||
<a href="{{.URL}}" class="ttu f6 link primary-color-light hover-white db brand-font mb1 ma0 w-100 pv2 ph4{{if $currentPage.IsMenuCurrent "main" . }} bg-primary-color{{end}}">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
|
@ -1,23 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
<nav role="navigation">
|
||||
<ul class="list pa0 nl2">
|
||||
{{ range .Site.Menus.docs.ByWeight }}
|
||||
{{ $post := printf "%s" .Post }}
|
||||
<li class="f5 w-100 hover-bg-light-gray hover-accent-color-light fw8{{ if eq $post "break" }} mb1 bb b--moon-gray{{ end }}">
|
||||
<a href="{{ if .HasChildren }}javascript:void(0){{ else }}{{ .URL }}{{ end }}" class="js-toggle dib w-100 link mid-gray hover-accent-color-light pl2 pr2 pv2 {{if or ($currentPage.IsMenuCurrent "docs" .) ($currentPage.HasMenuCurrent "docs" .) }} primary-color{{end}}" data-target=".{{ .Identifier }}">{{ .Name }}</a>
|
||||
|
||||
{{- if .HasChildren }}
|
||||
<ul class="{{ .Identifier }} desktopmenu animated fadeIn list pl0 bg-light-gray{{if $currentPage.HasMenuCurrent "docs" . }} db{{ else }} dn{{ end }}">
|
||||
{{- range .Children }}
|
||||
<li class="f6 fw4">
|
||||
<a href="{{.URL}}" class="db link hover-bg-gray hover-white pl3 pr2 pv2 {{if $currentPage.IsMenuCurrent "docs" . }}primary-color {{ else }}black {{end}}">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{- end}}
|
||||
</ul>
|
||||
{{- end}}
|
||||
</li>
|
||||
{{- end}}
|
||||
</ul>
|
||||
</nav>
|
|
@ -1,11 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
{{ $menu := .Site.Menus.global }}
|
||||
<ul class="list hidden dib ph0 scrolling-touch tc">
|
||||
{{ range $menu }}
|
||||
<li class="tl dib ma0 hover-bg-black w-100">
|
||||
<a href="{{.URL}}" class="ttu f6 link primary-color-light overflow hover-white db brand-font ma0 w-100 pv3 ph4{{if $currentPage.IsMenuCurrent "main" . }} bg-primary-color{{end}}">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
|
@ -1,37 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
{{ $.Scratch.Add "listlinkClasses" "f6 link primary-color-dark hover-white db brand-font ma0 w-100 pv3 ph4" }}
|
||||
|
||||
<!-- TODO: Not getting ismenucurrent -->
|
||||
|
||||
<ul class="list dib ph0 ma0 scrolling-touch tc">
|
||||
{{ range .Site.Menus.main }}
|
||||
<li class="tl-l dib ma0 hover-bg-black w-100{{ if .HasChildren }} dont-display-child-until-click{{end}}">
|
||||
|
||||
{{ if .HasChildren }}
|
||||
<a href="#{{ .Name | urlize }}" class="ttu {{ $.Scratch.Get "listlinkClasses" }}{{if $currentPage.IsMenuCurrent "main" . }} o-50{{end}}">
|
||||
{{ .Name }}
|
||||
<!-- <img src="/images/ic_keyboard_arrow_down_white_24px.svg" alt="" class="static v-mid f6 ma0 pa0"> -->
|
||||
</a>
|
||||
<ul id="{{ .Name | urlize}}" class="list pa0 ma0">
|
||||
<li class="ma0 pl3 brand-font">
|
||||
<a href="{{.URL}}" class="{{ $.Scratch.Get "listlinkClasses" }}{{if $currentPage.IsMenuCurrent "main" . }} o-50{{end}}">
|
||||
{{ .Name }} Overview
|
||||
</a>
|
||||
</li>
|
||||
{{ range .Children }}
|
||||
<li class="ma0 pl3 brand-font{{if $currentPage.IsMenuCurrent "main" . }} o-50{{end}}">
|
||||
<a href="{{.URL}}" class="{{ $.Scratch.Get "listlinkClasses" }}">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ else }}
|
||||
<a href="{{.URL}}" class="ttu {{ $.Scratch.Get "listlinkClasses" }}{{if $currentPage.IsMenuCurrent "main" . }} bg-primary-color{{end}}">
|
||||
{{ .Name }}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
|
@ -1,12 +0,0 @@
|
|||
<div class="globalmenu mobilemenu pb1 dn">
|
||||
{{ partial "nav-links-global-mobile.html" . }}
|
||||
</div>
|
||||
<div class="docsmenu mobilemenu pb1 dn">
|
||||
{{ partial "nav-links-docs-mobile.html" . }}
|
||||
</div>
|
||||
|
||||
<div class="flex dn-l justify-between">
|
||||
<button class="js-toggle flex-auto dib dn-l f6 tc db ph3 pv2 link mr2 white bg-primary-color-dark hover-bg-primary-color ba b--white-40 w-auto" data-target=".globalmenu">Menu</button>
|
||||
|
||||
<button class="js-toggle flex-auto dib dn-l f6 tc db ph3 pv2 link white bg-primary-color-dark hover-bg-primary-color ba b--white-40 w-auto" data-target=".docsmenu">Docs Menu</button>
|
||||
</div>
|
|
@ -1,16 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
<header class="dn-lTK relative cf bg-primary-color-dark pl4 w-100 z-5">
|
||||
<div class="flexTK items-centerTK dib ">
|
||||
<a class="absolute top-0 left-0 ml4 w4 w4-ns ph3 mr3" href="/">
|
||||
<img src="{{ .Site.Params.logo }}" alt="" class="w-100 shadow-2">
|
||||
</a>
|
||||
<a class="f4 f3-ns lh-solid brand-font fw7 link white hover-white no-underline dib mv0 ml6 pl3 mr5" href="/">
|
||||
{{ .Site.Title | markdownify }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{{ partial "nav-links.html" .}}
|
||||
<div class="dn-l">
|
||||
{{ partial "nav-button-open.html" .}}
|
||||
</div>
|
||||
</header>
|
|
@ -1,24 +0,0 @@
|
|||
{{ $images := $.Resources.ByType "image" }}
|
||||
{{ $featured := $images.GetMatch "*feature*" }}
|
||||
{{ if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end }}
|
||||
{{ if not $featured }}
|
||||
{{ $featured = resources.Get "/opengraph/gohugoio-card-base-1.png" }}
|
||||
{{ $size := 80 }}
|
||||
{{ $title := $.LinkTitle }}
|
||||
{{ if gt (len $title) 20 }}
|
||||
{{ $size = 70 }}
|
||||
{{ end }}
|
||||
|
||||
{{ $text := $title }}
|
||||
{{ $textOptions := dict
|
||||
"color" "#FFF"
|
||||
"size" $size
|
||||
"lineSpacing" 10
|
||||
"x" 65 "y" 80
|
||||
"font" (resources.Get "/opengraph/mulish-black.ttf")
|
||||
}}
|
||||
|
||||
{{ $featured = $featured | images.Filter (images.Text $text $textOptions) }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $featured }}
|
|
@ -1,42 +0,0 @@
|
|||
<meta property="og:title" content="{{ .Title }}" />
|
||||
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
|
||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
|
||||
<meta property="og:url" content="{{ .Permalink }}" />
|
||||
|
||||
{{- with $.Params.images -}}
|
||||
{{- range first 6 . }}<meta property="og:image" content="{{ . | absURL }}" />{{ end -}}
|
||||
{{- else -}}
|
||||
{{- $featured := partial "opengraph/get-featured-image.html" . }}
|
||||
{{- with $featured -}}
|
||||
<meta property="og:image" content="{{ $featured.Permalink }}"/>
|
||||
{{- else -}}
|
||||
{{- with $.Site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if .IsPage }}
|
||||
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
|
||||
<meta property="article:section" content="{{ .Section }}" />
|
||||
{{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
||||
{{ with .Lastmod }}<meta property="article:modified_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }}
|
||||
{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }}
|
||||
{{- with .Site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }}
|
||||
{{- with .Params.videos }}{{- range . }}
|
||||
<meta property="og:video" content="{{ . | absURL }}" />
|
||||
{{ end }}{{ end }}
|
||||
|
||||
{{- /* If it is part of a series, link to related articles */}}
|
||||
{{- $permalink := .Permalink }}
|
||||
{{- $siteSeries := .Site.Taxonomies.series }}
|
||||
{{ with .Params.series }}{{- range $name := . }}
|
||||
{{- $series := index $siteSeries ($name | urlize) }}
|
||||
{{- range $page := first 6 $series.Pages }}
|
||||
{{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }}
|
||||
{{- end }}
|
||||
{{ end }}{{ end }}
|
||||
|
||||
{{- /* Facebook Page Admin ID for Domain Insights */}}
|
||||
{{- with site.Params.social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
|
|
@ -1,22 +0,0 @@
|
|||
{{- with $.Params.images -}}
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
||||
{{ else -}}
|
||||
{{- $featured := partial "opengraph/get-featured-image.html" . }}
|
||||
{{- with $featured -}}
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
|
||||
{{- else -}}
|
||||
{{- with $.Site.Params.images -}}
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
||||
{{ else -}}
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
<meta name="twitter:title" content="{{ .Title }}"/>
|
||||
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
|
||||
{{ with site.Params.social.twitter -}}
|
||||
<meta name="twitter:site" content="@{{ . }}"/>
|
||||
{{ end -}}
|
|
@ -1,3 +0,0 @@
|
|||
<a href="{{.Site.Params.ghrepo }}edit/master/content/{{ .Language.Lang }}/{{ .File.Path }}" class="
|
||||
f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
|
||||
">Improve this page</a>
|
|
@ -1,20 +0,0 @@
|
|||
{{ $currentPage := . }}
|
||||
{{ $currentURL := .RelPermalink }}
|
||||
<header class="ph4 flex pv4 bg-light-gray">
|
||||
<ul class="list ma0 pa0 ">
|
||||
<!-- TODO: Active classes -->
|
||||
<li class="f5 dib mr3 mb3 mb0-ns v-top white">
|
||||
<a href="/news/" class="link primary-color-dark dim">
|
||||
News:
|
||||
</a>
|
||||
</li>
|
||||
{{ range $name, $taxonomy := .Site.Taxonomies.categories }}
|
||||
{{ $link := $name | printf "%s%s" "/categories/" | printf "%s/" }}
|
||||
<li class="f5 dib mr3 v-top mr3 mb3 mb0-ns">
|
||||
<a href="{{ $link }}" class="link {{ if eq $currentURL $link }} bg-primary-color-dark {{ else }} bg-primary-color-dark {{ end }} white ph3 pv1 br2 hover-bg-accent-color-light">
|
||||
{{ $name | humanize }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</header>
|
|
@ -1,36 +0,0 @@
|
|||
{{ $section_to_display := .section_to_display }}
|
||||
<div class="w-100 ph4 pb5 pb6-ns pt1 mt4 pt3-ns">
|
||||
|
||||
<div class="flex">
|
||||
<div class="dn db-l w-20">
|
||||
{{ partial "nav-links-docs.html" .context }}
|
||||
</div>
|
||||
|
||||
<div class="w-100 w-80-l ph0 ph4-l">
|
||||
<article class="w-100 nested-copy-line-height nested-links nested-img">
|
||||
<h1 class="primary-color-dark f2">
|
||||
{{ with $.context.Data.Singular }}{{ . | humanize }}: {{ end }}{{ .context.Title }}
|
||||
</h1>
|
||||
<div class="{{ .Site.Params.copyClass }} mid-gray f5 f4-l">
|
||||
{{ .context.Content }}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="flex flex-wrap">
|
||||
{{ $interior_classes := .context.Site.Params.flex_box_interior_classes }}
|
||||
<section class="flex-ns flex-wrap justify-between w-100">
|
||||
{{ $pages := $section_to_display }}
|
||||
{{ if in (slice "functions" "methods") $.context.Type }}
|
||||
{{ $pages = $.context.Pages }}
|
||||
{{ end }}
|
||||
{{ range $pages }}
|
||||
{{ partial "boxes-section-summaries.html" (dict "context" . "classes" $interior_classes "fullcontent" true) }}
|
||||
{{ end }}
|
||||
</section>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -1,14 +0,0 @@
|
|||
{{ if or .PrevInSection .NextInSection }}
|
||||
{{/* this div holds these a tags as a unit for flex-box display */}}
|
||||
<div date-pref class="white">
|
||||
{{if .NextInSection}}
|
||||
<a href="{{.NextInSection.Permalink }}" class="br2 db f6 ph2 pv2 bg-light-gray white" title="{{ .NextInSection.Title }} ">{{ partial "svg/ic_chevron_left_black_24px.svg" (dict "fill" "#fff" "size" "12px") }} {{.NextInSection.Title}}</a>
|
||||
{{end}}
|
||||
|
||||
{{if .PrevInSection}}
|
||||
<a href="{{ .PrevInSection.Permalink }}" class="br2 db f6 pr1 mt3 bg-light-gray ph2 pv2 white" title="{{ .PrevInSection.Title }}">
|
||||
{{.PrevInSection.Title}} {{ partial "svg/ic_chevron_right_black_24px.svg" (dict "fill" "#fff" "size" "12px") }}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,16 +0,0 @@
|
|||
{{ if or .PrevInSection .NextInSection }}
|
||||
{{/* this div holds these a tags as a unit for flex-box display */}}
|
||||
<div date-pref>
|
||||
{{if .NextInSection}}
|
||||
<a href="{{.NextInSection.Permalink }}" class="dib f6 pl1 hover-bg-light-gray br-100" title="{{ .NextInSection.Title }} ">
|
||||
{{ partial "svg/ic_chevron_left_black_24px.svg" (dict "fill" "#0594CB" "size" "30px") }}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if .PrevInSection}}
|
||||
<a href="{{ .PrevInSection.Permalink }}" class="dib f6 pr1 hover-bg-light-gray br-100" title="{{ .PrevInSection.Title }}">
|
||||
{{ partial "svg/ic_chevron_right_black_24px.svg" (dict "fill" "#0594CB" "size" "30px") }}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,25 +0,0 @@
|
|||
{{if .Prev }}
|
||||
<a href="{{ .Prev.Permalink }}" class="db-l f4 f3-ns link primary-color hover-black fw8 mr4">
|
||||
<span class="v-mid dib">{{ partial "svg/ic_chevron_left_black_24px.svg" (dict "size" "30px") }}</span> {{ .Prev.Title }}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if .Next }}
|
||||
<a href="{{.Next.Permalink }}" class="db-l f4 f3-ns link primary-color hover-black fw8">
|
||||
{{ .Next.Title }} <span class="v-mid dib">{{ partial "svg/ic_chevron_right_black_24px.svg" (dict "size" "30px") }}</span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
|
||||
<script>
|
||||
document.body.onkeyup = function(e){
|
||||
if (!(e.ctrlKey || e.shiftKey || e.altKey || e.metaKey)) {
|
||||
{{- if .Prev }}
|
||||
if (e.keyCode == '37') { window.location = '{{ .Prev.Permalink }}'; }
|
||||
{{- end }}
|
||||
{{- if .Next }}
|
||||
if (e.keyCode == '39') { window.location = '{{ .Next.Permalink }}'; }
|
||||
{{- end }}
|
||||
}
|
||||
};
|
||||
</script>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue