mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-14 20:33:59 +02:00
Merge commit 'a024bc7d76fcc5e49e8210f9b0896db9ef21861a'
This commit is contained in:
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",
|
"# cspell: ignore hugo terminology",
|
||||||
"# ----------------------------------------------------------------------",
|
"# ----------------------------------------------------------------------",
|
||||||
|
"alignx",
|
||||||
"attrlink",
|
"attrlink",
|
||||||
"canonify",
|
"canonify",
|
||||||
"codeowners",
|
"codeowners",
|
||||||
@@ -85,6 +86,7 @@
|
|||||||
"stringifier",
|
"stringifier",
|
||||||
"struct",
|
"struct",
|
||||||
"toclevels",
|
"toclevels",
|
||||||
|
"unmarshal",
|
||||||
"unpublishdate",
|
"unpublishdate",
|
||||||
"zgotmplz",
|
"zgotmplz",
|
||||||
"# ----------------------------------------------------------------------",
|
"# ----------------------------------------------------------------------",
|
||||||
@@ -158,6 +160,8 @@
|
|||||||
"# cspell: ignore miscellaneous",
|
"# cspell: ignore miscellaneous",
|
||||||
"# ----------------------------------------------------------------------",
|
"# ----------------------------------------------------------------------",
|
||||||
"achristie",
|
"achristie",
|
||||||
|
"ccpa",
|
||||||
|
"crpa",
|
||||||
"ddmaurier",
|
"ddmaurier",
|
||||||
"dring",
|
"dring",
|
||||||
"fleqn",
|
"fleqn",
|
||||||
@@ -171,6 +175,7 @@
|
|||||||
"rsmith",
|
"rsmith",
|
||||||
"tdewolff",
|
"tdewolff",
|
||||||
"tjones",
|
"tjones",
|
||||||
|
"vcard",
|
||||||
"wcag",
|
"wcag",
|
||||||
"xfeff"
|
"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
|
incremental_files_only: true
|
||||||
inline: warning
|
inline: warning
|
||||||
strict: false
|
strict: false
|
||||||
|
- uses: codespell-project/actions-codespell@v2
|
||||||
|
with:
|
||||||
|
check_filenames: true
|
||||||
|
check_hidden: true
|
||||||
|
# by default, codespell uses configuration from the .codespellrc
|
||||||
|
13
docs/.gitignore
vendored
13
docs/.gitignore
vendored
@@ -1,10 +1,13 @@
|
|||||||
|
.DS_Store
|
||||||
|
.hugo_build.lock
|
||||||
/.idea
|
/.idea
|
||||||
/.vscode
|
/.vscode
|
||||||
/public
|
|
||||||
/dist
|
/dist
|
||||||
node_modules
|
/public
|
||||||
|
hugo_stats.json
|
||||||
|
node_modules/
|
||||||
nohup.out
|
nohup.out
|
||||||
.DS_Store
|
package-lock.json
|
||||||
|
public/
|
||||||
|
resources/
|
||||||
trace.out
|
trace.out
|
||||||
.hugo_build.lock
|
|
||||||
resources/_gen/images/
|
|
202
docs/LICENSE.md
202
docs/LICENSE.md
@@ -1,201 +1,3 @@
|
|||||||
Apache License
|
See [content/LICENSE.md](content/LICENSE.md) for the license of the content of this repository.
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
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.
|
||||||
|
|
||||||
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.
|
|
@@ -16,3 +16,12 @@ Please see the [contributing] section for guidelines, examples, and process.
|
|||||||
[friends]: https://github.com/gohugoio/hugo/graphs/contributors
|
[friends]: https://github.com/gohugoio/hugo/graphs/contributors
|
||||||
[go]: https://go.dev/
|
[go]: https://go.dev/
|
||||||
[contributing]: https://gohugo.io/contribute/documentation
|
[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
Reference in New Issue
Block a user