Switch to docsy hugo theme
This commit is contained in:
parent
c876ad6603
commit
882be7cbce
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,5 +1,5 @@
|
||||
node_modules
|
||||
public
|
||||
resources
|
||||
.netlify
|
||||
/public
|
||||
resources/
|
||||
node_modules/
|
||||
package-lock.json
|
||||
.hugo_build.lock
|
28
CONTRIBUTING.md
Normal file
28
CONTRIBUTING.md
Normal file
@ -0,0 +1,28 @@
|
||||
# How to Contribute
|
||||
|
||||
We'd love to accept your patches and contributions to this project. There are
|
||||
just a few small guidelines you need to follow.
|
||||
|
||||
## Contributor License Agreement
|
||||
|
||||
Contributions to this project must be accompanied by a Contributor License
|
||||
Agreement. You (or your employer) retain the copyright to your contribution;
|
||||
this simply gives us permission to use and redistribute your contributions as
|
||||
part of the project. Head over to <https://cla.developers.google.com/> to see
|
||||
your current agreements on file or to sign a new one.
|
||||
|
||||
You generally only need to submit a CLA once, so if you've already submitted one
|
||||
(even if it was for a different project), you probably don't need to do it
|
||||
again.
|
||||
|
||||
## Code reviews
|
||||
|
||||
All submissions, including submissions by project members, require review. We
|
||||
use GitHub pull requests for this purpose. Consult
|
||||
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
|
||||
information on using pull requests.
|
||||
|
||||
## Community Guidelines
|
||||
|
||||
This project follows
|
||||
[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
|
4
Dockerfile
Normal file
4
Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM klakegg/hugo:ext-alpine
|
||||
|
||||
RUN apk add git && \
|
||||
git config --global --add safe.directory /src
|
215
LICENSE
215
LICENSE
@ -1,22 +1,201 @@
|
||||
MIT License
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
Copyright (c) 2018-present, Gridsome
|
||||
Copyright (c) 2020-present, Henk Verlinde
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
1. Definitions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
"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.
|
||||
|
281
README.md
281
README.md
@ -1,159 +1,184 @@
|
||||
<p align="center">
|
||||
<a href="https://getdoks.org/">
|
||||
<img alt="Doks" src="https://doks.netlify.app/doks.svg" width="60">
|
||||
</a>
|
||||
</p>
|
||||
# Docsy Example
|
||||
|
||||
<h1 align="center">
|
||||
Doks
|
||||
</h1>
|
||||
[Docsy][] is a [Hugo theme module][] for technical documentation sites, providing easy
|
||||
site navigation, structure, and more. This **Docsy Example Project** uses the Docsy
|
||||
theme component as a hugo module and provides a skeleton documentation structure for you to use.
|
||||
You can clone/copy this project and edit it with your own content, or use it as an example.
|
||||
|
||||
<h3 align="center">
|
||||
Modern Documentation Theme
|
||||
</h3>
|
||||
In this project, the Docsy theme is pulled in as a Hugo module, together with
|
||||
its dependencies:
|
||||
|
||||
<p align="center">
|
||||
Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/h-enk/doks/blob/master/LICENSE">
|
||||
<img src="https://img.shields.io/github/license/h-enk/doks?style=flat-square" alt="GitHub">
|
||||
</a>
|
||||
<a href="https://github.com/h-enk/doks/releases">
|
||||
<img src="https://img.shields.io/github/v/release/h-enk/doks?include_prereleases&style=flat-square"alt="GitHub release (latest SemVer including pre-releases)">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/@hyas/doks">
|
||||
<img src="https://img.shields.io/npm/v/@hyas/doks?style=flat-square" alt="npm (scoped)">
|
||||
</a>
|
||||
<a href="https://github.com/h-enk/doks/actions?query=workflow%3A%22Hyas+CI%22">
|
||||
<img src="https://img.shields.io/github/workflow/status/h-enk/doks/Hyas%20CI/master?style=flat-square" alt="GitHub Workflow Status (branch)">
|
||||
</a>
|
||||
<a href="https://app.netlify.com/sites/doks/deploys">
|
||||
<img src="https://img.shields.io/netlify/8a1009d5-88ac-413e-96ef-3f928674a083?style=flat-square" alt="Netlify">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
![Doks — Modern Documentation Theme](https://raw.githubusercontent.com/h-enk/doks/master/images/doks.png)
|
||||
|
||||
## Demo
|
||||
|
||||
- [doks.netlify.app](https://doks.netlify.app/)
|
||||
|
||||
## Why Doks?
|
||||
|
||||
Nine main reasons why you should use Doks:
|
||||
|
||||
1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs.
|
||||
|
||||
2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=59aafe464a68f8bc30b8e9a636d5b053) by default. Doks removes unused css, prefetches links, and lazy loads images.
|
||||
|
||||
3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.
|
||||
|
||||
4. __Development tools__. Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually.
|
||||
|
||||
5. __Bootstrap framework__. Build robust, flexible, and intuitive websites with Bootstrap 5. Easily customize your Doks site with the source Sass files.
|
||||
|
||||
6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers.
|
||||
|
||||
7. __Full text search__. Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking.
|
||||
|
||||
8. __Page layouts__. Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.
|
||||
|
||||
9. __Dark mode__. Switch to a low-light UI with the click of a button. Change colors with variables to match your branding.
|
||||
|
||||
### Other features
|
||||
|
||||
- __Multilingual and i18n__ support
|
||||
- __Versioning__ documentation support
|
||||
- __KaTeX__ math typesetting
|
||||
- __Mermaid__ diagrams and visualization
|
||||
- __highlight.js__ syntax highlighting
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Git](https://git-scm.com/) — latest source release
|
||||
- [Node.js](https://nodejs.org/) — latest LTS version or newer
|
||||
|
||||
<details>
|
||||
<summary>Why Node.js?</summary>
|
||||
|
||||
Doks uses npm (included with Node.js) to centralize dependency management, making it [easy to update](https://getdoks.org/docs/help/how-to-update/) resources, build tooling, plugins, and build scripts.
|
||||
|
||||
</details>
|
||||
|
||||
## Get started
|
||||
|
||||
Start a new Doks project in three steps:
|
||||
|
||||
### 1. Create a new site
|
||||
|
||||
Doks is available as a child theme and a starter theme.
|
||||
|
||||
#### Child theme
|
||||
|
||||
- Intended for novice to intermediate users
|
||||
- Intended for minor customizations
|
||||
- [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/) — __including__ [Doks](https://www.npmjs.com/package/@hyas/doks)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/h-enk/doks-child-theme.git my-doks-site && cd my-doks-site
|
||||
```console
|
||||
$ hugo mod graph
|
||||
...
|
||||
```
|
||||
|
||||
#### Starter theme
|
||||
For Docsy documentation, see [Docsy user guide][].
|
||||
|
||||
- Intended for intermediate to advanced users
|
||||
- Intended for major customizations
|
||||
- [Easily update npm packages](https://getdoks.org/docs/help/how-to-update/)
|
||||
This Docsy Example Project is hosted on [Netlify][] at [example.docsy.dev][].
|
||||
You can view deploy logs from the [deploy section of the project's Netlify
|
||||
dashboard][deploys], or this [alternate dashboard][].
|
||||
|
||||
This is not an officially supported Google product. This project is currently maintained.
|
||||
|
||||
## Using the Docsy Example Project as a template
|
||||
|
||||
A simple way to get started is to use this project as a template, which gives you a site project that is set up and ready to use. To do this:
|
||||
|
||||
1. Use the dropdown for switching branches/tags to change to the **latest** released tag.
|
||||
|
||||
2. Click **Use this template**.
|
||||
|
||||
3. Select a name for your new project and click **Create repository from template**.
|
||||
|
||||
4. Make your own local working copy of your new repo using git clone, replacing https://github.com/me/example.git with your repo’s web URL:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/h-enk/doks.git my-doks-site && cd my-doks-site
|
||||
git clone --depth 1 https://github.com/me/example.git
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>Help me choose</summary>
|
||||
You can now edit your own versions of the site’s source files.
|
||||
|
||||
Not sure which one is for you? Pick the child theme.
|
||||
|
||||
</details>
|
||||
|
||||
### 2. Install dependencies
|
||||
If you want to do SCSS edits and want to publish these, you need to install `PostCSS`
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### 3. Start development server
|
||||
## Running the website locally
|
||||
|
||||
Building and running the site locally requires a recent `extended` version of [Hugo](https://gohugo.io).
|
||||
You can find out more about how to install Hugo for your environment in our
|
||||
[Getting started](https://www.docsy.dev/docs/getting-started/#prerequisites-and-installation) guide.
|
||||
|
||||
Once you've made your working copy of the site repo, from the repo root folder, run:
|
||||
|
||||
```bash
|
||||
npm run start
|
||||
hugo server
|
||||
```
|
||||
|
||||
## Other commands
|
||||
## Running a container locally
|
||||
|
||||
Doks comes with [commands](https://getdoks.org/docs/prologue/commands/) for common tasks.
|
||||
You can run docsy-example inside a [Docker](https://docs.docker.com/)
|
||||
container, the container runs with a volume bound to the `docsy-example`
|
||||
folder. This approach doesn't require you to install any dependencies other
|
||||
than [Docker Desktop](https://www.docker.com/products/docker-desktop) on
|
||||
Windows and Mac, and [Docker Compose](https://docs.docker.com/compose/install/)
|
||||
on Linux.
|
||||
|
||||
## Documentation
|
||||
1. Build the docker image
|
||||
|
||||
- [Netlify](https://docs.netlify.com/)
|
||||
- [Hugo](https://gohugo.io/documentation/)
|
||||
- [Doks](https://getdoks.org/)
|
||||
```bash
|
||||
docker-compose build
|
||||
```
|
||||
|
||||
## Communities
|
||||
1. Run the built image
|
||||
|
||||
- [Netlify Community](https://community.netlify.com/)
|
||||
- [Hugo Forums](https://discourse.gohugo.io/)
|
||||
- [Doks Discussions](https://github.com/h-enk/doks/discussions)
|
||||
```bash
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
## Sponsors
|
||||
> NOTE: You can run both commands at once with `docker-compose up --build`.
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
|
||||
1. Verify that the service is working.
|
||||
|
||||
[![OC sponsor 0](https://opencollective.com/doks/tiers/sponsor/0/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/0/website)
|
||||
[![OC sponsor 1](https://opencollective.com/doks/tiers/sponsor/1/avatar.svg)](https://opencollective.com/doks/tiers/sponsor/1/website)
|
||||
Open your web browser and type `http://localhost:1313` in your navigation bar,
|
||||
This opens a local instance of the docsy-example homepage. You can now make
|
||||
changes to the docsy example and those changes will immediately show up in your
|
||||
browser after you save.
|
||||
|
||||
## Backers
|
||||
### Cleanup
|
||||
|
||||
Support this project by becoming a backer. Your avatar will show up here.
|
||||
To stop Docker Compose, on your terminal window, press **Ctrl + C**.
|
||||
|
||||
[![Backers](https://opencollective.com/doks/tiers/backer.svg?49741992)](https://opencollective.com/doks)
|
||||
To remove the produced images run:
|
||||
|
||||
```bash
|
||||
docker-compose rm
|
||||
```
|
||||
For more information see the [Docker Compose documentation][].
|
||||
|
||||
## Using a local Docsy clone
|
||||
|
||||
Make sure your installed go version is `1.18` or higher.
|
||||
|
||||
Clone the latest version of the docsy theme into the parent folder of your project. The newly created repo should now reside in a sibling folder of your site's root folder.
|
||||
|
||||
```shell
|
||||
cd root-of-your-site
|
||||
git clone --branch v0.7.2 https://github.com/google/docsy.git ../docsy
|
||||
```
|
||||
|
||||
Now run:
|
||||
|
||||
```shell
|
||||
HUGO_MODULE_WORKSPACE=docsy.work hugo server --ignoreVendorPaths "**"
|
||||
```
|
||||
|
||||
or, when using npm, prepend `local` to the script you want to invoke, e.g.:
|
||||
|
||||
```shell
|
||||
npm run local serve
|
||||
```
|
||||
|
||||
By using the `HUGO_MODULE_WORKSPACE` directive (either directly or via prefix `local` when using npm), the server now watches all files and directories inside the sibling directory `../docsy` , too. Any changes inside the local `docsy` theme clone are now immediately picked up (hot reload), you can instantly see the effect of your local edits.
|
||||
|
||||
In the command above, we used the environment variable `HUGO_MODULE_WORKSPACE` to tell hugo about the local workspace file `docsy.work`. Alternatively, you can declare the workspace file inside your settings file `hugo.toml`:
|
||||
|
||||
```toml
|
||||
[module]
|
||||
workspace = "docsy.work"
|
||||
```
|
||||
|
||||
Your project's `hugo.toml` file already contains these lines, the directive for workspace assignment is commented out, however. Remove the two trailing comment characters '//' so that this line takes effect.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
As you run the website locally, you may run into the following error:
|
||||
|
||||
```console
|
||||
$ hugo server
|
||||
WARN 2023/06/27 16:59:06 Module "project" is not compatible with this Hugo version; run "hugo mod graph" for more information.
|
||||
Start building sites …
|
||||
hugo v0.101.0-466fa43c16709b4483689930a4f9ac8add5c9f66+extended windows/amd64 BuildDate=2022-06-16T07:09:16Z VendorInfo=gohugoio
|
||||
Error: Error building site: "C:\Users\foo\path\to\docsy-example\content\en\_index.md:5:1": failed to extract shortcode: template for shortcode "blocks/cover" not found
|
||||
Built in 27 ms
|
||||
```
|
||||
|
||||
This error occurs if you are running an outdated version of Hugo. As of docsy theme version `v0.7.0`, hugo version `0.110.0` or higher is required.
|
||||
See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-hugo) of the user guide for instructions on how to install Hugo.
|
||||
|
||||
Or you may be confronted with the following error:
|
||||
|
||||
```console
|
||||
$ hugo server
|
||||
|
||||
INFO 2021/01/21 21:07:55 Using config file:
|
||||
Building sites … INFO 2021/01/21 21:07:55 syncing static files to /
|
||||
Built in 288 ms
|
||||
Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss): resource "scss/scss/main.scss_9fadf33d895a46083cdd64396b57ef68" not found in file cache
|
||||
```
|
||||
|
||||
This error occurs if you have not installed the extended version of Hugo.
|
||||
See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-hugo) of the user guide for instructions on how to install Hugo.
|
||||
|
||||
Or you may encounter the following error:
|
||||
|
||||
```console
|
||||
$ hugo server
|
||||
|
||||
Error: failed to download modules: binary with name "go" not found
|
||||
```
|
||||
|
||||
This error occurs if you have not installed the `go` programming language on your system.
|
||||
See this [section](https://www.docsy.dev/docs/get-started/docsy-as-module/installation-prerequisites/#install-go-language) of the user guide for instructions on how to install `go`.
|
||||
|
||||
|
||||
[alternate dashboard]: https://app.netlify.com/sites/goldydocs/deploys
|
||||
[deploys]: https://app.netlify.com/sites/docsy-example/deploys
|
||||
[Docsy user guide]: https://docsy.dev/docs
|
||||
[Docsy]: https://github.com/google/docsy
|
||||
[example.docsy.dev]: https://example.docsy.dev
|
||||
[Hugo theme module]: https://gohugo.io/hugo-modules/use-modules/#use-a-module-for-a-theme
|
||||
[Netlify]: https://netlify.com
|
||||
[Docker Compose documentation]: https://docs.docker.com/compose/gettingstarted/
|
||||
|
@ -1,7 +0,0 @@
|
||||
# Reporting Security Issues
|
||||
|
||||
The Doks team and community take security issues in Doks seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
|
||||
|
||||
To report a security issue, email [security@getdoks.org](mailto:security@getdoks.org) and include the word "SECURITY" in the subject line.
|
||||
|
||||
We'll endeavor to respond quickly, and will keep you updated throughout the process.
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
description: ""
|
||||
excerpt: ""
|
||||
date: {{ .Date }}
|
||||
lastmod: {{ .Date }}
|
||||
draft: true
|
||||
weight: 50
|
||||
images: []
|
||||
categories: []
|
||||
tags: []
|
||||
contributors: []
|
||||
pinned: false
|
||||
homepage: false
|
||||
---
|
@ -1,8 +0,0 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
description: ""
|
||||
date: {{ .Date }}
|
||||
lastmod: {{ .Date }}
|
||||
draft: true
|
||||
images: []
|
||||
---
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: {{ .Date }}
|
||||
lastmod: {{ .Date }}
|
||||
draft: true
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: ""
|
||||
identifier: "{{ .Name }}-{{ delimit (shuffle (split (md5 .Name) "" )) "" }}"
|
||||
weight: 999
|
||||
toc: true
|
||||
---
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Docs"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-25T14:40:56+01:00
|
||||
lastmod: 2022-01-25T14:40:56+01:00
|
||||
draft: false
|
||||
images: []
|
||||
type: docs
|
||||
---
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Lorem"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-25T14:41:21+01:00
|
||||
lastmod: 2022-01-25T14:41:21+01:00
|
||||
draft: false
|
||||
images: []
|
||||
type: docs
|
||||
---
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
title: "Ipsum"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-25T14:41:39+01:00
|
||||
lastmod: 2022-01-25T14:41:39+01:00
|
||||
draft: false
|
||||
images: []
|
||||
type: docs
|
||||
menu:
|
||||
{{ .Section }}:
|
||||
parent: "lorem"
|
||||
identifier: "{{ .Name }}-{{ delimit (shuffle (split (md5 .Name) "" )) "" }}"
|
||||
weight: 100
|
||||
toc: true
|
||||
---
|
Binary file not shown.
Before Width: | Height: | Size: 4.6 KiB |
@ -1,5 +0,0 @@
|
||||
Object.keys(localStorage).forEach(function(key) {
|
||||
if (/^global-alert-/.test(key)) {
|
||||
document.documentElement.setAttribute('data-global-alert', 'closed');
|
||||
}
|
||||
});
|
@ -1,20 +0,0 @@
|
||||
var announcement = document.getElementById('announcement');
|
||||
|
||||
if (announcement !== null) {
|
||||
|
||||
var id = announcement.dataset.id;
|
||||
|
||||
Object.keys(localStorage).forEach(function(key) {
|
||||
if (/^global-alert-/.test(key)) {
|
||||
if (key !== id ) {
|
||||
localStorage.removeItem(key);
|
||||
document.documentElement.removeAttribute('data-global-alert');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
announcement.addEventListener('closed.bs.alert', () => {
|
||||
localStorage.setItem(id, 'closed');
|
||||
});
|
||||
|
||||
}
|
2
assets/js/bootstrap.js
vendored
2
assets/js/bootstrap.js
vendored
@ -1,2 +0,0 @@
|
||||
import 'bootstrap/dist/js/bootstrap.bundle.min.js'
|
||||
// import 'bootstrap/dist/js/bootstrap.min.js'
|
@ -1,37 +0,0 @@
|
||||
import Clipboard from 'clipboard';
|
||||
|
||||
var pre = document.getElementsByTagName('pre');
|
||||
|
||||
for (var i = 0; i < pre.length; ++ i)
|
||||
{
|
||||
var element = pre[i];
|
||||
var mermaid = element.getElementsByClassName('language-mermaid')[0];
|
||||
|
||||
if (mermaid == null) {
|
||||
element.insertAdjacentHTML('afterbegin', '<button class="btn btn-copy"></button>');
|
||||
}
|
||||
}
|
||||
|
||||
var clipboard = new Clipboard('.btn-copy', {
|
||||
|
||||
target: function(trigger) {
|
||||
return trigger.nextElementSibling;
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
clipboard.on('success', function(e) {
|
||||
|
||||
/*
|
||||
console.info('Action:', e.action);
|
||||
console.info('Text:', e.text);
|
||||
console.info('Trigger:', e.trigger);
|
||||
*/
|
||||
|
||||
e.clearSelection();
|
||||
});
|
||||
|
||||
clipboard.on('error', function(e) {
|
||||
console.error('Action:', e.action);
|
||||
console.error('Trigger:', e.trigger);
|
||||
});
|
@ -1,21 +0,0 @@
|
||||
const globalDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
const localMode = localStorage.getItem('theme');
|
||||
|
||||
if (globalDark && (localMode === null)) {
|
||||
|
||||
localStorage.setItem('theme', 'dark');
|
||||
document.documentElement.setAttribute('data-dark-mode', '');
|
||||
|
||||
}
|
||||
|
||||
if (globalDark && (localMode === 'dark')) {
|
||||
|
||||
document.documentElement.setAttribute('data-dark-mode', '');
|
||||
|
||||
}
|
||||
|
||||
if (localMode === 'dark') {
|
||||
|
||||
document.documentElement.setAttribute('data-dark-mode', '');
|
||||
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
const mode = document.getElementById('mode');
|
||||
|
||||
if (mode !== null) {
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
|
||||
|
||||
if (event.matches) {
|
||||
|
||||
localStorage.setItem('theme', 'dark');
|
||||
document.documentElement.setAttribute('data-dark-mode', '');
|
||||
|
||||
} else {
|
||||
|
||||
localStorage.setItem('theme', 'light');
|
||||
document.documentElement.removeAttribute('data-dark-mode');
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
mode.addEventListener('click', () => {
|
||||
|
||||
document.documentElement.toggleAttribute('data-dark-mode');
|
||||
localStorage.setItem('theme', document.documentElement.hasAttribute('data-dark-mode') ? 'dark' : 'light');
|
||||
|
||||
});
|
||||
|
||||
if (localStorage.getItem('theme') === 'dark') {
|
||||
|
||||
document.documentElement.setAttribute('data-dark-mode', '');
|
||||
|
||||
} else {
|
||||
|
||||
document.documentElement.removeAttribute('data-dark-mode');
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
import hljs from 'highlight.js/lib/core';
|
||||
|
||||
import javascript from 'highlight.js/lib/languages/javascript';
|
||||
import json from 'highlight.js/lib/languages/json';
|
||||
import bash from 'highlight.js/lib/languages/bash';
|
||||
import xml from 'highlight.js/lib/languages/xml';
|
||||
import ini from 'highlight.js/lib/languages/ini';
|
||||
import yaml from 'highlight.js/lib/languages/yaml';
|
||||
import markdown from 'highlight.js/lib/languages/markdown';
|
||||
import python from 'highlight.js/lib/languages/python';
|
||||
|
||||
hljs.registerLanguage('javascript', javascript);
|
||||
hljs.registerLanguage('json', json);
|
||||
hljs.registerLanguage('bash', bash);
|
||||
hljs.registerLanguage('html', xml);
|
||||
hljs.registerLanguage('ini', ini);
|
||||
hljs.registerLanguage('toml', ini);
|
||||
hljs.registerLanguage('yaml', yaml);
|
||||
hljs.registerLanguage('md', markdown);
|
||||
hljs.registerLanguage('python', python);
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.querySelectorAll('pre code:not(.language-mermaid)').forEach((block) => {
|
||||
hljs.highlightElement(block);
|
||||
});
|
||||
});
|
@ -1,179 +0,0 @@
|
||||
var suggestions = document.getElementById('suggestions');
|
||||
var search = document.getElementById('search');
|
||||
|
||||
if (search !== null) {
|
||||
document.addEventListener('keydown', inputFocus);
|
||||
}
|
||||
|
||||
function inputFocus(e) {
|
||||
if (e.ctrlKey && e.key === '/' ) {
|
||||
e.preventDefault();
|
||||
search.focus();
|
||||
}
|
||||
if (e.key === 'Escape' ) {
|
||||
search.blur();
|
||||
suggestions.classList.add('d-none');
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener('click', function(event) {
|
||||
|
||||
var isClickInsideElement = suggestions.contains(event.target);
|
||||
|
||||
if (!isClickInsideElement) {
|
||||
suggestions.classList.add('d-none');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
Source:
|
||||
- https://dev.to/shubhamprakash/trap-focus-using-javascript-6a3
|
||||
*/
|
||||
|
||||
document.addEventListener('keydown',suggestionFocus);
|
||||
|
||||
function suggestionFocus(e) {
|
||||
const suggestionsHidden = suggestions.classList.contains('d-none');
|
||||
if (suggestionsHidden) return;
|
||||
|
||||
const focusableSuggestions= [...suggestions.querySelectorAll('a')];
|
||||
if (focusableSuggestions.length === 0) return;
|
||||
|
||||
const index = focusableSuggestions.indexOf(document.activeElement);
|
||||
|
||||
if (e.key === "ArrowUp") {
|
||||
e.preventDefault();
|
||||
const nextIndex = index > 0 ? index - 1 : 0;
|
||||
focusableSuggestions[nextIndex].focus();
|
||||
}
|
||||
else if (e.key === "ArrowDown") {
|
||||
e.preventDefault();
|
||||
const nextIndex= index + 1 < focusableSuggestions.length ? index + 1 : index;
|
||||
focusableSuggestions[nextIndex].focus();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Source:
|
||||
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
|
||||
- https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html
|
||||
*/
|
||||
|
||||
(function(){
|
||||
|
||||
var index = new FlexSearch.Document({
|
||||
tokenize: "forward",
|
||||
cache: 100,
|
||||
document: {
|
||||
id: 'id',
|
||||
store: [
|
||||
"href", "title", "description"
|
||||
],
|
||||
index: ["title", "description", "content"]
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Not yet supported: https://github.com/nextapps-de/flexsearch#complex-documents
|
||||
|
||||
/*
|
||||
var docs = [
|
||||
{{ range $index, $page := (where .Site.Pages "Section" "docs") -}}
|
||||
{
|
||||
id: {{ $index }},
|
||||
href: "{{ .Permalink }}",
|
||||
title: {{ .Title | jsonify }},
|
||||
description: {{ .Params.description | jsonify }},
|
||||
content: {{ .Content | jsonify }}
|
||||
},
|
||||
{{ end -}}
|
||||
];
|
||||
*/
|
||||
|
||||
// https://discourse.gohugo.io/t/range-length-or-last-element/3803/2
|
||||
|
||||
{{ $list := slice }}
|
||||
{{- if and (isset .Site.Params.options "searchsectionsindex") (not (eq (len .Site.Params.options.searchSectionsIndex) 0)) }}
|
||||
{{- if eq .Site.Params.options.searchSectionsIndex "ALL" }}
|
||||
{{- $list = .Site.Pages }}
|
||||
{{- else }}
|
||||
{{- $list = (where .Site.Pages "Type" "in" .Site.Params.options.searchSectionsIndex) }}
|
||||
{{- if (in .Site.Params.options.searchSectionsIndex "HomePage") }}
|
||||
{{ $list = $list | append .Site.Home }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- $list = (where .Site.Pages "Section" "docs") }}
|
||||
{{- end }}
|
||||
|
||||
{{ $len := (len $list) -}}
|
||||
|
||||
{{ range $index, $element := $list -}}
|
||||
index.add(
|
||||
{
|
||||
id: {{ $index }},
|
||||
href: "{{ .RelPermalink }}",
|
||||
title: {{ .Title | jsonify }},
|
||||
{{ with .Description -}}
|
||||
description: {{ . | jsonify }},
|
||||
{{ else -}}
|
||||
description: {{ .Summary | plainify | jsonify }},
|
||||
{{ end -}}
|
||||
content: {{ .Plain | jsonify }}
|
||||
}
|
||||
);
|
||||
{{ end -}}
|
||||
|
||||
search.addEventListener('input', show_results, true);
|
||||
|
||||
function show_results(){
|
||||
const maxResult = 5;
|
||||
var searchQuery = this.value;
|
||||
var results = index.search(searchQuery, {limit: maxResult, enrich: true});
|
||||
|
||||
// flatten results since index.search() returns results for each indexed field
|
||||
const flatResults = new Map(); // keyed by href to dedupe results
|
||||
for (const result of results.flatMap(r => r.result)) {
|
||||
if (flatResults.has(result.doc.href)) continue;
|
||||
flatResults.set(result.doc.href, result.doc);
|
||||
}
|
||||
|
||||
suggestions.innerHTML = "";
|
||||
suggestions.classList.remove('d-none');
|
||||
|
||||
// inform user that no results were found
|
||||
if (flatResults.size === 0 && searchQuery) {
|
||||
const noResultsMessage = document.createElement('div')
|
||||
noResultsMessage.innerHTML = `No results for "<strong>${searchQuery}</strong>"`
|
||||
noResultsMessage.classList.add("suggestion__no-results");
|
||||
suggestions.appendChild(noResultsMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
// construct a list of suggestions
|
||||
for(const [href, doc] of flatResults) {
|
||||
const entry = document.createElement('div');
|
||||
suggestions.appendChild(entry);
|
||||
|
||||
const a = document.createElement('a');
|
||||
a.href = href;
|
||||
entry.appendChild(a);
|
||||
|
||||
const title = document.createElement('span');
|
||||
title.textContent = doc.title;
|
||||
title.classList.add("suggestion__title");
|
||||
a.appendChild(title);
|
||||
|
||||
const description = document.createElement('span');
|
||||
description.textContent = doc.description;
|
||||
description.classList.add("suggestion__description");
|
||||
a.appendChild(description);
|
||||
|
||||
suggestions.appendChild(entry);
|
||||
|
||||
if(suggestions.childElementCount == maxResult) break;
|
||||
}
|
||||
}
|
||||
}());
|
@ -1 +0,0 @@
|
||||
import 'instant.page';
|
@ -1,10 +0,0 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
renderMathInElement(document.body, {
|
||||
delimiters: [
|
||||
{left: '$$', right: '$$', display: true},
|
||||
{left: '$', right: '$', display: false},
|
||||
{left: '\\(', right: '\\)', display: false},
|
||||
{left: '\\[', right: '\\]', display: true},
|
||||
],
|
||||
});
|
||||
});
|
@ -1 +0,0 @@
|
||||
import 'lazysizes';
|
@ -1,11 +0,0 @@
|
||||
import mermaid from 'mermaid';
|
||||
|
||||
var config = {
|
||||
theme: 'default',
|
||||
fontFamily: '"Jost", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";',
|
||||
};
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
mermaid.initialize(config);
|
||||
mermaid.init(undefined, '.language-mermaid');
|
||||
});
|
@ -1,14 +0,0 @@
|
||||
// Adds scroll position lock for default docs sidebar
|
||||
|
||||
if (document.querySelector('#sidebar-default') !== null) {
|
||||
let sidebar = document.getElementById('sidebar-default');
|
||||
|
||||
let pos = sessionStorage.getItem('sidebar-scroll');
|
||||
if (pos !== null) {
|
||||
sidebar.scrollTop = parseInt(pos, 10);
|
||||
}
|
||||
|
||||
window.addEventListener('beforeunload', () => {
|
||||
sessionStorage.setItem('sidebar-scroll', sidebar.scrollTop);
|
||||
});
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
var topbutton = document.getElementById('toTop');
|
||||
|
||||
if (topbutton !== null) {
|
||||
|
||||
topbutton.style.display = 'none';
|
||||
window.onscroll = function() {
|
||||
scrollFunction()
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function scrollFunction() {
|
||||
|
||||
if (document.body.scrollTop > 40 || document.documentElement.scrollTop > 40) {
|
||||
topbutton.style.display = 'block';
|
||||
} else {
|
||||
topbutton.style.display = 'none';
|
||||
}
|
||||
|
||||
}
|
0
assets/js/vendor/.gitkeep
vendored
0
assets/js/vendor/.gitkeep
vendored
6
assets/scss/_variables_project.scss
Normal file
6
assets/scss/_variables_project.scss
Normal file
@ -0,0 +1,6 @@
|
||||
/*
|
||||
|
||||
Add styles or override variables from the theme here.
|
||||
|
||||
*/
|
||||
|
@ -1,35 +0,0 @@
|
||||
/** Import Bootstrap functions */
|
||||
@import "bootstrap/scss/functions";
|
||||
|
||||
/** Import theme variables */
|
||||
@import "common/variables";
|
||||
|
||||
/** Import Bootstrap */
|
||||
@import "bootstrap/scss/bootstrap";
|
||||
|
||||
/** Import highlight.js */
|
||||
// @import "highlight.js/scss/github-dark-dimmed";
|
||||
|
||||
/** Import KaTeX */
|
||||
@import "katex/dist/katex";
|
||||
|
||||
/** Import theme styles */
|
||||
@import "common/fonts";
|
||||
@import "common/global";
|
||||
@import "common/dark";
|
||||
@import "components/alerts";
|
||||
@import "components/buttons";
|
||||
@import "components/code";
|
||||
@import "components/details";
|
||||
@import "components/syntax";
|
||||
@import "components/comments";
|
||||
@import "components/forms";
|
||||
@import "components/images";
|
||||
@import "components/mermaid";
|
||||
@import "components/search";
|
||||
@import "components/tables";
|
||||
@import "layouts/footer";
|
||||
@import "layouts/header";
|
||||
@import "layouts/pages";
|
||||
@import "layouts/posts";
|
||||
@import "layouts/sidebar";
|
@ -1,582 +0,0 @@
|
||||
/** Theme variables */
|
||||
|
||||
// Source: https://material.io/design/color/dark-theme.html
|
||||
|
||||
$body-bg-dark: $gray-900;
|
||||
$body-overlay-dark: darken($body-bg-dark, 2.5%);
|
||||
|
||||
/*
|
||||
$border-dark: darken($body-bg-dark, 2.5%);
|
||||
*/
|
||||
$border-dark: $gray-800;
|
||||
$body-color-dark: $gray-300;
|
||||
$dots-dark: darken($body-color-dark, 50%);
|
||||
|
||||
$link-color-dark: $blue-300;
|
||||
$button-color-dark: $link-color-dark;
|
||||
$focus-color-dark: lighten($link-color-dark, 2.5%);
|
||||
|
||||
$navbar-dark-color: $body-color-dark;
|
||||
$navbar-dark-hover-color: $link-color-dark;
|
||||
$navbar-dark-active-color: $link-color-dark;
|
||||
|
||||
/** Theme styles */
|
||||
|
||||
[data-dark-mode] body {
|
||||
background: $body-bg-dark;
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body a {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body a.text-body {
|
||||
color: $body-color-dark !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-primary {
|
||||
@include button-variant($button-color-dark, $button-color-dark);
|
||||
|
||||
color: $body-bg-dark !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-outline-primary {
|
||||
@include button-outline-variant($button-color-dark, $button-color-dark);
|
||||
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-outline-primary:hover {
|
||||
color: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-doks-light {
|
||||
color: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .show > .btn-doks-light,
|
||||
[data-dark-mode] body .btn-doks-light:hover,
|
||||
[data-dark-mode] body .btn-doks-light:active {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-menu svg {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .doks-sidebar-toggle {
|
||||
color: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-menu:hover,
|
||||
[data-dark-mode] body .btn-doks-light:hover,
|
||||
[data-dark-mode] body .doks-sidebar-toggle:hover {
|
||||
background: $body-overlay-dark;
|
||||
}
|
||||
|
||||
/*
|
||||
[data-dark-mode] body .dropdown-menu {
|
||||
@extend .dropdown-menu-dark;
|
||||
}
|
||||
*/
|
||||
|
||||
[data-dark-mode] body .navbar,
|
||||
[data-dark-mode] body .doks-subnavbar {
|
||||
background-color: rgba(33, 37, 41, 0.95);
|
||||
border-bottom: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body.home .navbar {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .offcanvas-header {
|
||||
border-bottom: 1px solid $gray-800;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .offcanvas .nav-link {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .offcanvas .nav-link:hover,
|
||||
[data-dark-mode] body .offcanvas .nav-link:focus {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .offcanvas .nav-link.active {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-brand {
|
||||
color: $navbar-dark-color !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link {
|
||||
color: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link:hover,
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link:focus {
|
||||
color: $navbar-dark-hover-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link.disabled {
|
||||
color: $navbar-dark-disabled-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .show > .nav-link,
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .active > .nav-link,
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link.show,
|
||||
[data-dark-mode] body .navbar-light .navbar-nav .nav-link.active {
|
||||
color: $navbar-dark-active-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-text {
|
||||
color: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .alert-primary a {
|
||||
color: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .alert-doks {
|
||||
background: $body-overlay-dark;
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .alert-doks a {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .page-links a {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle-nav a {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .showcase-meta a {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .showcase-meta a:hover,
|
||||
[data-dark-mode] body .showcase-meta a:focus {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-link:hover,
|
||||
[data-dark-mode] body .docs-link.active,
|
||||
[data-dark-mode] body .page-links a:hover {
|
||||
text-decoration: none;
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle {
|
||||
color: $body-color-dark;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle:hover,
|
||||
[data-dark-mode] body .btn-toggle:focus {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle::before {
|
||||
width: 1.25em;
|
||||
line-height: 0;
|
||||
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
||||
transition: transform 0.35s ease;
|
||||
transform-origin: 0.5em 50%;
|
||||
margin-bottom: 0.125rem;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle[aria-expanded="true"] {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle[aria-expanded="true"]::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle-nav a:hover,
|
||||
[data-dark-mode] body .btn-toggle-nav a:focus {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-toggle-nav a.active {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-text a {
|
||||
color: $navbar-dark-active-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links h3.sidebar-link a,
|
||||
[data-dark-mode] body .page-links h3.sidebar-link a {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar-light .navbar-text a:hover,
|
||||
[data-dark-mode] body .navbar-light .navbar-text a:focus {
|
||||
color: $navbar-dark-active-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar .btn-link {
|
||||
color: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .content .btn-link {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .content .btn-link:hover {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .content img[src^="https://latex.codecogs.com/svg.latex"] {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar .btn-link:hover {
|
||||
color: $navbar-dark-hover-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar .btn-link:active {
|
||||
color: $navbar-dark-active-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .form-control.is-search {
|
||||
background: $body-overlay-dark;
|
||||
border: 1px solid transparent;
|
||||
color: $gray-300;
|
||||
|
||||
/*
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right calc(0.375em + 0.1875rem) center;
|
||||
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
|
||||
*/
|
||||
}
|
||||
|
||||
[data-dark-mode] body .form-control.is-search:focus {
|
||||
border: 1px solid $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .doks-search::after {
|
||||
color: $gray-300;
|
||||
border: 1px solid $gray-700;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .text-dark {
|
||||
color: $body-color-dark !important;
|
||||
}
|
||||
|
||||
/*
|
||||
[data-dark-mode] body .navbar-form::after {
|
||||
color: $gray-600;
|
||||
border: 1px solid $gray-800;
|
||||
}
|
||||
*/
|
||||
|
||||
[data-dark-mode] body .form-control {
|
||||
color: $gray-300;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .form-control::placeholder {
|
||||
color: $gray-400;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .border-top {
|
||||
border-top: 1px solid $border-dark !important;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
[data-dark-mode] body .docs-sidebar {
|
||||
order: 0;
|
||||
border-right: 1px solid $border-dark;
|
||||
}
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-navigation {
|
||||
border-top: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body pre code::-webkit-scrollbar-thumb {
|
||||
background: $gray-400;
|
||||
}
|
||||
|
||||
[data-dark-mode] body code:not(.hljs) {
|
||||
background: $body-overlay-dark;
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body pre code:hover {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $border-dark transparent;
|
||||
}
|
||||
|
||||
[data-dark-mode] body pre code::-webkit-scrollbar-thumb:hover {
|
||||
background: $gray-500;
|
||||
}
|
||||
|
||||
[data-dark-mode] body blockquote {
|
||||
border-left: 3px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .footer {
|
||||
border-top: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links,
|
||||
[data-dark-mode] body .docs-toc {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $body-bg-dark $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links::-webkit-scrollbar,
|
||||
[data-dark-mode] body .docs-toc::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links::-webkit-scrollbar-track,
|
||||
[data-dark-mode] body .docs-toc::-webkit-scrollbar-track {
|
||||
background: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links::-webkit-scrollbar-thumb,
|
||||
[data-dark-mode] body .docs-toc::-webkit-scrollbar-thumb {
|
||||
background: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links:hover,
|
||||
[data-dark-mode] body .docs-toc:hover {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $border-dark $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links:hover::-webkit-scrollbar-thumb,
|
||||
[data-dark-mode] body .docs-toc:hover::-webkit-scrollbar-thumb {
|
||||
background: $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links::-webkit-scrollbar-thumb:hover,
|
||||
[data-dark-mode] body .docs-toc::-webkit-scrollbar-thumb:hover {
|
||||
background: $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .docs-links h3:not(:first-child) {
|
||||
border-top: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body a.docs-link {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .page-links li:not(:first-child) {
|
||||
border-top: 1px dashed $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .card {
|
||||
background: $body-bg-dark;
|
||||
border: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .card.bg-light {
|
||||
background: $body-overlay-dark !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar .menu-icon .navicon {
|
||||
background: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .navbar .menu-icon .navicon::before,
|
||||
[data-dark-mode] body .navbar .menu-icon .navicon::after {
|
||||
background: $navbar-dark-color;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .logo-light {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .logo-dark {
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .bg-light {
|
||||
background: darken($body-bg-dark, 1.5%) !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .bg-dots {
|
||||
background-image: radial-gradient($dots-dark 15%, transparent 15%);
|
||||
}
|
||||
|
||||
[data-dark-mode] body .text-muted {
|
||||
color: darken($body-color-dark, 7.5%) !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .alert-primary {
|
||||
background: $link-color-dark;
|
||||
color: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .figure-caption {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body table {
|
||||
@extend .table-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .copy-status::after {
|
||||
content: "Copy";
|
||||
display: block;
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .copy-status:hover::after {
|
||||
content: "Copy";
|
||||
display: block;
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .copy-status:focus::after,
|
||||
[data-dark-mode] body .copy-status:active::after {
|
||||
content: "Copied";
|
||||
display: block;
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
/*
|
||||
[data-dark-mode] body .dropdown-toggle:focus,
|
||||
[data-dark-mode] body .doks-sidebar-toggle:focus {
|
||||
box-shadow: 0 0 0 0.2rem $focus-color-dark;
|
||||
}
|
||||
*/
|
||||
|
||||
[data-dark-mode] body .offcanvas {
|
||||
background-color: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .btn-close {
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNkZWUyZTYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLXgiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+");
|
||||
background-size: 1.5rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
[data-dark-mode] body .alert-dismissible .btn-close {
|
||||
background-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
[data-dark-mode] body .btn-close:focus {
|
||||
box-shadow: 0 0 0 0.2rem $focus-color-dark;
|
||||
}
|
||||
*/
|
||||
|
||||
[data-dark-mode] .dropdown-item {
|
||||
color: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body hr.text-black-50 {
|
||||
color: $gray-600 !important;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .email-form .form-control {
|
||||
background: $body-overlay-dark;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .email-form .form-control:focus {
|
||||
border: 1px solid $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .page-link {
|
||||
color: $link-color-dark;
|
||||
background-color: transparent;
|
||||
border: $pagination-border-width solid $border-dark;
|
||||
|
||||
&:hover {
|
||||
color: $body-bg-dark;
|
||||
background-color: $body-color-dark;
|
||||
border-color: $body-color-dark;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
color: $body-bg-dark;
|
||||
background-color: $body-color-dark;
|
||||
}
|
||||
}
|
||||
|
||||
[data-dark-mode] .page-item {
|
||||
&.active .page-link {
|
||||
color: $body-bg-dark;
|
||||
|
||||
@include gradient-bg($link-color-dark);
|
||||
|
||||
border-color: $link-color-dark;
|
||||
}
|
||||
|
||||
&.disabled .page-link {
|
||||
color: $pagination-disabled-color;
|
||||
background-color: $body-overlay-dark;
|
||||
border-color: $border-dark;
|
||||
}
|
||||
}
|
||||
|
||||
[data-dark-mode] .dropdown-menu {
|
||||
background: $body-overlay-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .dropdown-menu .dropdown-item {
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .dropdown-menu .dropdown-item:hover {
|
||||
color: $link-color-dark;
|
||||
background: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .dropdown-menu .dropdown-item.active,
|
||||
[data-dark-mode] .dropdown-menu .dropdown-item:focus {
|
||||
color: $link-color-dark;
|
||||
background: $body-bg-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .doks-navbar .dropdown-item.current,
|
||||
[data-dark-mode] .doks-subnavbar .dropdown-item.current {
|
||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23dee2e6' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 1rem top 0.6rem;
|
||||
background-size: 0.75rem 0.75rem;
|
||||
}
|
||||
|
||||
[data-dark-mode] details {
|
||||
border: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] summary:hover {
|
||||
background: $body-overlay-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] details[open] > summary {
|
||||
border-bottom: 1px solid $border-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] details summary::before {
|
||||
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
||||
}
|
||||
|
||||
[data-dark-mode] #toc a.active {
|
||||
color: $link-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] .btn-light {
|
||||
color: $link-color-dark;
|
||||
background: $body-overlay-dark;
|
||||
border: 1px solid $body-overlay-dark;
|
||||
}
|
@ -1,101 +0,0 @@
|
||||
/* jost-regular - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Regular Regular"), // Full Name
|
||||
local("Jost-Regular"), // PostScript name
|
||||
// indestructible Jost*
|
||||
local("Jost* Book"),
|
||||
local("Jost-Book"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-regular.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
||||
|
||||
/* jost-500 - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Regular Medium"),
|
||||
local("JostRoman-Medium"),
|
||||
// indestructible Jost*
|
||||
local("Jost* Medium"),
|
||||
local("Jost-Medium"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-500.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
||||
|
||||
/* jost-700 - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Regular Bold"),
|
||||
local("JostRoman-Bold"),
|
||||
// indestructible Jost*
|
||||
local("Jost* Bold"),
|
||||
local("Jost-Bold"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-700.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
||||
|
||||
/* jost-italic - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Italic Italic"),
|
||||
local("Jost-Italic"),
|
||||
// indestructible Jost*
|
||||
local("Jost* BookItalic"),
|
||||
local("Jost-BookItalic"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-italic.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
||||
|
||||
/* jost-500italic - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Italic Medium Italic"),
|
||||
local("JostItalic-Medium"),
|
||||
// indestructible Jost*
|
||||
local("Jost* Medium Italic"),
|
||||
local("Jost-MediumItalic"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-500italic.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-500italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
||||
|
||||
/* jost-700italic - latin */
|
||||
@font-face {
|
||||
font-family: Jost;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src:
|
||||
// Google Fonts Jost
|
||||
local("Jost Italic Bold Italic"),
|
||||
local("JostItalic-Bold"),
|
||||
// indestructible Jost*
|
||||
local("Jost* Bold Italic"),
|
||||
local("Jost-BoldItalic"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-700italic.woff2") format("woff2"),
|
||||
url("fonts/vendor/jost/jost-v4-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||
}
|
@ -1,288 +0,0 @@
|
||||
.contributors .content,
|
||||
.blog .content,
|
||||
.page .content,
|
||||
.error404 .content,
|
||||
.docs.list .content,
|
||||
.tutorial.list .content,
|
||||
.showcase.list .content,
|
||||
.categories.list .content,
|
||||
.tags.list .content {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
|
||||
.content img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
margin: 2rem 0 1rem;
|
||||
}
|
||||
|
||||
.offcanvas-header {
|
||||
border-bottom: 1px solid $gray-300;
|
||||
padding-top: 1.0625rem;
|
||||
padding-bottom: 0.8125rem;
|
||||
}
|
||||
|
||||
h5.offcanvas-title {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body.docs {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
body {
|
||||
font-size: $font-size-md;
|
||||
|
||||
/*
|
||||
padding-top: 4rem !important;
|
||||
*/
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
margin-bottom: 1.125rem;
|
||||
}
|
||||
}
|
||||
|
||||
.home h1 {
|
||||
/* font-size: calc(1.375rem + 1.5vw); */
|
||||
font-size: calc(1.875rem + 1.5vw);
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.btn:hover,
|
||||
a.btn:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding-top: 5rem;
|
||||
padding-bottom: 5rem;
|
||||
}
|
||||
|
||||
.section-md {
|
||||
padding-top: 3rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
|
||||
.section-sm {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
/*
|
||||
.section svg {
|
||||
display: inline-block;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
body {
|
||||
padding-top: 3.5625rem;
|
||||
}
|
||||
*/
|
||||
|
||||
.docs-sidebar {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.docs-sidebar {
|
||||
order: 0;
|
||||
border-right: 1px solid $gray-200;
|
||||
}
|
||||
|
||||
@supports ((position:-webkit-sticky) or (position:sticky)) {
|
||||
.docs-sidebar {
|
||||
position: -webkit-sticky;
|
||||
position: sticky;
|
||||
top: 4rem;
|
||||
z-index: 1000;
|
||||
height: calc(100vh - 4rem);
|
||||
}
|
||||
|
||||
.docs-sidebar-top {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(xl) {
|
||||
.docs-sidebar {
|
||||
flex: 0 1 320px;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-links {
|
||||
padding-bottom: 5rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
@supports ((position: -webkit-sticky) or (position: sticky)) {
|
||||
.docs-links {
|
||||
max-height: calc(100vh - 4rem);
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.docs-links {
|
||||
display: block;
|
||||
width: auto;
|
||||
margin-right: -1.5rem;
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-toc {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
@supports ((position:-webkit-sticky) or (position:sticky)) {
|
||||
.docs-toc {
|
||||
position: -webkit-sticky;
|
||||
position: sticky;
|
||||
top: 4rem;
|
||||
height: calc(100vh - 4rem);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.docs-toc-top {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-content {
|
||||
padding-bottom: 3rem;
|
||||
order: 1;
|
||||
}
|
||||
|
||||
.docs-navigation {
|
||||
border-top: 1px solid $gray-200;
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 0;
|
||||
padding-top: 2rem;
|
||||
}
|
||||
|
||||
.docs-navigation a {
|
||||
font-size: $font-size-base * 0.9;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.docs-navigation {
|
||||
margin-bottom: -1rem;
|
||||
}
|
||||
|
||||
.docs-navigation a {
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar a:hover,
|
||||
.navbar a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#TableOfContents ul,
|
||||
#toc ul {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
#toc a.active {
|
||||
color: $primary;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: rgba(212, 53, 159, 0.2);
|
||||
}
|
||||
|
||||
.bg-dots {
|
||||
background-image: radial-gradient($gray-300 15%, transparent 15%);
|
||||
background-position: 0 0;
|
||||
background-size: 1rem 1rem;
|
||||
-webkit-mask: linear-gradient(to top, #fff, transparent);
|
||||
mask: linear-gradient(to top, #fff, transparent);
|
||||
width: 100%;
|
||||
height: 9rem;
|
||||
margin-top: -10rem;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.bg-dots-md {
|
||||
margin-top: -11rem;
|
||||
}
|
||||
|
||||
.bg-dots-lg {
|
||||
margin-top: -12rem;
|
||||
}
|
||||
|
||||
// https://fossheim.io/writing/posts/css-text-gradient/
|
||||
.gradient-text {
|
||||
background-color: $primary;
|
||||
background-image: linear-gradient(90deg, $primary, $blue-300 50%, $pink-500);
|
||||
background-size: 100%;
|
||||
background-repeat: repeat;
|
||||
-webkit-background-clip: text;
|
||||
-moz-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
-moz-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
.katex {
|
||||
font-size: $font-size-md;
|
||||
}
|
||||
|
||||
.card-bar {
|
||||
border-top: 4px solid;
|
||||
border-image-source: linear-gradient(90deg, $primary, #8ed6fb 50%, #d32e9d);
|
||||
border-image-slice: 1;
|
||||
}
|
||||
|
||||
.modal-backdrop {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.modal-backdrop.show {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.modal-backdrop.show {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
@ -1,190 +0,0 @@
|
||||
// Color system
|
||||
|
||||
$white: #fff;
|
||||
$gray-100: #f8f9fa;
|
||||
$gray-200: #e9ecef;
|
||||
$gray-300: #dee2e6;
|
||||
$gray-400: #ced4da;
|
||||
$gray-500: #adb5bd;
|
||||
$gray-600: #6c757d;
|
||||
$gray-700: #495057;
|
||||
$gray-800: #343a40;
|
||||
$gray-900: #212529;
|
||||
$black: #000;
|
||||
|
||||
$yellow: #ffe000;
|
||||
$black: #1d2d35;
|
||||
$beige: #fbf7f0;
|
||||
|
||||
// $red: #e55235;
|
||||
$purple: #5d2f86;
|
||||
$brown: #aa9c84;
|
||||
|
||||
$blue-300: #8ed6fb;
|
||||
$pink-100: #fcfaff;
|
||||
$pink-500: #d32e9d;
|
||||
|
||||
$primary: $purple;
|
||||
|
||||
$color-btn-bg: $pink-500;
|
||||
$color-btn-border: darken($pink-500, 5%);
|
||||
$color-btn-text: $white;
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
$enable-caret: true;
|
||||
$enable-rounded: true;
|
||||
$enable-shadows: false;
|
||||
$enable-gradients: false;
|
||||
$enable-transitions: true;
|
||||
$enable-reduced-motion: true;
|
||||
$enable-smooth-scroll: true;
|
||||
$enable-grid-classes: true;
|
||||
$enable-button-pointers: true;
|
||||
$enable-rfs: true;
|
||||
$enable-validation-icons: true;
|
||||
$enable-negative-margins: true;
|
||||
$enable-deprecation-messages: true;
|
||||
$enable-important-utilities: true;
|
||||
|
||||
/** Bootstrap navbar fix (https://git.io/fADqW) */
|
||||
$navbar-dark-toggler-icon-bg: none;
|
||||
$navbar-light-toggler-icon-bg: none;
|
||||
|
||||
// Options
|
||||
//
|
||||
// Quickly modify global styling by enabling or disabling optional features.
|
||||
|
||||
// $enable-responsive-font-sizes: true;
|
||||
|
||||
// Body
|
||||
//
|
||||
// Settings for the `<body>` element.
|
||||
|
||||
$body-bg: $white;
|
||||
$body-color: $black;
|
||||
|
||||
// Links
|
||||
//
|
||||
// Style anchor elements.
|
||||
|
||||
$link-color: $primary;
|
||||
$link-decoration: none;
|
||||
|
||||
// Grid containers
|
||||
//
|
||||
// Define the maximum width of `.container` for different screen sizes.
|
||||
|
||||
$container-max-widths: (
|
||||
sm: 540px,
|
||||
md: 720px,
|
||||
lg: 960px,
|
||||
xl: 1240px,
|
||||
xxl: 1320px
|
||||
);
|
||||
|
||||
@include _assert-ascending($container-max-widths, "$container-max-widths");
|
||||
|
||||
// Grid columns
|
||||
//
|
||||
// Set the number of columns and specify the width of the gutters.
|
||||
|
||||
$grid-columns: 16;
|
||||
$grid-gutter-width: 48px;
|
||||
$grid-row-columns: 6;
|
||||
|
||||
// Components
|
||||
//
|
||||
// Define common padding and border radius sizes and more.
|
||||
|
||||
$border-color: $gray-200;
|
||||
|
||||
// Typography
|
||||
//
|
||||
// Font, line-height, and color for body text, headings, and more.
|
||||
|
||||
// stylelint-disable value-keyword-case
|
||||
$font-family-sans-serif: "Jost", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
$font-family-monospace: sfmono-regular, menlo, monaco, consolas, "Liberation Mono", "Courier New", monospace;
|
||||
$font-family-base: $font-family-sans-serif;
|
||||
// stylelint-enable value-keyword-case
|
||||
|
||||
$font-size-base: 1rem; // Assumes the browser default, typically `16px`
|
||||
$font-size-xl: $font-size-base * 1.375;
|
||||
$font-size-lg: $font-size-base * 1.25;
|
||||
$font-size-md: $font-size-base * 1.125;
|
||||
$font-size-sm: $font-size-base * 0.875;
|
||||
|
||||
// $line-height-base: 1.5;
|
||||
|
||||
$headings-font-family: null;
|
||||
$headings-font-weight: 700;
|
||||
|
||||
$lead-font-weight: 400;
|
||||
|
||||
// Spacing
|
||||
//
|
||||
// Control the default styling of most Bootstrap elements by modifying these
|
||||
// variables. Mostly focused on spacing.
|
||||
// You can add more entries to the $spacers map, should you need more variation.
|
||||
|
||||
$spacer: 1rem;
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-padding-y: $spacer / 2;
|
||||
$navbar-padding-x: null;
|
||||
|
||||
$navbar-nav-link-padding-x: 0.5rem;
|
||||
|
||||
$navbar-light-color: $black;
|
||||
$navbar-light-hover-color: $primary;
|
||||
$navbar-light-active-color: $primary;
|
||||
|
||||
// Cards
|
||||
|
||||
$card-border-color: $gray-200;
|
||||
|
||||
// Alerts
|
||||
//
|
||||
// Define alert colors, border radius, and padding.
|
||||
|
||||
$alert-padding-y: $spacer;
|
||||
$alert-padding-x: $spacer * 1.5;
|
||||
$alert-margin-bottom: 0;
|
||||
$alert-border-radius: 0;
|
||||
$alert-link-font-weight: $headings-font-weight;
|
||||
$alert-border-width: 0;
|
||||
|
||||
$alert-bg-scale: 0;
|
||||
$alert-border-scale: 0;
|
||||
$alert-color-scale: 0;
|
||||
|
||||
// docsearch
|
||||
$dropdown-config: (
|
||||
main-color: $purple,
|
||||
layout-type: normal,
|
||||
layout-width: normal,
|
||||
layout-alignment: align,
|
||||
background-color: $white,
|
||||
border-radius: 4,
|
||||
border-width: 1,
|
||||
border-color: $gray-200,
|
||||
box-shadow: none,
|
||||
branding-position: bottom,
|
||||
spacing: normal,
|
||||
include-desc: yes,
|
||||
background-category-header: $white,
|
||||
font-size: normal,
|
||||
header-color: $black,
|
||||
title-color: $black,
|
||||
subtitle-color: $black,
|
||||
text-color: $black,
|
||||
highlight-color: $purple,
|
||||
highlight-opacity: 0.1,
|
||||
highlight-type: underline
|
||||
);
|
||||
|
||||
$input-btn-focus-width: 0;
|
@ -1,164 +0,0 @@
|
||||
.alert {
|
||||
font-family: $font-family-monospace;
|
||||
font-size: $font-size-sm;
|
||||
}
|
||||
|
||||
.alert-icon {
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
|
||||
.docs main .alert {
|
||||
margin: 2rem -1.5rem;
|
||||
}
|
||||
|
||||
.alert .alert-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.alert-doks {
|
||||
background: $beige;
|
||||
color: $black;
|
||||
}
|
||||
|
||||
/*
|
||||
.alert-light {
|
||||
color: #215888;
|
||||
background: linear-gradient(-45deg, rgb(212, 245, 255), rgb(234, 250, 255), rgb(234, 250, 255), #d3f6ef);
|
||||
}
|
||||
|
||||
.alert-light .alert-link {
|
||||
color: #215888;
|
||||
}
|
||||
*/
|
||||
|
||||
.alert-white {
|
||||
background-color: rgba(255, 255, 255, 0.95);
|
||||
}
|
||||
|
||||
.alert-primary {
|
||||
color: $white;
|
||||
background-color: $primary;
|
||||
}
|
||||
|
||||
.alert a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.alert-primary .alert-link {
|
||||
color: $white;
|
||||
}
|
||||
|
||||
/*
|
||||
.alert-primary {
|
||||
color: #084298;
|
||||
background-color: #cfe2ff;
|
||||
border-color: #b6d4fe;
|
||||
}
|
||||
|
||||
.alert-primary .alert-link {
|
||||
color: #06357a;
|
||||
}
|
||||
*/
|
||||
|
||||
.alert-secondary {
|
||||
color: #41464b;
|
||||
background-color: #e2e3e5;
|
||||
border-color: #d3d6d8;
|
||||
}
|
||||
|
||||
.alert-secondary .alert-link {
|
||||
color: #34383c;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
color: #0f5132;
|
||||
background-color: #d1e7dd;
|
||||
border-color: #badbcc;
|
||||
}
|
||||
|
||||
.alert-success .alert-link {
|
||||
color: #0c4128;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #055160;
|
||||
background-color: #cff4fc;
|
||||
border-color: #b6effb;
|
||||
}
|
||||
|
||||
.alert-info .alert-link {
|
||||
color: #04414d;
|
||||
}
|
||||
|
||||
.alert-warning {
|
||||
color: #664d03;
|
||||
background-color: #fff3cd;
|
||||
border-color: #ffecb5;
|
||||
}
|
||||
|
||||
.alert-warning .alert-link {
|
||||
color: #523e02;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #842029;
|
||||
background-color: #f8d7da;
|
||||
border-color: #f5c2c7;
|
||||
}
|
||||
|
||||
.alert-danger .alert-link {
|
||||
color: #6a1a21;
|
||||
}
|
||||
|
||||
.alert-light {
|
||||
color: #636464;
|
||||
background-color: #fefefe;
|
||||
border-color: #fdfdfe;
|
||||
}
|
||||
|
||||
.alert-light .alert-link {
|
||||
color: #4f5050;
|
||||
}
|
||||
|
||||
.alert-dark {
|
||||
color: #141619;
|
||||
background-color: #d3d3d4;
|
||||
border-color: #bcbebf;
|
||||
}
|
||||
|
||||
.alert-dark .alert-link {
|
||||
color: #101214;
|
||||
}
|
||||
|
||||
.alert .alert-link:hover,
|
||||
.alert .alert-link:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.alert-dismissible .btn-close {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
right: 1rem;
|
||||
z-index: 2;
|
||||
padding: 0.5rem;
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
|
||||
background-size: 1.5rem;
|
||||
filter: invert(1) grayscale(100%) brightness(200%);
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.alert-dismissible .btn-close {
|
||||
background-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
[data-global-alert="closed"] #announcement {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.alert code {
|
||||
background: darken($beige, 5%);
|
||||
color: $black;
|
||||
padding: 0.25rem 0.5rem;
|
||||
}
|
@ -1,255 +0,0 @@
|
||||
.navbar .btn-link {
|
||||
color: $navbar-light-color;
|
||||
padding: 0.4375rem 0;
|
||||
}
|
||||
|
||||
#mode {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
.btn-link:focus {
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#navigation {
|
||||
margin-left: 1.25rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
#mode {
|
||||
margin-left: 0.5rem;
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
.navbar .btn-link {
|
||||
padding: 0.5625em 0.25rem 0.5rem 0.125rem;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar .btn-link:hover {
|
||||
color: $navbar-light-hover-color;
|
||||
}
|
||||
|
||||
.navbar .btn-link:active {
|
||||
color: $navbar-light-active-color;
|
||||
}
|
||||
|
||||
body .toggle-dark {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body .toggle-light {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .toggle-light {
|
||||
display: block;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .toggle-dark {
|
||||
display: none;
|
||||
}
|
||||
|
||||
pre {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
.btn-copy {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-copy {
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
visibility: hidden !important;
|
||||
position: absolute;
|
||||
right: 0.25rem;
|
||||
top: 0.25rem;
|
||||
z-index: 10;
|
||||
font-family: $font-family-sans-serif;
|
||||
font-size: $font-size-sm;
|
||||
padding: 0.25rem 0.5rem;
|
||||
color: $color-btn-text;
|
||||
background-color: $color-btn-bg;
|
||||
border-color: $color-btn-border;
|
||||
}
|
||||
|
||||
.btn-copy:hover {
|
||||
color: $color-btn-text;
|
||||
background-color: lighten($color-btn-bg, 5%);
|
||||
border-color: lighten($color-btn-border, 15%);
|
||||
}
|
||||
|
||||
.btn-copy:focus {
|
||||
color: $color-btn-text;
|
||||
background-color: $color-btn-bg;
|
||||
border-color: lighten($color-btn-border, 15%);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.btn-copy:active,
|
||||
.btn-copy.active {
|
||||
color: $color-btn-text;
|
||||
background-color: $color-btn-bg;
|
||||
border-color: lighten($color-btn-border, 15%);
|
||||
}
|
||||
|
||||
.btn-copy:active:focus,
|
||||
.btn-copy.active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
pre:hover .btn-copy {
|
||||
visibility: visible !important;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-copy::after {
|
||||
content: "Copy";
|
||||
display: block;
|
||||
color: $color-btn-text;
|
||||
}
|
||||
|
||||
.btn-copy:hover::after {
|
||||
content: "Copy";
|
||||
display: block;
|
||||
color: $color-btn-text;
|
||||
}
|
||||
|
||||
.btn-copy:focus::after,
|
||||
.btn-copy:active::after {
|
||||
content: "Copied";
|
||||
display: block;
|
||||
color: $color-btn-text;
|
||||
}
|
||||
|
||||
.collapsible-sidebar {
|
||||
margin: 2.125rem 0;
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 0.25rem 0.5rem 0.25rem 0;
|
||||
font-weight: $headings-font-weight;
|
||||
font-size: $font-size-base;
|
||||
text-transform: uppercase;
|
||||
color: $body-color;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.btn-toggle:hover,
|
||||
.btn-toggle:focus {
|
||||
color: $body-color;
|
||||
background-color: transparent;
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.btn-toggle::before {
|
||||
width: 1.25em;
|
||||
line-height: 0;
|
||||
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
||||
transition: transform 0.35s ease;
|
||||
transform-origin: 0.5em 50%;
|
||||
margin-bottom: 0.125rem;
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"] {
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"]::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.btn-toggle-nav a {
|
||||
display: inline-flex;
|
||||
padding: 0.1875rem 0.5rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-left: 1.25rem;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.btn-toggle-nav a:hover,
|
||||
.btn-toggle-nav a:focus {
|
||||
background-color: transparent;
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
.btn-toggle-nav a.active {
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
/*
|
||||
width: 100%;
|
||||
*/
|
||||
|
||||
width: auto;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.dropdown-menu {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.doks-navbar .dropdown-menu,
|
||||
.doks-subnavbar .dropdown-menu {
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
.doks-navbar .dropdown-item.current,
|
||||
.doks-subnavbar .dropdown-item.current {
|
||||
font-weight: 600;
|
||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right 1rem top 0.6rem;
|
||||
background-size: 0.75rem 0.75rem;
|
||||
}
|
||||
|
||||
.btn-close {
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
|
||||
background-size: 1.5rem;
|
||||
}
|
||||
|
||||
.offcanvas-header .btn-close {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
.dropdown-toggle::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dropdown-caret {
|
||||
margin-left: -0.1875rem;
|
||||
margin-right: -0.3125rem;
|
||||
}
|
||||
|
||||
.dropdown-menu-main .dropdown-item {
|
||||
color: inherit;
|
||||
font-size: $font-size-base;
|
||||
font-weight: 400;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.dropdown-menu-main .dropdown-item:hover {
|
||||
background-color: transparent;
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
.dropdown-menu-main .dropdown-item.active {
|
||||
color: $primary;
|
||||
font-weight: 400;
|
||||
text-decoration: none;
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.dropdown-menu-main .dropdown-item.active:hover {
|
||||
background-color: transparent;
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: $font-family-monospace;
|
||||
font-size: $font-size-sm;
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
code {
|
||||
background: $beige;
|
||||
color: $black;
|
||||
padding: 0.25rem 0.5rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
pre code {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
line-height: $line-height-base;
|
||||
padding: 1.25rem 1.5rem;
|
||||
tab-size: 4;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
}
|
||||
|
||||
.hljs {
|
||||
padding: 1.5rem !important;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 2rem -1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
pre code::-webkit-scrollbar {
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
pre code::-webkit-scrollbar-thumb {
|
||||
background: $gray-400;
|
||||
}
|
||||
|
||||
pre code:hover {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $gray-500 transparent;
|
||||
}
|
||||
|
||||
pre code::-webkit-scrollbar-thumb:hover {
|
||||
background: $gray-500;
|
||||
}
|
||||
|
||||
code.language-mermaid {
|
||||
background: none;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
.comment-list {
|
||||
@extend .list-unstyled;
|
||||
}
|
||||
|
||||
.comment-list ol {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.comment-form p {
|
||||
@extend .form-group !optional;
|
||||
}
|
||||
|
||||
.comment-form input[type="text"],
|
||||
.comment-form input[type="email"],
|
||||
.comment-form input[type="url"],
|
||||
.comment-form textarea {
|
||||
@extend .form-control;
|
||||
}
|
||||
|
||||
.comment-form input[type="submit"] {
|
||||
@extend .btn;
|
||||
@extend .btn-secondary;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-bottom: 1rem;
|
||||
font-size: 1.25rem;
|
||||
border-left: 3px solid $gray-300;
|
||||
padding-left: 1rem;
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
details {
|
||||
display: block;
|
||||
border: 1px solid $gray-200;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0.5rem 1rem 0;
|
||||
margin: 0.5rem 0;
|
||||
}
|
||||
|
||||
/*
|
||||
details summary {
|
||||
&::marker {
|
||||
content: "";
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
summary {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
width: calc(100% + 2rem);
|
||||
margin: -0.5rem -1rem 0;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
summary:hover {
|
||||
background: $gray-100;
|
||||
}
|
||||
|
||||
details summary::before {
|
||||
display: inline-block;
|
||||
content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
|
||||
transition: transform 0.35s ease;
|
||||
transform-origin: center center;
|
||||
margin-right: 0.375rem;
|
||||
}
|
||||
|
||||
details[open] > summary::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
/*
|
||||
details summary > * {
|
||||
display: inline-block;
|
||||
}
|
||||
*/
|
||||
|
||||
details[open] {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
details[open] > summary {
|
||||
border-bottom: 1px solid $gray-300;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
details h2,
|
||||
details h3,
|
||||
details h4 {
|
||||
margin: 1rem 0 0.5rem;
|
||||
}
|
||||
|
||||
details p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
details ul,
|
||||
details ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
details pre {
|
||||
margin: 0 0 1rem;
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
/** Search form */
|
||||
.search-form {
|
||||
@extend .form-inline !optional;
|
||||
}
|
||||
|
||||
.search-form label {
|
||||
@extend .form-group;
|
||||
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.search-form .search-field {
|
||||
@extend .form-control;
|
||||
}
|
||||
|
||||
.search-form .search-submit {
|
||||
@extend .btn;
|
||||
@extend .btn-secondary;
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure img {
|
||||
margin-bottom: 0.5rem;
|
||||
line-height: 1;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
figure figcaption {
|
||||
margin: 0.25rem 0 0.75rem;
|
||||
font-size: 0.875em;
|
||||
color: #6c757d;
|
||||
}
|
||||
|
||||
.figure-caption {
|
||||
margin: 0.25rem 0 0.75rem;
|
||||
}
|
||||
|
||||
figure.wide {
|
||||
margin: 2rem -1.5rem;
|
||||
}
|
||||
|
||||
figure.wide .figure-caption {
|
||||
margin: 0.25rem 1.5rem 0.75rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
figure.wide {
|
||||
margin: 2rem -2.5rem;
|
||||
}
|
||||
|
||||
figure.wide .figure-caption {
|
||||
margin: 0.25rem 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
figure.wide {
|
||||
margin: 2rem -5rem;
|
||||
}
|
||||
|
||||
figure.wide .figure-caption {
|
||||
margin: 0.25rem 5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
.blur-up {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
.blur-up.lazyloaded {
|
||||
filter: unset;
|
||||
}
|
||||
|
||||
.img-simple {
|
||||
margin-top: 0.375rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
.mermaid {
|
||||
margin: 1.5rem 0;
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
.mermaid svg {
|
||||
height: auto;
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
.navbar-form {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#suggestions {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
margin-top: 0.5rem;
|
||||
width: calc(100vw - 3rem);
|
||||
max-width: calc(400px - 3rem);
|
||||
z-index: $zindex-dropdown;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
right: -2rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#suggestions a,
|
||||
.suggestion__no-results {
|
||||
padding: 0.75rem;
|
||||
margin: 0 0.5rem;
|
||||
}
|
||||
|
||||
#suggestions a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#suggestions a:focus {
|
||||
background: $gray-100;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
#suggestions div:not(:first-child) {
|
||||
border-top: 1px dashed $gray-200;
|
||||
}
|
||||
|
||||
#suggestions div:first-child {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
#suggestions div:last-child {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
#suggestions a:hover {
|
||||
background: $gray-100;
|
||||
}
|
||||
|
||||
#suggestions span {
|
||||
display: flex;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
|
||||
.suggestion__title {
|
||||
font-weight: $headings-font-weight;
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.suggestion__description,
|
||||
.suggestion__no-results {
|
||||
color: $gray-700;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
#suggestions {
|
||||
width: 31.125rem;
|
||||
max-width: 31.125rem;
|
||||
}
|
||||
|
||||
#suggestions a {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.suggestion__title {
|
||||
width: 9rem;
|
||||
padding-right: 1rem;
|
||||
border-right: 1px solid $gray-200;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.suggestion__description {
|
||||
width: 19rem;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
/*
|
||||
|
||||
Based on Ascetic by (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
|
||||
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1.25rem 1.5rem;
|
||||
background: $beige;
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-section,
|
||||
.hljs-addition,
|
||||
.hljs-attribute,
|
||||
.hljs-link {
|
||||
color: $pink-500;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote,
|
||||
.hljs-meta,
|
||||
.hljs-deletion {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-section,
|
||||
.hljs-name,
|
||||
.hljs-type,
|
||||
.hljs-strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .hljs {
|
||||
background: $body-overlay-dark;
|
||||
color: $body-color-dark;
|
||||
}
|
||||
|
||||
[data-dark-mode] body .hljs-string,
|
||||
[data-dark-mode] body .hljs-variable,
|
||||
[data-dark-mode] body .hljs-template-variable,
|
||||
[data-dark-mode] body .hljs-symbol,
|
||||
[data-dark-mode] body .hljs-bullet,
|
||||
[data-dark-mode] body .hljs-section,
|
||||
[data-dark-mode] body .hljs-addition,
|
||||
[data-dark-mode] body .hljs-attribute,
|
||||
[data-dark-mode] body .hljs-link {
|
||||
color: $blue-300;
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
table {
|
||||
@extend .table;
|
||||
|
||||
margin: 3rem 0;
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
.footer {
|
||||
border-top: 1px solid $gray-200;
|
||||
padding-top: 1.125rem;
|
||||
padding-bottom: 1.125rem;
|
||||
}
|
||||
|
||||
.footer ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.footer li {
|
||||
font-size: $font-size-sm;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.footer li {
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
}
|
@ -1,493 +0,0 @@
|
||||
.banner .nav li {
|
||||
@extend .nav-item;
|
||||
}
|
||||
|
||||
.banner .nav a {
|
||||
@extend .nav-link;
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-weight: $headings-font-weight;
|
||||
}
|
||||
|
||||
/*
|
||||
.navbar-light .navbar-brand,
|
||||
.navbar-light .navbar-brand:hover,
|
||||
.navbar-light .navbar-brand:active {
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.navbar-light .navbar-nav .active .nav-link {
|
||||
color: $primary;
|
||||
}
|
||||
*/
|
||||
|
||||
.navbar {
|
||||
z-index: 1000;
|
||||
background-color: rgba(255, 255, 255, 0.95);
|
||||
border-bottom: 1px solid $gray-200;
|
||||
|
||||
/*
|
||||
margin-top: 4px;
|
||||
*/
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.navbar {
|
||||
z-index: 1025;
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.navbar-brand {
|
||||
font-size: $font-size-xl;
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
margin-left: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.nav-item {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@include media-breakpoint-down(sm) {
|
||||
.nav-item:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
.navbar .container {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.break {
|
||||
flex-basis: 100%;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
button#doks-languages {
|
||||
margin: 0.25rem 0 0;
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
margin: 0.25rem 0.5rem 0 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
button#doks-versions {
|
||||
margin: 0.25rem 0 0;
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
margin: 0.25rem 0.5rem 0 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.offcanvas .nav-link {
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.doks-subnavbar {
|
||||
background-color: rgba(255, 255, 255, 0.95);
|
||||
border-bottom: 1px solid $gray-200;
|
||||
}
|
||||
|
||||
.doks-subnavbar .nav-link {
|
||||
padding: 0.5rem 1.5rem 0.5rem 0;
|
||||
}
|
||||
|
||||
.doks-subnavbar .nav-link:first-child {
|
||||
padding: 0.5rem 1.5rem 0.5rem 0;
|
||||
}
|
||||
|
||||
.offcanvas .nav-link:hover,
|
||||
.offcanvas .nav-link:focus {
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
.offcanvas .nav-link.active {
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
/*
|
||||
.navbar {
|
||||
background-color: rgba(255, 255, 255, 0.95);
|
||||
border-bottom: 1px solid $gray-200;
|
||||
margin-top: 4px;
|
||||
}
|
||||
*/
|
||||
|
||||
.header-bar {
|
||||
border-top: 4px solid;
|
||||
border-image-source: linear-gradient(90deg, $primary, #8ed6fb 50%, #d32e9d);
|
||||
border-image-slice: 1;
|
||||
}
|
||||
|
||||
.offcanvas .header-bar {
|
||||
margin-bottom: -4px;
|
||||
}
|
||||
|
||||
.home .navbar {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
.navbar-form {
|
||||
position: relative;
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
*/
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.navbar-brand {
|
||||
margin-right: 0.75rem !important;
|
||||
}
|
||||
|
||||
.main-nav .nav-item:first-child .nav-link,
|
||||
.social-nav .nav-item:first-child .nav-link {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.main-nav .nav-item:last-child .nav-link,
|
||||
.social-nav .nav-item:last-child .nav-link {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.doks-search {
|
||||
max-width: 20rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-bottom: 0.125rem;
|
||||
}
|
||||
|
||||
/*
|
||||
.navbar-form {
|
||||
margin-top: 0;
|
||||
margin-left: 6rem;
|
||||
margin-right: 1.5rem;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
.form-control.is-search {
|
||||
padding-right: 4rem;
|
||||
border: 1px solid transparent;
|
||||
background: $gray-100;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
width: calc(100% + 2rem);
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.form-control.is-search:focus {
|
||||
border: 1px solid $primary;
|
||||
}
|
||||
|
||||
.doks-search::after {
|
||||
position: absolute;
|
||||
top: 0.4625rem;
|
||||
right: 0.5375rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 1.5rem;
|
||||
padding-right: 0.3125rem;
|
||||
padding-left: 0.3125rem;
|
||||
font-size: $font-size-base * 0.75;
|
||||
color: $gray-700;
|
||||
content: "Ctrl + /";
|
||||
border: 1px solid $gray-300;
|
||||
border-radius: 0.25rem;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
right: -1.4625rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
right: 0.3125rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@include media-breakpoint-up(lg) {
|
||||
.navbar-form {
|
||||
margin-left: 15rem;
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(xl) {
|
||||
.navbar-form {
|
||||
margin-left: 30rem;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
.form-control.is-search {
|
||||
*/
|
||||
|
||||
/*
|
||||
padding-right: calc(1.5em + 0.75rem);
|
||||
*/
|
||||
|
||||
/*
|
||||
padding-right: 2.5rem;
|
||||
background: $gray-100;
|
||||
border: 0;
|
||||
*/
|
||||
|
||||
/*
|
||||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right calc(0.375em + 0.1875rem) center;
|
||||
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
|
||||
*/
|
||||
|
||||
/*
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
.navbar-form::after {
|
||||
position: absolute;
|
||||
top: 0.4625rem;
|
||||
right: 0.5375rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 1.5rem;
|
||||
padding-right: 0.4375rem;
|
||||
padding-left: 0.4375rem;
|
||||
font-size: $font-size-base * 0.75;
|
||||
color: $gray-700;
|
||||
content: "/";
|
||||
border: 1px solid $gray-300;
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
*/
|
||||
|
||||
/*! purgecss start ignore */
|
||||
.algolia-autocomplete {
|
||||
display: flex !important;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .ds-dropdown-menu {
|
||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
.algolia-autocomplete .ds-dropdown-menu {
|
||||
max-width: 512px !important;
|
||||
min-width: 312px !important;
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column::after {
|
||||
content: "/";
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion--category-header {
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion--title {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion--highlight {
|
||||
padding: 0 0.05em;
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-footer {
|
||||
margin-top: 1rem;
|
||||
margin-right: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
/*! purgecss end ignore */
|
||||
|
||||
/*
|
||||
* Source: https://medium.com/creative-technology-concepts-code/responsive-mobile-dropdown-navigation-using-css-only-7218e4498a99
|
||||
*/
|
||||
|
||||
/* Style the menu icon for the dropdown */
|
||||
|
||||
.navbar .menu-icon {
|
||||
cursor: pointer;
|
||||
|
||||
/* display: inline-block; */
|
||||
|
||||
/* float: right; */
|
||||
padding: 1.125rem 0.625rem;
|
||||
margin: 0 0 0 -0.625rem;
|
||||
|
||||
/* position: relative; */
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.navbar .menu-icon .navicon {
|
||||
background: $navbar-light-color;
|
||||
display: block;
|
||||
height: 2px;
|
||||
position: relative;
|
||||
transition: background 0.2s ease-out;
|
||||
width: 18px;
|
||||
}
|
||||
|
||||
.navbar .menu-icon .navicon::before,
|
||||
.navbar .menu-icon .navicon::after {
|
||||
background: $navbar-light-color;
|
||||
content: "";
|
||||
display: block;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
transition: all 0.2s ease-out;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.navbar .menu-icon .navicon::before {
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
.navbar .menu-icon .navicon::after {
|
||||
top: -5px;
|
||||
}
|
||||
|
||||
/* Add the icon and menu animations when the checkbox is clicked */
|
||||
|
||||
.navbar .menu-btn {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar .menu-btn:checked ~ .navbar-collapse {
|
||||
display: block;
|
||||
max-height: 100vh;
|
||||
}
|
||||
|
||||
.navbar .menu-btn:checked ~ .menu-icon .navicon {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.navbar .menu-btn:checked ~ .menu-icon .navicon::before {
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
.navbar .menu-btn:checked ~ .menu-icon .navicon::after {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon::before,
|
||||
.navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon::after {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.btn-menu {
|
||||
margin-left: 1rem;
|
||||
border: transparent;
|
||||
}
|
||||
|
||||
.btn-doks-light {
|
||||
border: transparent;
|
||||
}
|
||||
|
||||
.btn-menu,
|
||||
.doks-sidebar-toggle {
|
||||
padding-right: 0.25rem;
|
||||
padding-left: 0.25rem;
|
||||
margin-right: -0.5rem;
|
||||
}
|
||||
|
||||
.btn-menu:hover,
|
||||
.btn-doks-light:hover,
|
||||
.doks-sidebar-toggle:hover {
|
||||
background: $pink-100;
|
||||
border: transparent;
|
||||
}
|
||||
|
||||
.btn-menu:focus,
|
||||
.btn-doks-light:focus,
|
||||
.doks-sidebar-toggle:focus,
|
||||
.doks-mode-toggle:focus {
|
||||
outline: 0;
|
||||
border: transparent;
|
||||
}
|
||||
|
||||
.doks-sidebar-toggle .doks-collapse,
|
||||
.doks-toc-toggle .doks-collapse {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.doks-sidebar-toggle:not(.collapsed) .doks-expand,
|
||||
.doks-toc-toggle:not(.collapsed) .doks-expand {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.doks-sidebar-toggle:not(.collapsed) .doks-collapse,
|
||||
.doks-toc-toggle:not(.collapsed) .doks-collapse {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navbar-light .navbar-brand,
|
||||
.navbar-light .navbar-brand:hover,
|
||||
.navbar-light .navbar-brand:active {
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.navbar-light .navbar-nav .active .nav-link {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
.dropdown-divider {
|
||||
border-top: 1px dashed $gray-200;
|
||||
}
|
||||
|
||||
.dropdown-item:hover {
|
||||
background: $gray-100;
|
||||
}
|
||||
|
||||
.dropdown-item:active {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.social-link {
|
||||
padding-left: 0.5rem;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding-right: 0.5rem;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
.docs-content > h2[id]::before,
|
||||
.docs-content > h3[id]::before,
|
||||
.docs-content > h4[id]::before {
|
||||
display: block;
|
||||
height: 6rem;
|
||||
margin-top: -6rem;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.anchor {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
h1:hover a,
|
||||
h2:hover a,
|
||||
h3:hover a,
|
||||
h4:hover a {
|
||||
visibility: visible;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.card-list {
|
||||
margin-top: 2.25rem;
|
||||
}
|
||||
|
||||
.page-footer-meta {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.edit-page,
|
||||
.last-modified {
|
||||
font-size: $font-size-sm;
|
||||
margin-top: 0.25rem;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
.edit-page,
|
||||
.last-modified {
|
||||
font-size: $font-size-base;
|
||||
margin-top: 0.75rem;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.edit-page svg,
|
||||
.last-modified svg {
|
||||
margin-right: 0.25rem;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
p.meta {
|
||||
margin-top: 0.5rem;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
margin-top: 2.25rem;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
|
||||
.page-link:hover {
|
||||
text-decoration: none;
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
.home .card,
|
||||
.contributors.list .card,
|
||||
.blog.list .card,
|
||||
.blog.single .card,
|
||||
.categories.list .card,
|
||||
.tags.list .card {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
.home .card:hover,
|
||||
.contributors.list .card:hover,
|
||||
.blog.list .card:hover,
|
||||
.blog.single .card:hover,
|
||||
.categories.list .card:hover,
|
||||
.tags.list .card:hover {
|
||||
transform: scale(1.025);
|
||||
}
|
||||
|
||||
.contributors.list .card.card-terms:hover,
|
||||
.categories.list .card.card-terms:hover,
|
||||
.tags.list .card.card-terms:hover {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.home .card-body,
|
||||
.contributors.list .card-body,
|
||||
.blog.list .card-body,
|
||||
.blog.single .card-body,
|
||||
.categories.list .card-body,
|
||||
.tags.list .card-body {
|
||||
padding: 0 2rem 1rem;
|
||||
}
|
||||
|
||||
.contributors.list .card-terms .card-body,
|
||||
.categories.list .card-terms .card-body,
|
||||
.tags.list .card-terms .card-body {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.blog-header {
|
||||
text-align: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.blog-footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.related-posts {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
h2.section-title {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
@ -1,116 +0,0 @@
|
||||
.docs-links,
|
||||
.docs-toc {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $white $white;
|
||||
}
|
||||
|
||||
.docs-links::-webkit-scrollbar,
|
||||
.docs-toc::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.docs-links::-webkit-scrollbar-track,
|
||||
.docs-toc::-webkit-scrollbar-track {
|
||||
background: $white;
|
||||
}
|
||||
|
||||
.docs-links::-webkit-scrollbar-thumb,
|
||||
.docs-toc::-webkit-scrollbar-thumb {
|
||||
background: $white;
|
||||
}
|
||||
|
||||
.docs-links:hover,
|
||||
.docs-toc:hover {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: $gray-200 $white;
|
||||
}
|
||||
|
||||
.docs-links:hover::-webkit-scrollbar-thumb,
|
||||
.docs-toc:hover::-webkit-scrollbar-thumb {
|
||||
background: $gray-200;
|
||||
}
|
||||
|
||||
.docs-links::-webkit-scrollbar-thumb:hover,
|
||||
.docs-toc::-webkit-scrollbar-thumb:hover {
|
||||
background: $gray-200;
|
||||
}
|
||||
|
||||
.docs-links h3,
|
||||
.page-links h3 {
|
||||
text-transform: uppercase;
|
||||
font-size: $font-size-base;
|
||||
margin: 1.25rem 0 0.5rem;
|
||||
padding: 1.5rem 0 0;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
.docs-links h3,
|
||||
.page-links h3 {
|
||||
margin: 1.125rem 1.5rem 0.75rem 0;
|
||||
padding: 1.375rem 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.docs-links h3:not(:first-child) {
|
||||
border-top: 1px solid $gray-200;
|
||||
}
|
||||
|
||||
a.docs-link {
|
||||
color: $body-color;
|
||||
display: block;
|
||||
padding: 0.125rem 0;
|
||||
font-size: $font-size-base;
|
||||
}
|
||||
|
||||
.page-links li {
|
||||
margin-top: 0.375rem;
|
||||
padding-top: 0.375rem;
|
||||
}
|
||||
|
||||
.page-links li ul li {
|
||||
border-top: none;
|
||||
padding-left: 1rem;
|
||||
margin-top: 0.125rem;
|
||||
padding-top: 0.125rem;
|
||||
}
|
||||
|
||||
.page-links li:not(:first-child) {
|
||||
border-top: 1px dashed $gray-200;
|
||||
}
|
||||
|
||||
.page-links a {
|
||||
color: $body-color;
|
||||
display: block;
|
||||
padding: 0.125rem 0;
|
||||
font-size: $font-size-base * 0.9375;
|
||||
}
|
||||
|
||||
.docs-link:hover,
|
||||
.docs-link.active,
|
||||
.page-links a:hover {
|
||||
text-decoration: none;
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
.nav-link.active,
|
||||
.dropdown-menu-main .dropdown-item.active,
|
||||
.docs-link.active {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.docs-links h3.sidebar-link,
|
||||
.page-links h3.sidebar-link {
|
||||
text-transform: none;
|
||||
font-size: $font-size-md;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.docs-links h3.sidebar-link a,
|
||||
.page-links h3.sidebar-link a {
|
||||
color: $body-color;
|
||||
}
|
||||
|
||||
.docs-links h3.sidebar-link a:hover,
|
||||
.page-links h3.sidebar-link a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
0
assets/scss/vendor/.gitkeep
vendored
0
assets/scss/vendor/.gitkeep
vendored
@ -1,17 +0,0 @@
|
||||
module.exports = {
|
||||
presets: [
|
||||
[
|
||||
'@babel/preset-env',
|
||||
{
|
||||
targets: {
|
||||
browsers: [
|
||||
// Best practice: https://github.com/babel/babel/issues/7789
|
||||
'>=1%',
|
||||
'not ie 11',
|
||||
'not op_mini all'
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
};
|
15
config.yaml
Normal file
15
config.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
# THIS IS A TEST CONFIG ONLY!
|
||||
# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml.
|
||||
#
|
||||
# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used.
|
||||
#
|
||||
# The sole purpose of this config file is to detect Hugo-module builds that use
|
||||
# an older version of Hugo.
|
||||
#
|
||||
# DO NOT add any config parameters to this file. You can safely delete this file
|
||||
# if your project is using the required Hugo version.
|
||||
|
||||
module:
|
||||
hugoVersion:
|
||||
extended: true
|
||||
min: 0.110.0
|
@ -1,110 +0,0 @@
|
||||
baseurl = "https://doks.netlify.app/"
|
||||
canonifyURLs = false
|
||||
disableAliases = true
|
||||
disableHugoGeneratorInject = true
|
||||
enableEmoji = true
|
||||
enableGitInfo = false
|
||||
enableRobotsTXT = true
|
||||
paginate = 7
|
||||
rssLimit = 10
|
||||
|
||||
# Multilingual
|
||||
defaultContentLanguage = "en"
|
||||
disableLanguages = ["de", "nl"]
|
||||
# defaultContentLanguageInSubdir = true
|
||||
|
||||
# add redirects/headers
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "REDIRECTS", "HEADERS"]
|
||||
section = ["HTML", "RSS", "SITEMAP"]
|
||||
|
||||
# remove .{ext} from text/netlify
|
||||
[mediaTypes."text/netlify"]
|
||||
suffixes = [""]
|
||||
delimiter = ""
|
||||
|
||||
# add output format for netlify _redirects
|
||||
[outputFormats.REDIRECTS]
|
||||
mediaType = "text/netlify"
|
||||
baseName = "_redirects"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
# add output format for netlify _headers
|
||||
[outputFormats.HEADERS]
|
||||
mediaType = "text/netlify"
|
||||
baseName = "_headers"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
# add output format for section sitemap.xml
|
||||
[outputFormats.SITEMAP]
|
||||
mediaType = "application/xml"
|
||||
baseName = "sitemap"
|
||||
isHTML = false
|
||||
isPlainText = true
|
||||
noUgly = true
|
||||
rel = "sitemap"
|
||||
|
||||
[caches]
|
||||
[caches.getjson]
|
||||
dir = ":cacheDir/:project"
|
||||
maxAge = "10s"
|
||||
|
||||
[sitemap]
|
||||
changefreq = "weekly"
|
||||
filename = "sitemap.xml"
|
||||
priority = 0.5
|
||||
|
||||
[taxonomies]
|
||||
contributor = "contributors"
|
||||
category = "categories"
|
||||
tag = "tags"
|
||||
|
||||
[permalinks]
|
||||
blog = "/blog/:title/"
|
||||
# docs = "/docs/1.0/:sections[1:]/:title/"
|
||||
|
||||
[minify.tdewolff.html]
|
||||
keepWhitespace = false
|
||||
|
||||
[related]
|
||||
threshold = 80
|
||||
includeNewer = true
|
||||
toLower = false
|
||||
[[related.indices]]
|
||||
name = "categories"
|
||||
weight = 100
|
||||
[[related.indices]]
|
||||
name = "tags"
|
||||
weight = 80
|
||||
[[related.indices]]
|
||||
name = "date"
|
||||
weight = 10
|
||||
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.80.0"
|
||||
max = ""
|
||||
[[module.mounts]]
|
||||
source = "assets"
|
||||
target = "assets"
|
||||
[[module.mounts]]
|
||||
source = "static"
|
||||
target = "static"
|
||||
[[module.mounts]]
|
||||
source = "layouts"
|
||||
target = "layouts"
|
||||
[[module.mounts]]
|
||||
source = "node_modules/flexsearch"
|
||||
target = "assets/js/vendor/flexsearch"
|
||||
[[module.mounts]]
|
||||
source = "node_modules/katex"
|
||||
target = "assets/js/vendor/katex"
|
||||
[[module.mounts]]
|
||||
source = "node_modules/mermaid"
|
||||
target = "assets/js/vendor/mermaid"
|
||||
[[module.mounts]]
|
||||
source = "node_modules/@hyas/images/layouts"
|
||||
target = "layouts"
|
@ -1,28 +0,0 @@
|
||||
[en]
|
||||
languageName = "English"
|
||||
contentDir = "content/en"
|
||||
weight = 10
|
||||
[en.params]
|
||||
languageISO = "EN"
|
||||
languageTag = "en-US"
|
||||
|
||||
[de]
|
||||
languageName = "German"
|
||||
contentDir = "content/de"
|
||||
weight = 15
|
||||
[de.params]
|
||||
languageISO = "DE"
|
||||
languageTag = "de-DE"
|
||||
|
||||
[nl]
|
||||
languageName = "Nederlands"
|
||||
contentDir = "content/nl"
|
||||
weight = 20
|
||||
[nl.params]
|
||||
languageISO = "NL"
|
||||
languageTag = "nl-NL"
|
||||
titleAddition = "Modern documentatie-thema"
|
||||
description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard."
|
||||
titleHome = "Doks thema"
|
||||
footer = "Mogelijk gemaakt door <a href=\"https://www.netlify.com/\">Netlify</a>, <a href=\"https://gohugo.io/\">Hugo</a>, en <a href=\"https://getdoks.org/\">Doks</a>"
|
||||
alertText = "Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! <a class=\"alert-link stretched-link\" href=\"https://getdoks.org/blog/doks-v0.2/\">Bekijk Doks v0.2</a>"
|
@ -1,29 +0,0 @@
|
||||
defaultMarkdownHandler = "goldmark"
|
||||
|
||||
[goldmark]
|
||||
[goldmark.extensions]
|
||||
linkify = false
|
||||
[goldmark.parser]
|
||||
autoHeadingID = true
|
||||
autoHeadingIDType = "github"
|
||||
[goldmark.parser.attribute]
|
||||
block = true
|
||||
title = true
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[highlight]
|
||||
codeFences = false
|
||||
guessSyntax = false
|
||||
hl_Lines = ""
|
||||
lineNoStart = 1
|
||||
lineNos = false
|
||||
lineNumbersInTable = true
|
||||
noClasses = false
|
||||
style = "dracula"
|
||||
tabWidth = 4
|
||||
|
||||
[tableOfContents]
|
||||
endLevel = 3
|
||||
ordered = false
|
||||
startLevel = 2
|
@ -1,83 +0,0 @@
|
||||
[[docs]]
|
||||
name = "Prologue"
|
||||
weight = 10
|
||||
identifier = "prologue"
|
||||
url = "/docs/prologue/"
|
||||
|
||||
[[docs]]
|
||||
name = "Help"
|
||||
weight = 60
|
||||
identifier = "help"
|
||||
url = "/docs/help/"
|
||||
|
||||
# [[docs]]
|
||||
# name = "Lorem"
|
||||
# weight = 70
|
||||
# identifier = "lorem"
|
||||
# url = "/docs/lorem/"
|
||||
|
||||
[[guide]]
|
||||
name = "Lorem"
|
||||
weight = 10
|
||||
identifier = "lorem"
|
||||
url = "/guide/lorem/"
|
||||
|
||||
[[tutorial]]
|
||||
name = "Lorem"
|
||||
weight = 10
|
||||
identifier = "lorem"
|
||||
url = "/tutorial/lorem/"
|
||||
|
||||
[[main]]
|
||||
name = "Docs"
|
||||
url = "/docs/prologue/introduction/"
|
||||
# url = "/docs/1.0/prologue/introduction/"
|
||||
weight = 10
|
||||
|
||||
# [[main]]
|
||||
# name = "Tutorial"
|
||||
# url = "/tutorial/lorem/ipsum/"
|
||||
# weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Blog"
|
||||
url = "/blog/"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Get Started"
|
||||
weight = 30
|
||||
identifier = "get-started"
|
||||
url = "/docs/prologue/introduction/"
|
||||
|
||||
[[main]]
|
||||
name = "Quick Start"
|
||||
weight = 40
|
||||
identifier = "quick-start"
|
||||
url = "/docs/prologue/quick-start/"
|
||||
parent = "get-started"
|
||||
|
||||
[[main]]
|
||||
name = "Tutorial"
|
||||
weight = 50
|
||||
identifier = "tutorial"
|
||||
url = "https://getdoks.org/tutorial/introduction/"
|
||||
parent = "get-started"
|
||||
|
||||
[[social]]
|
||||
name = "GitHub"
|
||||
pre = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-github\"><path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"></path></svg>"
|
||||
url = "https://github.com/h-enk/doks"
|
||||
post = "v0.1.0"
|
||||
weight = 10
|
||||
|
||||
[[social]]
|
||||
name = "Twitter"
|
||||
pre = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-twitter\"><path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path></svg>"
|
||||
url = "https://twitter.com/getdoks"
|
||||
weight = 20
|
||||
|
||||
# [[footer]]
|
||||
# name = "Privacy"
|
||||
# url = "/privacy-policy/"
|
||||
# weight = 10
|
@ -1,39 +0,0 @@
|
||||
[[docs]]
|
||||
name = "Prologue"
|
||||
weight = 10
|
||||
identifier = "prologue"
|
||||
url = "/docs/prologue/"
|
||||
|
||||
[[docs]]
|
||||
name = "Help"
|
||||
weight = 60
|
||||
identifier = "help"
|
||||
url = "/docs/help/"
|
||||
|
||||
[[main]]
|
||||
name = "Docs"
|
||||
url = "/docs/prologue/introduction/"
|
||||
weight = 10
|
||||
|
||||
# [[main]]
|
||||
# name = "Blog"
|
||||
# url = "/blog/"
|
||||
# weight = 20
|
||||
|
||||
[[social]]
|
||||
name = "GitHub"
|
||||
pre = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-github\"><path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"></path></svg>"
|
||||
url = "https://github.com/h-enk/doks"
|
||||
post = "v0.1.0"
|
||||
weight = 10
|
||||
|
||||
[[social]]
|
||||
name = "Twitter"
|
||||
pre = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-twitter\"><path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path></svg>"
|
||||
url = "https://twitter.com/getdoks"
|
||||
weight = 20
|
||||
|
||||
# [[footer]]
|
||||
# name = "Privacy"
|
||||
# url = "/privacy-policy/"
|
||||
# weight = 10
|
@ -1,114 +0,0 @@
|
||||
# Meta Data for SEO
|
||||
|
||||
## Homepage
|
||||
title = "Doks"
|
||||
titleSeparator = "-"
|
||||
titleAddition = "Modern Documentation Theme"
|
||||
description = "Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize."
|
||||
|
||||
## Documentation
|
||||
# docsVersion = "0.3"
|
||||
|
||||
## Open Graph
|
||||
images = ["doks.png"]
|
||||
ogLocale = "en_US"
|
||||
domainTLD = "doks.netlify.app"
|
||||
titleHome = "Doks Theme"
|
||||
|
||||
## Twitter Cards
|
||||
twitterSite = "@getdoks"
|
||||
twitterCreator = "@henkverlinde"
|
||||
|
||||
## JSON-LD
|
||||
# schemaType = "Person"
|
||||
schemaType = "Organization"
|
||||
schemaName = "Doks"
|
||||
schemaAuthor = "Henk Verlinde"
|
||||
schemaAuthorTwitter = "https://twitter.com/henkverlinde"
|
||||
schemaAuthorLinkedIn = "https://www.linkedin.com/in/henkverlinde/"
|
||||
schemaAuthorGitHub = "https://github.com/h-enk"
|
||||
schemaLocale = "en-US"
|
||||
schemaLogo = "logo-doks.png"
|
||||
schemaLogoWidth = 512
|
||||
schemaLogoHeight = 512
|
||||
schemaImage = "doks.png"
|
||||
schemaImageWidth = 1280
|
||||
schemaImageHeight = 640
|
||||
schemaTwitter = "https://twitter.com/getdoks"
|
||||
schemaLinkedIn = ""
|
||||
schemaGitHub = "https://github.com/h-enk/doks"
|
||||
schemaSection = "blog"
|
||||
|
||||
## Sitelinks Search Box
|
||||
siteLinksSearchBox = false
|
||||
|
||||
## Chrome Browser
|
||||
themeColor = "#fff"
|
||||
|
||||
# Images
|
||||
quality = 85
|
||||
bgColor = "#fff"
|
||||
landscapePhotoWidths = [900, 800, 700, 600, 500]
|
||||
portraitPhotoWidths = [800, 700, 600, 500]
|
||||
lqipWidth = "20x"
|
||||
smallLimit = "300"
|
||||
|
||||
# Images
|
||||
imageResponsive = true
|
||||
imageConvertTo = "webp"
|
||||
imageImageSizes = ["480","720","1080","1280","1600","2048"]
|
||||
singleSize = false
|
||||
imageAddClass = "img-fluid lazyload blur-up"
|
||||
|
||||
### Image template
|
||||
defaultImage = "default-image.png" # put in `./assets/images/`
|
||||
fillImage = "1270x740 Center" # normalize image size
|
||||
|
||||
# Footer
|
||||
footer = "Powered by <a class=\"text-muted\" href=\"https://www.netlify.com/\">Netlify</a>, <a class=\"text-muted\" href=\"https://gohugo.io/\">Hugo</a>, and <a class=\"text-muted\" href=\"https://getdoks.org/\">Doks</a>"
|
||||
|
||||
# Feed
|
||||
copyRight = "Copyright (c) 2020-2021 Henk Verlinde"
|
||||
|
||||
# Alert
|
||||
alert = false
|
||||
alertDismissable = true
|
||||
# alertText = "Introducing the Doks child theme, several DX + UX updates, and more! <a class=\"alert-link stretched-link\" href=\"https://getdoks.org/blog/doks-v0.2/\" target=\"_blank\" rel=\"noopener\">Check out Doks v0.2</a>"
|
||||
alertText = "Introducing the Doks child theme, several DX + UX updates, and more! <a class=\"alert-link stretched-link\" href=\"https://getdoks.org/blog/doks-v0.2/\">Check out Doks v0.2</a>"
|
||||
|
||||
# Edit Page
|
||||
# repoHost [Github | Gitea | GitLab | Bitbucket | BitbucketServer ] is used for building the edit link based on git hoster
|
||||
repoHost = "GitHub"
|
||||
#repoHost = "Gitea"
|
||||
docsRepo = "https://github.com/h-enk/doks"
|
||||
docsRepoBranch = "master"
|
||||
docsRepoSubPath = ""
|
||||
editPage = false
|
||||
lastMod = false
|
||||
|
||||
[sections]
|
||||
sectionNav = ["docs", "guides"]
|
||||
|
||||
[options]
|
||||
lazySizes = true
|
||||
clipBoard = true
|
||||
instantPage = true
|
||||
flexSearch = true
|
||||
searchSectionsShow = []
|
||||
searchSectionsIndex = []
|
||||
darkMode = true
|
||||
bootStrapJs = true
|
||||
breadCrumb = false
|
||||
highLight = true
|
||||
kaTex = false
|
||||
multilingualMode = false
|
||||
docsVersioning = false
|
||||
fullWidth = false
|
||||
navbarSticky = true
|
||||
toTopButton = false
|
||||
scrollSpy = false # experimental; needs Bootstrap >= 5.2.0-beta1
|
||||
|
||||
[menu]
|
||||
[menu.section]
|
||||
auto = true
|
||||
collapsibleSidebar = true
|
@ -1 +0,0 @@
|
||||
canonifyURLs = false
|
@ -1,44 +0,0 @@
|
||||
const autoprefixer = require('autoprefixer');
|
||||
const purgecss = require('@fullhuman/postcss-purgecss');
|
||||
const whitelister = require('purgecss-whitelister');
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
autoprefixer(),
|
||||
purgecss({
|
||||
content: [
|
||||
'./layouts/**/*.html',
|
||||
'./content/**/*.md',
|
||||
],
|
||||
safelist: [
|
||||
'lazyloaded',
|
||||
'table',
|
||||
'thead',
|
||||
'tbody',
|
||||
'tr',
|
||||
'th',
|
||||
'td',
|
||||
'h5',
|
||||
'alert-link',
|
||||
'container-xxl',
|
||||
'container-fluid',
|
||||
'offcanvas-backdrop',
|
||||
'img-fluid',
|
||||
'lazyload',
|
||||
'blur-up',
|
||||
'figcaption',
|
||||
...whitelister([
|
||||
'./assets/scss/components/_alerts.scss',
|
||||
'./assets/scss/components/_buttons.scss',
|
||||
'./assets/scss/components/_code.scss',
|
||||
'./assets/scss/components/_diagrams.scss',
|
||||
'./assets/scss/components/_syntax.scss',
|
||||
'./assets/scss/components/_search.scss',
|
||||
'./assets/scss/common/_dark.scss',
|
||||
'./node_modules/bootstrap/scss/_dropdown.scss',
|
||||
'./node_modules/katex/dist/katex.css',
|
||||
]),
|
||||
],
|
||||
}),
|
||||
],
|
||||
}
|
@ -1 +0,0 @@
|
||||
canonifyURLs = false
|
@ -1,9 +1,77 @@
|
||||
---
|
||||
title : "Modern Documentation Theme"
|
||||
description: "Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize."
|
||||
lead: "Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize."
|
||||
date: 2020-10-06T08:47:36+00:00
|
||||
lastmod: 2020-10-06T08:47:36+00:00
|
||||
draft: false
|
||||
images: []
|
||||
title: Goldydocs
|
||||
---
|
||||
|
||||
{{< blocks/cover title="Welcome to Goldydocs: A Docsy Example Project!" image_anchor="top" height="full" >}}
|
||||
<a class="btn btn-lg btn-primary me-3 mb-4" href="/docs/">
|
||||
Learn More <i class="fas fa-arrow-alt-circle-right ms-2"></i>
|
||||
</a>
|
||||
<a class="btn btn-lg btn-secondary me-3 mb-4" href="https://github.com/google/docsy-example">
|
||||
Download <i class="fab fa-github ms-2 "></i>
|
||||
</a>
|
||||
<p class="lead mt-5">Porridge temperature assessment — in the cloud!</p>
|
||||
{{< blocks/link-down color="info" >}}
|
||||
{{< /blocks/cover >}}
|
||||
|
||||
|
||||
{{% blocks/lead color="primary" %}}
|
||||
Goldydocs provides a single web UI providing visibility into porridge
|
||||
temperature, chair size, and bed softness metrics! You can even find out who's
|
||||
been eating **your** porridge.
|
||||
|
||||
(Sadly, Goldydocs isn't a real project, but you can use this site as an example
|
||||
to create your own real websites with [Docsy](https://docsy.dev))
|
||||
{{% /blocks/lead %}}
|
||||
|
||||
|
||||
{{% blocks/section color="dark" type="row" %}}
|
||||
{{% blocks/feature icon="fa-lightbulb" title="New chair metrics!" %}}
|
||||
The Goldydocs UI now shows chair size metrics by default.
|
||||
|
||||
Please follow this space for updates!
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
|
||||
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!" url="https://github.com/google/docsy-example" %}}
|
||||
We do a [Pull Request](https://github.com/google/docsy-example/pulls) contributions workflow on **GitHub**. New users are always welcome!
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
|
||||
{{% blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!" url="https://twitter.com/docsydocs" %}}
|
||||
For announcement of latest features etc.
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
|
||||
{{% /blocks/section %}}
|
||||
|
||||
|
||||
{{% blocks/section %}}
|
||||
This is the second section
|
||||
{.h1 .text-center}
|
||||
{{% /blocks/section %}}
|
||||
|
||||
|
||||
{{% blocks/section type="row" %}}
|
||||
|
||||
{{% blocks/feature icon="fab fa-app-store-ios" title="Download **from AppStore**" %}}
|
||||
Get the Goldydocs app!
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
{{% blocks/feature icon="fab fa-github" title="Contributions welcome!"
|
||||
url="https://github.com/google/docsy-example" %}}
|
||||
We do a [Pull Request](https://github.com/google/docsy-example/pulls)
|
||||
contributions workflow on **GitHub**. New users are always welcome!
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
{{% blocks/feature icon="fab fa-twitter" title="Follow us on Twitter!"
|
||||
url="https://twitter.com/GoHugoIO" %}}
|
||||
For announcement of latest features etc.
|
||||
{{% /blocks/feature %}}
|
||||
|
||||
{{% /blocks/section %}}
|
||||
|
||||
|
||||
{{% blocks/section %}}
|
||||
This is the another section
|
||||
{.h1 .text-center}
|
||||
{{% /blocks/section %}}
|
BIN
content/en/about/featured-background.jpg
Normal file
BIN
content/en/about/featured-background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 485 KiB |
35
content/en/about/index.md
Normal file
35
content/en/about/index.md
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
title: About Goldydocs
|
||||
linkTitle: About
|
||||
menu: {main: {weight: 10}}
|
||||
---
|
||||
|
||||
{{% blocks/cover title="About Goldydocs" image_anchor="bottom" height="auto" %}}
|
||||
|
||||
A sample site using the Docsy Hugo theme.
|
||||
{.mt-5}
|
||||
|
||||
{{% /blocks/cover %}}
|
||||
|
||||
{{% blocks/lead %}}
|
||||
|
||||
Goldydocs is a sample site using the [Docsy](https://github.com/google/docsy)
|
||||
Hugo theme that shows what it can do and provides you with a template site
|
||||
structure. It’s designed for you to clone and edit as much as you like. See the
|
||||
different sections of the documentation and site for more ideas.
|
||||
|
||||
{{% /blocks/lead %}}
|
||||
|
||||
{{% blocks/section %}}
|
||||
|
||||
# This is another section
|
||||
{.text-center}
|
||||
|
||||
{{% /blocks/section %}}
|
||||
|
||||
{{% blocks/section %}}
|
||||
|
||||
# This is another section
|
||||
{.text-center}
|
||||
|
||||
{{% /blocks/section %}}
|
@ -1,8 +1,8 @@
|
||||
---
|
||||
title: "Blog"
|
||||
description: "The Doks Blog."
|
||||
date: 2020-10-06T08:49:55+00:00
|
||||
lastmod: 2020-10-06T08:49:55+00:00
|
||||
draft: false
|
||||
images: []
|
||||
title: Blog
|
||||
menu: {main: {weight: 30}}
|
||||
---
|
||||
|
||||
This is the **blog** section. It has two categories: News and Releases.
|
||||
|
||||
Files in these directories will be listed in reverse chronological order.
|
||||
|
4
content/en/blog/news/_index.md
Normal file
4
content/en/blog/news/_index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
title: News
|
||||
weight: 20
|
||||
---
|
BIN
content/en/blog/news/first-post/featured-sunset-get.png
Normal file
BIN
content/en/blog/news/first-post/featured-sunset-get.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 378 KiB |
48
content/en/blog/news/first-post/index.md
Normal file
48
content/en/blog/news/first-post/index.md
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
date: 2018-10-06
|
||||
title: Easy documentation with Docsy
|
||||
linkTitle: Announcing Docsy
|
||||
description: >
|
||||
The Docsy Hugo theme lets project maintainers and contributors focus on content,
|
||||
not on reinventing a website infrastructure from scratch
|
||||
author: Riona MacNamara ([@rionam](https://twitter.com/bepsays))
|
||||
resources:
|
||||
- src: "**.{png,jpg}"
|
||||
title: "Image #:counter"
|
||||
params:
|
||||
byline: "Photo: Riona MacNamara / CC-BY-CA"
|
||||
---
|
||||
|
||||
**This is a typical blog post that includes images.**
|
||||
|
||||
The front matter specifies the date of the blog post, its title, a short description that will be displayed on the blog landing page, and its author.
|
||||
|
||||
## Including images
|
||||
|
||||
Here's an image (`featured-sunset-get.png`) that includes a byline and a caption.
|
||||
|
||||
{{< imgproc sunset Fill "600x300" >}}
|
||||
Fetch and scale an image in the upcoming Hugo 0.43.
|
||||
{{< /imgproc >}}
|
||||
|
||||
The front matter of this post specifies properties to be assigned to all image resources:
|
||||
|
||||
```
|
||||
resources:
|
||||
- src: "**.{png,jpg}"
|
||||
title: "Image #:counter"
|
||||
params:
|
||||
byline: "Photo: Riona MacNamara / CC-BY-CA"
|
||||
```
|
||||
|
||||
To include the image in a page, specify its details like this:
|
||||
|
||||
```
|
||||
{{< imgproc sunset Fill "600x300" >}}
|
||||
Fetch and scale an image in the upcoming Hugo 0.43.
|
||||
{{< /imgproc >}}
|
||||
```
|
||||
|
||||
The image will be rendered at the size and byline specified in the front matter.
|
||||
|
||||
|
244
content/en/blog/news/second-post.md
Executable file
244
content/en/blog/news/second-post.md
Executable file
@ -0,0 +1,244 @@
|
||||
---
|
||||
title: Second blog post
|
||||
date: 2018-10-06
|
||||
description: >
|
||||
A short lead description about this content page. Text here can also be
|
||||
**bold** or _italic_ and can even be split over multiple paragraphs.
|
||||
---
|
||||
|
||||
Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over).
|
||||
|
||||
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
|
||||
|
||||
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
|
||||
|
||||
> There should be no margin above this first sentence.
|
||||
>
|
||||
> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
|
||||
>
|
||||
> There should be no margin below this final sentence.
|
||||
|
||||
## First Header
|
||||
|
||||
This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
|
||||
|
||||
Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito
|
||||
occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat:
|
||||
pignora hinc reppulit nos **aut**, aptos, ipsa.
|
||||
|
||||
Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit.
|
||||
Dixi ad aestum.
|
||||
|
||||
## Header 2
|
||||
|
||||
> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Header 3
|
||||
|
||||
```
|
||||
This is a code block following a header.
|
||||
```
|
||||
|
||||
#### Header 4
|
||||
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
|
||||
##### Header 5
|
||||
|
||||
1. This is an ordered list following a header.
|
||||
2. This is an ordered list following a header.
|
||||
3. This is an ordered list following a header.
|
||||
|
||||
###### Header 6
|
||||
|
||||
| What | Follows |
|
||||
|-----------|-----------------|
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
|
||||
----------------
|
||||
|
||||
There's a horizontal rule above and below this.
|
||||
|
||||
----------------
|
||||
|
||||
Here is an unordered list:
|
||||
|
||||
* Salt-n-Pepa
|
||||
* Bel Biv DeVoe
|
||||
* Kid 'N Play
|
||||
|
||||
And an ordered list:
|
||||
|
||||
1. Michael Jackson
|
||||
2. Michael Bolton
|
||||
3. Michael Bublé
|
||||
|
||||
And an unordered task list:
|
||||
|
||||
- [x] Create a sample markdown document
|
||||
- [x] Add task lists to it
|
||||
- [ ] Take a vacation
|
||||
|
||||
And a "mixed" task list:
|
||||
|
||||
- [ ] Steal underpants
|
||||
- ?
|
||||
- [ ] Profit!
|
||||
|
||||
And a nested list:
|
||||
|
||||
* Jackson 5
|
||||
* Michael
|
||||
* Tito
|
||||
* Jackie
|
||||
* Marlon
|
||||
* Jermaine
|
||||
* TMNT
|
||||
* Leonardo
|
||||
* Michelangelo
|
||||
* Donatello
|
||||
* Raphael
|
||||
|
||||
Definition lists can be used with Markdown syntax. Definition terms are bold.
|
||||
|
||||
Name
|
||||
: Godzilla
|
||||
|
||||
Born
|
||||
: 1952
|
||||
|
||||
Birthplace
|
||||
: Japan
|
||||
|
||||
Color
|
||||
: Green
|
||||
|
||||
|
||||
----------------
|
||||
|
||||
Tables should have bold headings and alternating shaded rows.
|
||||
|
||||
| Artist | Album | Year |
|
||||
|-------------------|-----------------|------|
|
||||
| Michael Jackson | Thriller | 1982 |
|
||||
| Prince | Purple Rain | 1984 |
|
||||
| Beastie Boys | License to Ill | 1986 |
|
||||
|
||||
If a table is too wide, it should scroll horizontally.
|
||||
|
||||
| Artist | Album | Year | Label | Awards | Songs |
|
||||
|-------------------|-----------------|------|-------------|----------|-----------|
|
||||
| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
|
||||
| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
|
||||
| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
|
||||
|
||||
----------------
|
||||
|
||||
Code snippets like `var foo = "bar";` can be shown inline.
|
||||
|
||||
Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
|
||||
|
||||
Code can also be shown in a block element.
|
||||
|
||||
```
|
||||
foo := "bar";
|
||||
bar := "foo";
|
||||
```
|
||||
|
||||
Code can also use syntax highlighting.
|
||||
|
||||
```go
|
||||
func main() {
|
||||
input := `var foo = "bar";`
|
||||
|
||||
lexer := lexers.Get("javascript")
|
||||
iterator, _ := lexer.Tokenise(nil, input)
|
||||
style := styles.Get("github")
|
||||
formatter := html.New(html.WithLineNumbers())
|
||||
|
||||
var buff bytes.Buffer
|
||||
formatter.Format(&buff, style, iterator)
|
||||
|
||||
fmt.Println(buff.String())
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
```
|
||||
|
||||
Inline code inside table cells should still be distinguishable.
|
||||
|
||||
| Language | Code |
|
||||
|-------------|--------------------|
|
||||
| Javascript | `var foo = "bar";` |
|
||||
| Ruby | `foo = "bar"{` |
|
||||
|
||||
----------------
|
||||
|
||||
Small images should be shown at their actual size.
|
||||
|
||||
![](https://placekitten.com/g/300/200/)
|
||||
|
||||
Large images should always scale down and fit in the content container.
|
||||
|
||||
![](https://placekitten.com/g/1200/800/)
|
||||
|
||||
## Components
|
||||
|
||||
### Alerts
|
||||
|
||||
{{< alert >}}This is an alert.{{< /alert >}}
|
||||
{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}}
|
||||
{{< alert type="success" >}}This is a successful alert.{{< /alert >}}
|
||||
{{< alert type="warning" >}}This is a warning!{{< /alert >}}
|
||||
{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}}
|
||||
|
||||
|
||||
## Sizing
|
||||
|
||||
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Parameters available
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Using pixels
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Using rem
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
## Memory
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### RAM to use
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### More is better
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Used RAM
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
|
||||
|
||||
```
|
||||
This is the final element on the page and there should be no margin below this.
|
||||
```
|
4
content/en/blog/releases/_index.md
Normal file
4
content/en/blog/releases/_index.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Releases
|
||||
weight: 20
|
||||
---
|
244
content/en/blog/releases/in-depth-monoliths-detailed-spec.md
Executable file
244
content/en/blog/releases/in-depth-monoliths-detailed-spec.md
Executable file
@ -0,0 +1,244 @@
|
||||
---
|
||||
title: Another Great Release
|
||||
date: 2018-01-04
|
||||
description: >
|
||||
A short lead description about this content page. Text here can also be
|
||||
**bold** or _italic_ and can even be split over multiple paragraphs.
|
||||
---
|
||||
|
||||
Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over).
|
||||
|
||||
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
|
||||
|
||||
There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs.
|
||||
|
||||
> There should be no margin above this first sentence.
|
||||
>
|
||||
> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
|
||||
>
|
||||
> There should be no margin below this final sentence.
|
||||
|
||||
## First Header
|
||||
|
||||
This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
|
||||
|
||||
Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito
|
||||
occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat:
|
||||
pignora hinc reppulit nos **aut**, aptos, ipsa.
|
||||
|
||||
Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit.
|
||||
Dixi ad aestum.
|
||||
|
||||
## Header 2
|
||||
|
||||
> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Header 3
|
||||
|
||||
```
|
||||
This is a code block following a header.
|
||||
```
|
||||
|
||||
#### Header 4
|
||||
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
|
||||
##### Header 5
|
||||
|
||||
1. This is an ordered list following a header.
|
||||
2. This is an ordered list following a header.
|
||||
3. This is an ordered list following a header.
|
||||
|
||||
###### Header 6
|
||||
|
||||
| What | Follows |
|
||||
|-----------|-----------------|
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
|
||||
----------------
|
||||
|
||||
There's a horizontal rule above and below this.
|
||||
|
||||
----------------
|
||||
|
||||
Here is an unordered list:
|
||||
|
||||
* Salt-n-Pepa
|
||||
* Bel Biv DeVoe
|
||||
* Kid 'N Play
|
||||
|
||||
And an ordered list:
|
||||
|
||||
1. Michael Jackson
|
||||
2. Michael Bolton
|
||||
3. Michael Bublé
|
||||
|
||||
And an unordered task list:
|
||||
|
||||
- [x] Create a sample markdown document
|
||||
- [x] Add task lists to it
|
||||
- [ ] Take a vacation
|
||||
|
||||
And a "mixed" task list:
|
||||
|
||||
- [ ] Steal underpants
|
||||
- ?
|
||||
- [ ] Profit!
|
||||
|
||||
And a nested list:
|
||||
|
||||
* Jackson 5
|
||||
* Michael
|
||||
* Tito
|
||||
* Jackie
|
||||
* Marlon
|
||||
* Jermaine
|
||||
* TMNT
|
||||
* Leonardo
|
||||
* Michelangelo
|
||||
* Donatello
|
||||
* Raphael
|
||||
|
||||
Definition lists can be used with Markdown syntax. Definition terms are bold.
|
||||
|
||||
Name
|
||||
: Godzilla
|
||||
|
||||
Born
|
||||
: 1952
|
||||
|
||||
Birthplace
|
||||
: Japan
|
||||
|
||||
Color
|
||||
: Green
|
||||
|
||||
|
||||
----------------
|
||||
|
||||
Tables should have bold headings and alternating shaded rows.
|
||||
|
||||
| Artist | Album | Year |
|
||||
|-------------------|-----------------|------|
|
||||
| Michael Jackson | Thriller | 1982 |
|
||||
| Prince | Purple Rain | 1984 |
|
||||
| Beastie Boys | License to Ill | 1986 |
|
||||
|
||||
If a table is too wide, it should scroll horizontally.
|
||||
|
||||
| Artist | Album | Year | Label | Awards | Songs |
|
||||
|-------------------|-----------------|------|-------------|----------|-----------|
|
||||
| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
|
||||
| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
|
||||
| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
|
||||
|
||||
----------------
|
||||
|
||||
Code snippets like `var foo = "bar";` can be shown inline.
|
||||
|
||||
Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
|
||||
|
||||
Code can also be shown in a block element.
|
||||
|
||||
```
|
||||
foo := "bar";
|
||||
bar := "foo";
|
||||
```
|
||||
|
||||
Code can also use syntax highlighting.
|
||||
|
||||
```go
|
||||
func main() {
|
||||
input := `var foo = "bar";`
|
||||
|
||||
lexer := lexers.Get("javascript")
|
||||
iterator, _ := lexer.Tokenise(nil, input)
|
||||
style := styles.Get("github")
|
||||
formatter := html.New(html.WithLineNumbers())
|
||||
|
||||
var buff bytes.Buffer
|
||||
formatter.Format(&buff, style, iterator)
|
||||
|
||||
fmt.Println(buff.String())
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
```
|
||||
|
||||
Inline code inside table cells should still be distinguishable.
|
||||
|
||||
| Language | Code |
|
||||
|-------------|--------------------|
|
||||
| Javascript | `var foo = "bar";` |
|
||||
| Ruby | `foo = "bar"{` |
|
||||
|
||||
----------------
|
||||
|
||||
Small images should be shown at their actual size.
|
||||
|
||||
![](https://placekitten.com/g/300/200/)
|
||||
|
||||
Large images should always scale down and fit in the content container.
|
||||
|
||||
![](https://placekitten.com/g/1200/800/)
|
||||
|
||||
## Components
|
||||
|
||||
### Alerts
|
||||
|
||||
{{< alert >}}This is an alert.{{< /alert >}}
|
||||
{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}}
|
||||
{{< alert type="success" >}}This is a successful alert.{{< /alert >}}
|
||||
{{< alert type="warning" >}}This is a warning!{{< /alert >}}
|
||||
{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}}
|
||||
|
||||
|
||||
## Sizing
|
||||
|
||||
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Parameters available
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Using pixels
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Using rem
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
## Memory
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### RAM to use
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### More is better
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Used RAM
|
||||
|
||||
Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
|
||||
|
||||
```
|
||||
This is the final element on the page and there should be no margin below this.
|
||||
```
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
title: "Say hello to Doks 👋"
|
||||
description: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
|
||||
excerpt: "Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
|
||||
date: 2020-11-04T09:19:42+01:00
|
||||
lastmod: 2020-11-04T09:19:42+01:00
|
||||
draft: false
|
||||
weight: 50
|
||||
images: []
|
||||
categories: ["News"]
|
||||
tags: ["security", "performance", "SEO"]
|
||||
contributors: ["Henk Verlinde"]
|
||||
pinned: false
|
||||
homepage: false
|
||||
---
|
||||
|
||||
Introducing Doks, a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default.
|
6
content/en/community/_index.md
Normal file
6
content/en/community/_index.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: Community
|
||||
menu: {main: {weight: 40}}
|
||||
---
|
||||
|
||||
<!--add blocks of content here to add more sections to the community page -->
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Contact"
|
||||
description: "Drop us an email."
|
||||
date: 2020-08-27T19:25:12+02:00
|
||||
lastmod: 2020-08-27T19:25:12+02:00
|
||||
draft: true
|
||||
images: []
|
||||
---
|
||||
|
||||
{{< email user="hello" domain="getdoks.org" >}}
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Contributors"
|
||||
description: "The Doks contributors."
|
||||
date: 2020-10-06T08:50:29+00:00
|
||||
lastmod: 2020-10-06T08:50:29+00:00
|
||||
draft: false
|
||||
images: []
|
||||
---
|
||||
|
||||
The Doks contributors.
|
@ -1,12 +0,0 @@
|
||||
---
|
||||
title: "Henk Verlinde"
|
||||
description: "Creator of Hyas."
|
||||
date: 2020-10-06T08:50:45+00:00
|
||||
lastmod: 2020-10-06T08:50:45+00:00
|
||||
draft: false
|
||||
images: []
|
||||
---
|
||||
|
||||
Creator of Hyas.
|
||||
|
||||
[@HenkVerlinde](https://twitter.com/henkverlinde)
|
34
content/en/docs/_index.md
Normal file → Executable file
34
content/en/docs/_index.md
Normal file → Executable file
@ -1,9 +1,29 @@
|
||||
---
|
||||
title : "Docs"
|
||||
description: "Docs Doks."
|
||||
lead: ""
|
||||
date: 2020-10-06T08:48:23+00:00
|
||||
lastmod: 2020-10-06T08:48:23+00:00
|
||||
draft: false
|
||||
images: []
|
||||
title: Documentation
|
||||
linkTitle: Docs
|
||||
menu: {main: {weight: 20}}
|
||||
weight: 20
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
This section is where the user documentation for your project lives - all the
|
||||
information your users need to understand and successfully use your project.
|
||||
|
||||
For large documentation sets we recommend adding content under the headings in
|
||||
this section, though if some or all of them don’t apply to your project feel
|
||||
free to remove them or add your own. You can see an example of a smaller Docsy
|
||||
documentation site in the [Docsy User Guide](https://docsy.dev/docs/), which
|
||||
lives in the [Docsy theme
|
||||
repo](https://github.com/google/docsy/tree/master/userguide) if you'd like to
|
||||
copy its docs section.
|
||||
|
||||
Other content such as marketing material, case studies, and community updates
|
||||
should live in the [About](/about/) and [Community](/community/) pages.
|
||||
|
||||
Find out how to use the Docsy theme in the [Docsy User
|
||||
Guide](https://docsy.dev/docs/). You can learn more about how to organize your
|
||||
documentation (and how we organized this site) in [Organizing Your
|
||||
Content](https://docsy.dev/docs/best-practices/organizing-content/).
|
||||
|
14
content/en/docs/concepts/_index.md
Normal file
14
content/en/docs/concepts/_index.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Concepts
|
||||
weight: 4
|
||||
description: >
|
||||
What does your user need to understand about your project in order to use it - or potentially contribute to it?
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
For many projects, users may not need much information beyond the information in the [Overview](/docs/overview/), so this section is **optional**. However if there are areas where your users will need a more detailed understanding of a given term or feature in order to do anything useful with your project (or to not make mistakes when using it) put that information in this section. For example, you may want to add some conceptual pages if you have a large project with many components and a complex architecture.
|
||||
|
||||
Remember to focus on what the user needs to know, not just what you think is interesting about your project! If they don’t need to understand your original design decisions to use or contribute to the project, don’t put them in, or include your design docs in your repo and link to them. Similarly, most users will probably need to know more about how features work when in use rather than how they are implemented. Consider a separate architecture page for more detailed implementation and system design information that potential project contributors can consult.
|
79
content/en/docs/contribution-guidelines/_index.md
Normal file
79
content/en/docs/contribution-guidelines/_index.md
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Contribution Guidelines
|
||||
weight: 10
|
||||
description: How to contribute to the docs
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
These basic sample guidelines assume that your Docsy site is deployed using Netlify and your files are stored in GitHub. You can use the guidelines "as is" or adapt them with your own instructions: for example, other deployment options, information about your doc project's file structure, project-specific review guidelines, versioning guidelines, or any other information your users might find useful when updating your site. [Kubeflow](https://github.com/kubeflow/website/blob/master/README.md) has a great example.
|
||||
|
||||
Don't forget to link to your own doc repo rather than our example site! Also make sure users can find these guidelines from your doc repo README: either add them there and link to them from this page, add them here and link to them from the README, or include them in both locations.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
We use [Hugo](https://gohugo.io/) to format and generate our website, the
|
||||
[Docsy](https://github.com/google/docsy) theme for styling and site structure,
|
||||
and [Netlify](https://www.netlify.com/) to manage the deployment of the site.
|
||||
Hugo is an open-source static site generator that provides us with templates,
|
||||
content organisation in a standard directory structure, and a website generation
|
||||
engine. You write the pages in Markdown (or HTML if you want), and Hugo wraps them up into a website.
|
||||
|
||||
All submissions, including submissions by project members, require review. We
|
||||
use GitHub pull requests for this purpose. Consult
|
||||
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
|
||||
information on using pull requests.
|
||||
|
||||
## Quick start with Netlify
|
||||
|
||||
Here's a quick guide to updating the docs. It assumes you're familiar with the
|
||||
GitHub workflow and you're happy to use the automated preview of your doc
|
||||
updates:
|
||||
|
||||
1. Fork the [Goldydocs repo](https://github.com/google/docsy-example) on GitHub.
|
||||
1. Make your changes and send a pull request (PR).
|
||||
1. If you're not yet ready for a review, add "WIP" to the PR name to indicate
|
||||
it's a work in progress. (**Don't** add the Hugo property
|
||||
"draft = true" to the page front matter, because that prevents the
|
||||
auto-deployment of the content preview described in the next point.)
|
||||
1. Wait for the automated PR workflow to do some checks. When it's ready,
|
||||
you should see a comment like this: **deploy/netlify — Deploy preview ready!**
|
||||
1. Click **Details** to the right of "Deploy preview ready" to see a preview
|
||||
of your updates.
|
||||
1. Continue updating your doc and pushing your changes until you're happy with
|
||||
the content.
|
||||
1. When you're ready for a review, add a comment to the PR, and remove any
|
||||
"WIP" markers.
|
||||
|
||||
## Updating a single page
|
||||
|
||||
If you've just spotted something you'd like to change while using the docs, Docsy has a shortcut for you:
|
||||
|
||||
1. Click **Edit this page** in the top right hand corner of the page.
|
||||
1. If you don't already have an up to date fork of the project repo, you are prompted to get one - click **Fork this repository and propose changes** or **Update your Fork** to get an up to date version of the project to edit. The appropriate page in your fork is displayed in edit mode.
|
||||
1. Follow the rest of the [Quick start with Netlify](#quick-start-with-netlify) process above to make, preview, and propose your changes.
|
||||
|
||||
## Previewing your changes locally
|
||||
|
||||
If you want to run your own local Hugo server to preview your changes as you work:
|
||||
|
||||
1. Follow the instructions in [Getting started](/docs/getting-started) to install Hugo and any other tools you need. You'll need at least **Hugo version 0.45** (we recommend using the most recent available version), and it must be the **extended** version, which supports SCSS.
|
||||
1. Fork the [Goldydocs repo](https://github.com/google/docsy-example) repo into your own project, then create a local copy using `git clone`. Don’t forget to use `--recurse-submodules` or you won’t pull down some of the code you need to generate a working site.
|
||||
|
||||
```
|
||||
git clone --recurse-submodules --depth 1 https://github.com/google/docsy-example.git
|
||||
```
|
||||
|
||||
1. Run `hugo server` in the site root directory. By default your site will be available at http://localhost:1313/. Now that you're serving your site locally, Hugo will watch for changes to the content and automatically refresh your site.
|
||||
1. Continue with the usual GitHub workflow to edit files, commit them, push the
|
||||
changes up to your fork, and create a pull request.
|
||||
|
||||
## Creating an issue
|
||||
|
||||
If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the [Goldydocs repo](https://github.com/google/docsy-example/issues). You can also create an issue about a specific page by clicking the **Create Issue** button in the top right hand corner of the page.
|
||||
|
||||
## Useful resources
|
||||
|
||||
* [Docsy user guide](https://www.docsy.dev/docs/): All about Docsy, including how it manages navigation, look and feel, and multi-language support.
|
||||
* [Hugo documentation](https://gohugo.io/documentation/): Comprehensive reference for Hugo.
|
||||
* [Github Hello World!](https://guides.github.com/activities/hello-world/): A basic introduction to GitHub concepts and workflow.
|
||||
|
||||
|
13
content/en/docs/examples/_index.md
Executable file
13
content/en/docs/examples/_index.md
Executable file
@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Examples
|
||||
weight: 3
|
||||
date: 2017-01-05
|
||||
description: See your project in action!
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
Do you have any example **applications** or **code** for your users in your repo
|
||||
or elsewhere? Link to your examples here.
|
35
content/en/docs/getting-started/_index.md
Normal file
35
content/en/docs/getting-started/_index.md
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Getting Started
|
||||
description: What does your user need to know to try your project?
|
||||
categories: [Examples, Placeholders]
|
||||
tags: [test, docs]
|
||||
weight: 2
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
Information in this section helps your user try your project themselves.
|
||||
|
||||
* What do your users need to do to start using your project? This could include downloading/installation instructions, including any prerequisites or system requirements.
|
||||
|
||||
* Introductory “Hello World” example, if appropriate. More complex tutorials should live in the Tutorials section.
|
||||
|
||||
Consider using the headings below for your getting started page. You can delete any that are not applicable to your project.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Are there any system requirements for using your project? What languages are supported (if any)? Do users need to already have any software or tools installed?
|
||||
|
||||
## Installation
|
||||
|
||||
Where can your user find your project code? How can they install it (binaries, installable package, build from source)? Are there multiple options/versions they can install and how should they choose the right one for them?
|
||||
|
||||
## Setup
|
||||
|
||||
Is there any initial setup users need to do after installation to try your project?
|
||||
|
||||
## Try it out!
|
||||
|
||||
Can your users test their installation, for example by running a command or deploying a Hello World example?
|
240
content/en/docs/getting-started/example-page.md
Normal file
240
content/en/docs/getting-started/example-page.md
Normal file
@ -0,0 +1,240 @@
|
||||
---
|
||||
title: Example Page
|
||||
date: 2017-01-05
|
||||
description: >
|
||||
A short lead description about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
|
||||
categories: [Examples]
|
||||
tags: [test, sample, docs]
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page. Replace it with your own content.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
|
||||
Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
|
||||
|
||||
There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
|
||||
|
||||
90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
|
||||
|
||||
> There should be no margin above this first sentence.
|
||||
>
|
||||
> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
|
||||
>
|
||||
> There should be no margin below this final sentence.
|
||||
|
||||
## First Header 2
|
||||
|
||||
This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
|
||||
|
||||
Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
|
||||
|
||||
On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
|
||||
|
||||
Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
|
||||
|
||||
|
||||
## Second Header 2
|
||||
|
||||
> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### Header 3
|
||||
|
||||
```
|
||||
This is a code block following a header.
|
||||
```
|
||||
|
||||
Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
|
||||
|
||||
#### Header 4
|
||||
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
* This is an unordered list following a header.
|
||||
|
||||
##### Header 5
|
||||
|
||||
1. This is an ordered list following a header.
|
||||
2. This is an ordered list following a header.
|
||||
3. This is an ordered list following a header.
|
||||
|
||||
###### Header 6
|
||||
|
||||
| What | Follows |
|
||||
|-----------|-----------------|
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
| A table | A header |
|
||||
|
||||
----------------
|
||||
|
||||
There's a horizontal rule above and below this.
|
||||
|
||||
----------------
|
||||
|
||||
Here is an unordered list:
|
||||
|
||||
* Liverpool F.C.
|
||||
* Chelsea F.C.
|
||||
* Manchester United F.C.
|
||||
|
||||
And an ordered list:
|
||||
|
||||
1. Michael Brecker
|
||||
2. Seamus Blake
|
||||
3. Branford Marsalis
|
||||
|
||||
And an unordered task list:
|
||||
|
||||
- [x] Create a Hugo theme
|
||||
- [x] Add task lists to it
|
||||
- [ ] Take a vacation
|
||||
|
||||
And a "mixed" task list:
|
||||
|
||||
- [ ] Pack bags
|
||||
- ?
|
||||
- [ ] Travel!
|
||||
|
||||
And a nested list:
|
||||
|
||||
* Jackson 5
|
||||
* Michael
|
||||
* Tito
|
||||
* Jackie
|
||||
* Marlon
|
||||
* Jermaine
|
||||
* TMNT
|
||||
* Leonardo
|
||||
* Michelangelo
|
||||
* Donatello
|
||||
* Raphael
|
||||
|
||||
Definition lists can be used with Markdown syntax. Definition headers are bold.
|
||||
|
||||
Name
|
||||
: Godzilla
|
||||
|
||||
Born
|
||||
: 1952
|
||||
|
||||
Birthplace
|
||||
: Japan
|
||||
|
||||
Color
|
||||
: Green
|
||||
|
||||
|
||||
----------------
|
||||
|
||||
Tables should have bold headings and alternating shaded rows.
|
||||
|
||||
| Artist | Album | Year |
|
||||
|-------------------|-----------------|------|
|
||||
| Michael Jackson | Thriller | 1982 |
|
||||
| Prince | Purple Rain | 1984 |
|
||||
| Beastie Boys | License to Ill | 1986 |
|
||||
|
||||
If a table is too wide, it should scroll horizontally.
|
||||
|
||||
| Artist | Album | Year | Label | Awards | Songs |
|
||||
|-------------------|-----------------|------|-------------|----------|-----------|
|
||||
| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
|
||||
| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
|
||||
| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
|
||||
|
||||
----------------
|
||||
|
||||
Code snippets like `var foo = "bar";` can be shown inline.
|
||||
|
||||
Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
|
||||
|
||||
Code can also be shown in a block element.
|
||||
|
||||
```
|
||||
foo := "bar";
|
||||
bar := "foo";
|
||||
```
|
||||
|
||||
Code can also use syntax highlighting.
|
||||
|
||||
```go
|
||||
func main() {
|
||||
input := `var foo = "bar";`
|
||||
|
||||
lexer := lexers.Get("javascript")
|
||||
iterator, _ := lexer.Tokenise(nil, input)
|
||||
style := styles.Get("github")
|
||||
formatter := html.New(html.WithLineNumbers())
|
||||
|
||||
var buff bytes.Buffer
|
||||
formatter.Format(&buff, style, iterator)
|
||||
|
||||
fmt.Println(buff.String())
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
```
|
||||
|
||||
Inline code inside table cells should still be distinguishable.
|
||||
|
||||
| Language | Code |
|
||||
|-------------|--------------------|
|
||||
| Javascript | `var foo = "bar";` |
|
||||
| Ruby | `foo = "bar"{` |
|
||||
|
||||
----------------
|
||||
|
||||
Small images should be shown at their actual size.
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg/240px-Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg)
|
||||
|
||||
Large images should always scale down and fit in the content container.
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg/1024px-Picea_abies_shoot_with_buds%2C_Sogndal%2C_Norway.jpg)
|
||||
|
||||
_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
|
||||
|
||||
|
||||
## Components
|
||||
|
||||
### Alerts
|
||||
|
||||
{{< alert >}}This is an alert.{{< /alert >}}
|
||||
{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
|
||||
{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
|
||||
{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
|
||||
{{< alert color="warning" >}}This is a warning.{{< /alert >}}
|
||||
{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
|
||||
|
||||
|
||||
## Another Heading
|
||||
|
||||
Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
|
||||
|
||||
### This Document
|
||||
|
||||
Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
|
||||
|
||||
|
||||
### Pixel Count
|
||||
|
||||
Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
|
||||
|
||||
### Contact Info
|
||||
|
||||
Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
|
||||
|
||||
|
||||
### External Links
|
||||
|
||||
Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
|
||||
|
||||
|
||||
|
||||
```
|
||||
This is the final element on the page and there should be no margin below this.
|
||||
```
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Help"
|
||||
description: "Help Doks."
|
||||
lead: ""
|
||||
date: 2020-10-06T08:49:15+00:00
|
||||
lastmod: 2020-10-06T08:49:15+00:00
|
||||
draft: false
|
||||
images: []
|
||||
weight: 600
|
||||
---
|
@ -1,50 +0,0 @@
|
||||
---
|
||||
title: "FAQ"
|
||||
description: "Answers to frequently asked questions."
|
||||
lead: "Answers to frequently asked questions."
|
||||
date: 2020-10-06T08:49:31+00:00
|
||||
lastmod: 2020-10-06T08:49:31+00:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "help"
|
||||
weight: 630
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Hyas?
|
||||
|
||||
Doks is a [Hyas theme](https://gethyas.com/themes/) build by the creator of Hyas.
|
||||
|
||||
## Footer notice?
|
||||
|
||||
Please keep it in place.
|
||||
|
||||
## Keyboard shortcuts for search?
|
||||
|
||||
- focus: `Ctrl + /`
|
||||
- select: `↓` and `↑`
|
||||
- open: `Enter`
|
||||
- close: `Esc`
|
||||
|
||||
## Other documentation?
|
||||
|
||||
- [Netlify](https://docs.netlify.com/)
|
||||
- [Hugo](https://gohugo.io/documentation/)
|
||||
|
||||
## Can I get support?
|
||||
|
||||
Create a topic:
|
||||
|
||||
- [Netlify Community](https://community.netlify.com/)
|
||||
- [Hugo Forums](https://discourse.gohugo.io/)
|
||||
- [Doks Discussions](https://github.com/h-enk/doks/discussions)
|
||||
|
||||
## Contact the creator?
|
||||
|
||||
Send `h-enk` a message:
|
||||
|
||||
- [Netlify Community](https://community.netlify.com/)
|
||||
- [Hugo Forums](https://discourse.gohugo.io/)
|
||||
- [Doks Discussions](https://github.com/h-enk/doks/discussions)
|
@ -1,32 +0,0 @@
|
||||
---
|
||||
title: "How to Update"
|
||||
description: "Regularly update the installed npm packages to keep your Doks website stable, usable, and secure."
|
||||
lead: "Regularly update the installed npm packages to keep your Doks website stable, usable, and secure."
|
||||
date: 2020-11-12T13:26:54+01:00
|
||||
lastmod: 2020-11-12T13:26:54+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "help"
|
||||
weight: 610
|
||||
toc: true
|
||||
---
|
||||
|
||||
{{< alert icon="💡" text="Learn more about <a href=\"https://docs.npmjs.com/about-semantic-versioning\">semantic versioning</a> and <a href=\"https://docs.npmjs.com/cli/v6/using-npm/semver#advanced-range-syntax\">advanced range syntax</a>." />}}
|
||||
|
||||
## Check for outdated packages
|
||||
|
||||
The [`npm outdated`](https://docs.npmjs.com/cli/v7/commands/npm-outdated) command will check the registry to see if any (or, specific) installed packages are currently outdated:
|
||||
|
||||
```bash
|
||||
npm outdated [[<@scope>/]<pkg> ...]
|
||||
```
|
||||
|
||||
## Update packages
|
||||
|
||||
The [`npm update`](https://docs.npmjs.com/cli/v7/commands/npm-update) command will update all the packages listed to the latest version (specified by the tag config), respecting semver:
|
||||
|
||||
```bash
|
||||
npm update [<pkg>...]
|
||||
```
|
@ -1,30 +0,0 @@
|
||||
---
|
||||
title: "Troubleshooting"
|
||||
description: "Solutions to common problems."
|
||||
lead: "Solutions to common problems."
|
||||
date: 2020-11-12T15:22:20+01:00
|
||||
lastmod: 2020-11-12T15:22:20+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "help"
|
||||
weight: 620
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Problems updating npm packages
|
||||
|
||||
Delete the `./node_modules` folder, and run again:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Problems with cache
|
||||
|
||||
Delete the temporary directories:
|
||||
|
||||
```bash
|
||||
npm run clean
|
||||
```
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: "Lorem"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T19:58:14+01:00
|
||||
lastmod: 2022-01-18T19:58:14+01:00
|
||||
draft: true
|
||||
images: []
|
||||
toc: true
|
||||
---
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
title: "Ipsum"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T20:00:32+01:00
|
||||
lastmod: 2022-01-18T20:00:32+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "lorem"
|
||||
identifier: "ipsum"
|
||||
weight: 999
|
||||
toc: true
|
||||
---
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
title: "Amet"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T20:07:56+01:00
|
||||
lastmod: 2022-01-18T20:07:56+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "ipsum"
|
||||
identifier: "amet"
|
||||
weight: 999
|
||||
toc: true
|
||||
---
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
title: "Consectetur"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T20:17:32+01:00
|
||||
lastmod: 2022-01-18T20:17:32+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "amet"
|
||||
weight: 730
|
||||
toc: true
|
||||
---
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
title: "Dolor"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T20:01:45+01:00
|
||||
lastmod: 2022-01-18T20:01:45+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "ipsum"
|
||||
weight: 700
|
||||
toc: true
|
||||
---
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
title: "Sit"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2022-01-18T20:05:19+01:00
|
||||
lastmod: 2022-01-18T20:05:19+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "ipsum"
|
||||
weight: 710
|
||||
toc: true
|
||||
---
|
36
content/en/docs/overview/_index.md
Normal file
36
content/en/docs/overview/_index.md
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Overview
|
||||
description: Here's where your user finds out if your project is for them.
|
||||
weight: 1
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
|
||||
The Overview is where your users find out about your project. Depending on the size of your docset, you can have a separate overview page (like this one) or put your overview contents in the Documentation landing page (like in the Docsy User Guide).
|
||||
|
||||
Try answering these questions for your user in this page:
|
||||
|
||||
## What is it?
|
||||
|
||||
Introduce your project, including what it does or lets you do, why you would use it, and its primary goal (and how it achieves it). This should be similar to your README description, though you can go into a little more detail here if you want.
|
||||
|
||||
## Why do I want it?
|
||||
|
||||
Help your user know if your project will help them. Useful information can include:
|
||||
|
||||
* **What is it good for?**: What types of problems does your project solve? What are the benefits of using it?
|
||||
|
||||
* **What is it not good for?**: For example, point out situations that might intuitively seem suited for your project, but aren't for some reason. Also mention known limitations, scaling issues, or anything else that might let your users know if the project is not for them.
|
||||
|
||||
* **What is it *not yet* good for?**: Highlight any useful features that are coming soon.
|
||||
|
||||
## Where should I go next?
|
||||
|
||||
Give your users next steps from the Overview. For example:
|
||||
|
||||
* [Getting Started](/docs/getting-started/): Get started with $project
|
||||
* [Examples](/docs/examples/): Check out some example code!
|
||||
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
title : "Prologue"
|
||||
description: "Prologue Doks."
|
||||
lead: ""
|
||||
date: 2020-10-06T08:48:45+00:00
|
||||
lastmod: 2020-10-06T08:48:45+00:00
|
||||
draft: false
|
||||
images: []
|
||||
weight: 100
|
||||
---
|
@ -1,112 +0,0 @@
|
||||
---
|
||||
title: "Commands"
|
||||
description: "Doks comes with commands for common tasks."
|
||||
lead: "Doks comes with commands for common tasks."
|
||||
date: 2020-10-13T15:21:01+02:00
|
||||
lastmod: 2020-10-13T15:21:01+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "prologue"
|
||||
weight: 130
|
||||
toc: true
|
||||
---
|
||||
|
||||
{{< alert icon="💡" text="You can change the commands in the scripts section of `./package.json`." />}}
|
||||
|
||||
## create
|
||||
|
||||
Create new content for your site:
|
||||
|
||||
```bash
|
||||
npm run create [path] [flags]
|
||||
```
|
||||
|
||||
See also the Hugo docs: [hugo new](https://gohugo.io/commands/hugo_new/).
|
||||
|
||||
### Docs based tree
|
||||
|
||||
Create a docs based tree — with a single command:
|
||||
|
||||
```bash
|
||||
npm run create -- --kind docs [section]
|
||||
```
|
||||
|
||||
For example, create a docs based tree named guides:
|
||||
|
||||
```bash
|
||||
npm run create -- --kind docs guides
|
||||
```
|
||||
|
||||
## lint
|
||||
|
||||
Check scripts, styles, and markdown for errors:
|
||||
|
||||
```bash
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### scripts
|
||||
|
||||
Check scripts for errors:
|
||||
|
||||
```bash
|
||||
npm run lint:scripts [-- --fix]
|
||||
```
|
||||
|
||||
### styles
|
||||
|
||||
Check styles for errors:
|
||||
|
||||
```bash
|
||||
npm run lint:styles [-- --fix]
|
||||
```
|
||||
|
||||
### markdown
|
||||
|
||||
Check markdown for errors:
|
||||
|
||||
```bash
|
||||
npm run lint:markdown [-- --fix]
|
||||
```
|
||||
|
||||
## clean
|
||||
|
||||
Delete temporary directories:
|
||||
|
||||
```bash
|
||||
npm run clean
|
||||
```
|
||||
|
||||
## start
|
||||
|
||||
Start local development server:
|
||||
|
||||
```bash
|
||||
npm run start
|
||||
```
|
||||
|
||||
## build
|
||||
|
||||
Build production website:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
### functions
|
||||
|
||||
Build Lambda functions:
|
||||
|
||||
```bash
|
||||
npm run build:functions
|
||||
```
|
||||
|
||||
### preview
|
||||
|
||||
Build production website including draft and future content:
|
||||
|
||||
```bash
|
||||
npm run build:preview
|
||||
```
|
@ -1,58 +0,0 @@
|
||||
---
|
||||
title: "Introduction"
|
||||
description: "Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize."
|
||||
lead: "Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize."
|
||||
date: 2020-10-06T08:48:57+00:00
|
||||
lastmod: 2020-10-06T08:48:57+00:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "prologue"
|
||||
weight: 100
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Get started
|
||||
|
||||
There are two main ways to get started with Doks:
|
||||
|
||||
### Tutorial
|
||||
|
||||
{{< alert icon="👉" text="The Tutorial is intended for novice to intermediate users." />}}
|
||||
|
||||
Step-by-step instructions on how to start a new Doks project. [Tutorial →](https://getdoks.org/tutorial/introduction/)
|
||||
|
||||
### Quick Start
|
||||
|
||||
{{< alert icon="👉" text="The Quick Start is intended for intermediate to advanced users." />}}
|
||||
|
||||
One page summary of how to start a new Doks project. [Quick Start →]({{< relref "quick-start" >}})
|
||||
|
||||
## Go further
|
||||
|
||||
Recipes, Reference Guides, Extensions, and Showcase.
|
||||
|
||||
### Recipes
|
||||
|
||||
Get instructions on how to accomplish common tasks with Doks. [Recipes →](https://getdoks.org/docs/recipes/project-configuration/)
|
||||
|
||||
### Reference Guides
|
||||
|
||||
Learn how to customize Doks to fully make it your own. [Reference Guides →](https://getdoks.org/docs/reference-guides/security/)
|
||||
|
||||
### Extensions
|
||||
|
||||
Get instructions on how to add even more to Doks. [Extensions →](https://getdoks.org/docs/extensions/breadcrumb-navigation/)
|
||||
|
||||
### Showcase
|
||||
|
||||
See what others have build with Doks. [Showcase →](https://getdoks.org/showcase/electric-blocks/)
|
||||
|
||||
## Contributing
|
||||
|
||||
Find out how to contribute to Doks. [Contributing →](https://getdoks.org/docs/contributing/how-to-contribute/)
|
||||
|
||||
## Help
|
||||
|
||||
Get help on Doks. [Help →]({{< relref "how-to-update" >}})
|
@ -1,79 +0,0 @@
|
||||
---
|
||||
title: "Quick Start"
|
||||
description: "One page summary of how to start a new Doks project."
|
||||
lead: "One page summary of how to start a new Doks project."
|
||||
date: 2020-11-16T13:59:39+01:00
|
||||
lastmod: 2020-11-16T13:59:39+01:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "prologue"
|
||||
weight: 110
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Git](https://git-scm.com/) — latest source release
|
||||
- [Node.js](https://nodejs.org/) — latest LTS version or newer
|
||||
|
||||
{{< details "Why Node.js?" >}}
|
||||
Doks uses npm (included with Node.js) to centralize dependency management, making it [easy to update]({{< relref "how-to-update" >}}) resources, build tooling, plugins, and build scripts.
|
||||
{{< /details >}}
|
||||
|
||||
## Start a new Doks project
|
||||
|
||||
Create a new site, change directories, install dependencies, and start development server.
|
||||
|
||||
### Create a new site
|
||||
|
||||
Doks is available as a child theme and a starter theme.
|
||||
|
||||
#### Child theme
|
||||
|
||||
- Intended for novice to intermediate users
|
||||
- Intended for minor customizations
|
||||
- [Easily update npm packages]({{< relref "how-to-update" >}}) — __including__ [Doks](https://www.npmjs.com/package/@hyas/doks)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/h-enk/doks-child-theme.git my-doks-site
|
||||
```
|
||||
|
||||
#### Starter theme
|
||||
|
||||
- Intended for intermediate to advanced users
|
||||
- Intended for major customizations
|
||||
- [Easily update npm packages]({{< relref "how-to-update" >}})
|
||||
|
||||
```bash
|
||||
git clone https://github.com/h-enk/doks.git my-doks-site
|
||||
```
|
||||
|
||||
{{< details "Help me choose" >}}
|
||||
Not sure which one is for you? Pick the child theme.
|
||||
{{< /details >}}
|
||||
|
||||
### Change directories
|
||||
|
||||
```bash
|
||||
cd my-doks-site
|
||||
```
|
||||
|
||||
### Install dependencies
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### Start development server
|
||||
|
||||
```bash
|
||||
npm run start
|
||||
```
|
||||
|
||||
Doks will start the Hugo development webserver accessible by default at `http://localhost:1313`. Saved changes will live reload in the browser.
|
||||
|
||||
## Other commands
|
||||
|
||||
Doks comes with commands for common tasks. [Commands →]({{< relref "commands" >}})
|
12
content/en/docs/reference/_index.md
Normal file
12
content/en/docs/reference/_index.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Reference
|
||||
description: Low level reference docs for your project.
|
||||
weight: 9
|
||||
---
|
||||
|
||||
{{% pageinfo %}}
|
||||
This is a placeholder page that shows you how to use this template site.
|
||||
{{% /pageinfo %}}
|
||||
|
||||
If your project has an API, configuration, or other reference - anything that users need to look up that’s at an even lower level than a single task - put (or link to it) here. You can serve and link to generated reference docs created using Doxygen,
|
||||
Javadoc, or other doc generation tools by putting them in your `static/` directory. Find out more in [Adding static content](https://docsy.dev/docs/adding-content/content/#adding-static-content). For OpenAPI reference, Docsy also provides a [Swagger UI layout and shortcode](https://www.docsy.dev/docs/adding-content/shortcodes/#swaggerui) that renders [Swagger UI](https://swagger.io/tools/swagger-ui/) using any OpenAPI YAML or JSON file as source.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user