├── .changeset ├── README.md ├── config.json └── cool-badgers-leave.md ├── .codesandbox └── tasks.json ├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .github ├── FUNDING.md ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── assets │ └── banner.png ├── .gitignore ├── .gitpod.yml ├── .npmignore ├── .npmrc ├── .prettierignore ├── .prettierrc.yaml ├── .vscode ├── extensions.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets ├── cover.png ├── favicon.ico ├── favicon.png ├── favicon.svg ├── images │ └── .gitkeep ├── js │ └── custom.js ├── jsconfig.json ├── mask-icon.svg ├── scss │ └── common │ │ ├── _custom.scss │ │ └── _variables-custom.scss └── svgs │ └── .gitkeep ├── config ├── _default │ ├── hugo.toml │ ├── languages.toml │ ├── markup.toml │ ├── menus │ │ ├── menus.en.toml │ │ └── menus.nl.toml │ ├── module.toml │ └── params.toml ├── babel.config.js ├── next │ └── hugo.toml ├── postcss.config.js └── production │ └── hugo.toml ├── content ├── _index.md ├── blog │ ├── _index.md │ └── example │ │ └── index.md ├── docs │ ├── _index.md │ ├── guides │ │ ├── _index.md │ │ └── example.md │ ├── reference │ │ ├── _index.md │ │ └── example.md │ └── resources.md └── privacy.md ├── hugo_stats.json ├── images ├── screenshot.png └── tn.png ├── layouts ├── index.html └── partials │ ├── footer │ └── script-footer-custom.html │ └── head │ ├── custom-head.html │ └── script-header.html ├── netlify.toml ├── package-lock.json ├── package.json ├── static └── .gitkeep └── theme.toml /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", 3 | "changelog": ["@changesets/changelog-github", { "repo": "thuliteio/doks" }], 4 | "commit": false, 5 | "fixed": [], 6 | "linked": [], 7 | "access": "restricted", 8 | "baseBranch": "main", 9 | "updateInternalDependencies": "patch", 10 | "ignore": [] 11 | } 12 | -------------------------------------------------------------------------------- /.changeset/cool-badgers-leave.md: -------------------------------------------------------------------------------- 1 | --- 2 | "doks": patch 3 | --- 4 | 5 | Tiny typo "by by" => "by" 6 | -------------------------------------------------------------------------------- /.codesandbox/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // These tasks will run in order when initializing your CodeSandbox project. 3 | "setupTasks": [ 4 | { 5 | "name": "Install Dependencies", 6 | "command": "npm install" 7 | } 8 | ], 9 | 10 | // These tasks can be run from CodeSandbox. Running one will open a log in the app. 11 | "tasks": { 12 | "start": { 13 | "name": "dev", 14 | "command": "npm run dev -- --baseURL=/ --appendPort=false --liveReloadPort=443 --bind=0.0.0.0", 15 | "runAtStart": true 16 | }, 17 | "install": { 18 | "name": "install dependencies", 19 | "command": "npm install" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04 2 | 3 | RUN apt-get update && \ 4 | apt-get install -y \ 5 | ca-certificates \ 6 | nodejs \ 7 | npm \ 8 | wget && \ 9 | update-ca-certificates 10 | 11 | ARG HUGO_VERSION="0.131.0" 12 | RUN wget --quiet "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz" && \ 13 | tar xzf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz && \ 14 | rm -r hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz && \ 15 | mv hugo /usr/bin && \ 16 | chmod 755 /usr/bin/hugo 17 | 18 | WORKDIR /src 19 | COPY ./ /src 20 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "dockerfile": "./Dockerfile" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.github/FUNDING.md: -------------------------------------------------------------------------------- 1 | # Doks Project Funding 2 | 3 | _Last Updated: 06-16-2023_ 4 | 5 | ## Raising Funds 6 | 7 | Doks is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for Doks is not sustainable without proper financial backing. We need your help to achieve this. 8 | 9 | Learn more about sponsorship on our [Open Collective](https://opencollective.com/doks). 10 | 11 | ### Why Open Collective? 12 | 13 | - **Full Transparency.** Everyone gets to see where money is coming from and where it's going. 14 | - **Individual and Corporate Sponsors.** Open Collective makes it easy for both individuals and companies to sponsor open source projects. 15 | - **Potential Tax Benefits.** Because funds are paid to the Open Source Collective, a 501(c)(6) organization in the U.S., there may be tax benefits for some donors (please check with your accountant). 16 | - **Automatic Invoicing.** For corporate sponsors, Open Collective automatically generates and sends invoices for tracking purposes. 17 | - **Open Participation.** Anyone can request reimbursement for funds spent helping the Doks project and Doks can pay out to anyone. 18 | 19 | _List borrowed from [ESLint: "Funding ESLint's Future."](https://eslint.org/blog/2019/02/funding-eslint-future)_ 20 | 21 | ## Distributing Funds 22 | 23 | 100% of money raised is invested back into the community. Every dollar spent **must** support and/or improve Doks in some way. For example: 24 | 25 | - **Swag!** Creating stickers, t-shirts, etc. for sponsors and community members. 26 | - **Improve documentation.** 27 | - **Improve translations.** 28 | - **Improve website.** 29 | - **User research.** 30 | - **Supporting contributors.** 31 | - **Sponsoring conferences.** 32 | - **Sponsoring community members to represent Doks at meetups, conferences, etc.** 33 | - **Dedicated support for GitHub, GitHub Discussions, etc.** 34 | 35 | See all past expenses on our [Open Collective](https://opencollective.com/doks). 36 | 37 | ### Eligibility 38 | 39 | **Employees, contractors, and consultants of Doks are not eligible to receive funds from Open Collective.** These funds exist solely to serve the larger Doks open-source community. 40 | 41 | ### Core Maintainer Stipend 42 | 43 | A monthly stipend of up to $1000 per calendar month is available to [eligible](#eligibility) core maintainers. Any time spent improving or supporting the project in some way counts towards this stipend: writing code, writing documentation, triaging issues, offering support in Doks Discussions, attending meetings (and meetups) on behalf of Doks, contributing to our upstream dependencies, and so on. 44 | 45 | Right now, the stipend is calculated per hour at $50 per hour contributed, with a maximum of $1000 each month. These numbers may shift as our funding and team size change over time. 46 | 47 | To claim, file an expense on our [Open Collective.](https://opencollective.com/doks) with the title: `Core Maintainer Stipend - $MONTH $YEAR`. Include an invoice summarizing the hours worked during the month, and a detailed breakdown of how those hours were spent. You can record and track these hours yourself as you go, but a time-tracker that can auto-generate the required breakdown for you is recommended. 48 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: doks # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F41B Bug report" 3 | about: Report an issue or possible bug 4 | --- 5 | 6 | ## Description 7 | 8 | Describe the issue that you're seeing. 9 | 10 | ### Steps to reproduce 11 | 12 | Clear steps describing how to reproduce the issue. Please please please link to a demo project if possible, this makes your issue _much_ easier to diagnose (seriously). 13 | 14 | ### Expected result 15 | 16 | What should happen? 17 | 18 | ### Actual result 19 | 20 | What happened. 21 | 22 | ### Environment 23 | 24 | Paste the information here as shown by `npm run info` 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | contact_links: 2 | - name: 📘 Documentation 3 | url: https://github.com/thuliteio/getdoks.org 4 | about: File an issue or make an improvement to the Doks website. 5 | - name: 💁 Support 6 | url: https://github.com/thuliteio/doks/discussions 7 | about: 'Get help on Doks Discussions' 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F4A1 Feature request " 3 | about: Propose and discuss future improvements to Doks 4 | --- 5 | 6 | ## Summary 7 | 8 | Brief explanation of the feature. 9 | 10 | ### Basic example 11 | 12 | Include a basic example or links here. 13 | 14 | ### Motivation 15 | 16 | Why are we doing this? What use cases does it support? What is the expected outcome? 17 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Summary 2 | 3 | Brief explanation of the proposed changes. 4 | 5 | ## Basic example 6 | 7 | Include a basic example, screenshots, or links. 8 | 9 | ## Motivation 10 | 11 | Why are we doing this? What use cases does it support? What is the expected outcome? 12 | 13 | ## Checks 14 | 15 | - [ ] Read [Creating a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) 16 | - [ ] Supports all screen sizes (if relevant) 17 | - [ ] Supports both light and dark mode (if relevant) 18 | - [ ] Passes `npm run test` (if relevant) 19 | -------------------------------------------------------------------------------- /.github/assets/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/.github/assets/banner.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | .netlify 3 | .hugo_build.lock 4 | node_modules 5 | public 6 | resources 7 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | # Source: https://github.com/gitpod-io/template-hugo/blob/main/.gitpod.yml 2 | 3 | # List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/ 4 | tasks: 5 | - name: Run start up tasks 6 | before: brew install hugo 7 | init: pnpm install 8 | command: hugo server --baseURL $(gp url 1313) --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 --disableFastRender --noHTTPCache --navigateToChanged 9 | 10 | # List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/ 11 | ports: 12 | - port: 1313 13 | onOpen: open-preview 14 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | !.npmrc 2 | !.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | enable-pre-post-scripts=true 2 | auto-install-peers=true 3 | node-linker=hoisted 4 | prefer-symlinked-executables=false 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.ico 3 | *.png 4 | *.jp*g 5 | *.toml 6 | *.*ignore 7 | *.svg 8 | *.xml 9 | LICENSE 10 | .npmrc 11 | .gitkeep 12 | *.woff* 13 | -------------------------------------------------------------------------------- /.prettierrc.yaml: -------------------------------------------------------------------------------- 1 | # Default config 2 | tabWidth: 4 3 | endOfLine: crlf 4 | singleQuote: true 5 | printWidth: 100000 6 | trailingComma: none 7 | bracketSameLine: true 8 | quoteProps: consistent 9 | experimentalTernaries: true 10 | 11 | # Overrided config 12 | overrides: 13 | - files: ["*.md", "*.json", "*.yaml"] 14 | options: 15 | tabWidth: 2 16 | singleQuote: false 17 | - files: ["*.scss"] 18 | options: 19 | singleQuote: false 20 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["budparr.language-hugo-vscode", "yzhang.markdown-all-in-one", "tamasfe.even-better-toml", "dbaeumer.vscode-eslint", "DavidAnson.vscode-markdownlint", "stylelint.vscode-stylelint"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.wordWrap": "off", 3 | "files.trimTrailingWhitespace": true, 4 | "files.insertFinalNewline": true, 5 | "editor.tabSize": 2, 6 | "editor.insertSpaces": true 7 | } 8 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # doks 2 | 3 | ## 1.7.0 4 | 5 | ### Minor Changes 6 | 7 | - [#1276](https://github.com/thuliteio/doks/pull/1276) [`b3145cd`](https://github.com/thuliteio/doks/commit/b3145cd021a9ab6ee244f3ad8aa38d8b3aa1c4a5) Thanks [@h-enk](https://github.com/h-enk)! - Update for migration from Hyas to Thulite 8 | 9 | ### Patch Changes 10 | 11 | - [#1266](https://github.com/thuliteio/doks/pull/1266) [`009064a`](https://github.com/thuliteio/doks/commit/009064ad81d018521992ea2b6451b0906a02a1a0) Thanks [@l-zeuch](https://github.com/l-zeuch)! - Allow custom kroki host 12 | 13 | - [#1256](https://github.com/thuliteio/doks/pull/1256) [`5d475ea`](https://github.com/thuliteio/doks/commit/5d475ead4f845afe68c370734ca47365b81e2024) Thanks [@Rancho-rachit](https://github.com/Rancho-rachit)! - Added LinkedIn Social 14 | 15 | - [#1268](https://github.com/thuliteio/doks/pull/1268) [`7608454`](https://github.com/thuliteio/doks/commit/76084541c4d3c95f22a343f4dc538325088fba68) Thanks [@h-enk](https://github.com/h-enk)! - Add CodeSandbox support 16 | 17 | ## 1.6.2 18 | 19 | ### Patch Changes 20 | 21 | - [#1230](https://github.com/gethyas/doks/pull/1230) [`25f55a3`](https://github.com/gethyas/doks/commit/25f55a37fa4162b7546d6ded9b449434e4965164) Thanks [@h-enk](https://github.com/h-enk)! - Install prettier and vite as devDependencies 22 | 23 | ## 1.6.1 24 | 25 | ### Patch Changes 26 | 27 | - [#1229](https://github.com/gethyas/doks/pull/1229) [`7666ab6`](https://github.com/gethyas/doks/commit/7666ab62a9b04f0508530dfb8c7f5f7c6db0f966) Thanks [@h-enk](https://github.com/h-enk)! - Add gethyas dependency 28 | 29 | ## 1.6.0 30 | 31 | ### Minor Changes 32 | 33 | - [#1228](https://github.com/gethyas/doks/pull/1228) [`4be4a68`](https://github.com/gethyas/doks/commit/4be4a689619b49f62df4c65024d3e865c1ead99e) Thanks [@h-enk](https://github.com/h-enk)! - Update dependencies to latest versions 34 | 35 | ## 1.5.0 36 | 37 | ### Minor Changes 38 | 39 | - [#1226](https://github.com/gethyas/doks/pull/1226) [`664063e`](https://github.com/gethyas/doks/commit/664063eb6a02d24a3fceb61ea9ed8df589a11033) Thanks [@h-enk](https://github.com/h-enk)! - Update for new Hyas setup 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020-2024 Thulite 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Doks 2 | 3 | Doks is a documentation theme for [Thulite](https://thulite.io/). 4 | 5 | ## Demo 6 | 7 | - [doks.netlify.app](https://doks.netlify.app/) 8 | 9 | ## Install 10 | 11 | The recommended way to install the latest version of Doks is by running the command below: 12 | 13 | ```bash 14 | npm create thulite@latest -- --template doks 15 | ``` 16 | 17 | Looking for help? Start with our [Getting Started](https://getdoks.org/docs/start-here/getting-started/) guide. 18 | 19 | ## Documentation 20 | 21 | Visit our [official documentation](https://getdoks.org/). 22 | 23 | ## Support 24 | 25 | Having trouble? Get help in the official [Doks Discussions](https://github.com/thuliteio/doks/discussions). 26 | 27 | ## Contributing 28 | 29 | New contributors welcome! Check out our [Contributor Guides](https://getdoks.org/contribute/) for help getting started. 30 | 31 | ## Links 32 | 33 | - [License (MIT)](LICENSE) 34 | - [Code of Conduct](https://github.com/thuliteio/.github/blob/main/CODE_OF_CONDUCT.md) 35 | - [Project Funding](.github/FUNDING.md) 36 | - [Website](https://getdoks.org/) 37 | 38 | ## Sponsors 39 | 40 | Doks is free, open source software made possible by Netlify, Algolia, and several other amazing organizations and inidviduals. [Sponsor Doks](.github/FUNDING.md) ❤️ 41 | -------------------------------------------------------------------------------- /assets/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/assets/cover.png -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/assets/favicon.ico -------------------------------------------------------------------------------- /assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/assets/favicon.png -------------------------------------------------------------------------------- /assets/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/assets/images/.gitkeep -------------------------------------------------------------------------------- /assets/js/custom.js: -------------------------------------------------------------------------------- 1 | // Put your custom JS code here 2 | -------------------------------------------------------------------------------- /assets/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "*": ["*", "..\\node_modules\\@thulite\\doks-core\\assets\\*"] 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /assets/mask-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/scss/common/_custom.scss: -------------------------------------------------------------------------------- 1 | // Put your custom SCSS code here 2 | -------------------------------------------------------------------------------- /assets/scss/common/_variables-custom.scss: -------------------------------------------------------------------------------- 1 | // Put your custom SCSS variables here 2 | -------------------------------------------------------------------------------- /assets/svgs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/assets/svgs/.gitkeep -------------------------------------------------------------------------------- /config/_default/hugo.toml: -------------------------------------------------------------------------------- 1 | title = "My Docs" 2 | baseurl = "http://localhost/" 3 | canonifyURLs = false 4 | disableAliases = true 5 | disableHugoGeneratorInject = true 6 | # disableKinds = ["taxonomy", "term"] 7 | enableEmoji = true 8 | enableGitInfo = false 9 | enableRobotsTXT = true 10 | languageCode = "en-US" 11 | paginate = 10 12 | rssLimit = 10 13 | summarylength = 20 # 70 (default) 14 | 15 | # Multilingual 16 | defaultContentLanguage = "en" 17 | disableLanguages = ["de", "nl"] 18 | defaultContentLanguageInSubdir = false 19 | 20 | copyRight = "Copyright (c) 2020-2024 Thulite" 21 | 22 | [build.buildStats] 23 | enable = true 24 | 25 | [outputs] 26 | home = ["HTML", "RSS", "searchIndex"] 27 | section = ["HTML", "RSS", "SITEMAP"] 28 | 29 | [outputFormats.searchIndex] 30 | mediaType = "application/json" 31 | baseName = "search-index" 32 | isPlainText = true 33 | notAlternative = true 34 | 35 | # Add output format for section sitemap.xml 36 | [outputFormats.SITEMAP] 37 | mediaType = "application/xml" 38 | baseName = "sitemap" 39 | isHTML = false 40 | isPlainText = true 41 | noUgly = true 42 | rel = "sitemap" 43 | 44 | [sitemap] 45 | changefreq = "monthly" 46 | filename = "sitemap.xml" 47 | priority = 0.5 48 | 49 | [caches] 50 | [caches.getjson] 51 | dir = ":cacheDir/:project" 52 | maxAge = -1 # "30m" 53 | 54 | [taxonomies] 55 | contributor = "contributors" 56 | category = "categories" 57 | tag = "tags" 58 | 59 | [permalinks] 60 | blog = "/blog/:slug/" 61 | docs = "/docs/:sections[1:]/:slug/" 62 | # docs = "/docs/1.0/:sections[1:]/:slug/" 63 | 64 | [minify.tdewolff.html] 65 | keepWhitespace = false 66 | 67 | [related] 68 | threshold = 80 69 | includeNewer = true 70 | toLower = false 71 | [[related.indices]] 72 | name = "categories" 73 | weight = 100 74 | [[related.indices]] 75 | name = "tags" 76 | weight = 80 77 | [[related.indices]] 78 | name = "date" 79 | weight = 10 80 | 81 | [imaging] 82 | anchor = "Center" 83 | bgColor = "#ffffff" 84 | hint = "photo" 85 | quality = 85 86 | resampleFilter = "Lanczos" 87 | -------------------------------------------------------------------------------- /config/_default/languages.toml: -------------------------------------------------------------------------------- 1 | [en] 2 | languageName = "English" 3 | contentDir = "content/en" 4 | weight = 10 5 | [en.params] 6 | languageISO = "EN" 7 | languageTag = "en-US" 8 | footer = 'Brought to you by Thulite' 9 | alertText = 'Doks version 1.0 just shipped!' 10 | 11 | [de] 12 | languageName = "German" 13 | contentDir = "content/de" 14 | weight = 15 15 | [de.params] 16 | languageISO = "DE" 17 | languageTag = "de-DE" 18 | footer = 'Gebaut mit Thulite' 19 | alertText = 'Neue Version ist da! Doks v0.5' 20 | 21 | [nl] 22 | languageName = "Nederlands" 23 | contentDir = "content/nl" 24 | weight = 20 25 | [nl.params] 26 | languageISO = "NL" 27 | languageTag = "nl-NL" 28 | titleAddition = "Modern documentatie-thema" 29 | description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard." 30 | titleHome = "Doks thema" 31 | footer = 'Mogelijk gemaakt door Netlify, Hugo, en Doks' 32 | alertText = 'Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! Bekijk Doks v0.2' 33 | -------------------------------------------------------------------------------- /config/_default/markup.toml: -------------------------------------------------------------------------------- 1 | defaultMarkdownHandler = "goldmark" 2 | 3 | [goldmark] 4 | [goldmark.extensions] 5 | linkify = false 6 | [goldmark.parser] 7 | autoHeadingID = true 8 | autoHeadingIDType = "github" 9 | [goldmark.parser.attribute] 10 | block = true 11 | title = true 12 | [goldmark.renderer] 13 | unsafe = true 14 | 15 | [highlight] 16 | anchorLineNos = false 17 | codeFences = true 18 | guessSyntax = false 19 | hl_Lines = '' 20 | hl_inline = false 21 | lineAnchors = '' 22 | lineNoStart = 1 23 | lineNos = false 24 | lineNumbersInTable = false 25 | noClasses = false 26 | noHl = false 27 | style = 'monokai' 28 | tabWidth = 2 29 | 30 | [tableOfContents] 31 | endLevel = 3 32 | ordered = false 33 | startLevel = 2 34 | -------------------------------------------------------------------------------- /config/_default/menus/menus.en.toml: -------------------------------------------------------------------------------- 1 | # [[docs]] 2 | # name = "Prologue" 3 | # weight = 10 4 | # identifier = "prologue" 5 | # url = "/docs/prologue/" 6 | 7 | # [[docs]] 8 | # name = "Help" 9 | # weight = 60 10 | # identifier = "help" 11 | # url = "/docs/help/" 12 | 13 | # [[docs]] 14 | # name = "Lorem" 15 | # weight = 70 16 | # identifier = "lorem" 17 | # url = "/docs/lorem/" 18 | 19 | [[guide]] 20 | name = "Lorem" 21 | weight = 10 22 | identifier = "lorem" 23 | url = "/guide/lorem/" 24 | 25 | [[tutorial]] 26 | name = "Lorem" 27 | weight = 10 28 | identifier = "lorem" 29 | url = "/tutorial/lorem/" 30 | 31 | [[main]] 32 | name = "Docs" 33 | url = "/docs/guides/example-guide/" 34 | # url = "/docs/1.0/prologue/introduction/" 35 | weight = 10 36 | 37 | [[main]] 38 | name = "Blog" 39 | url = "/blog/" 40 | weight = 30 41 | 42 | # [[social]] 43 | # name = "Twitter" 44 | # pre = '' 45 | # url = "https://twitter.com/getdoks" 46 | # weight = 10 47 | # 48 | # [[social]] 49 | # name = "Discord" 50 | # pre = '' 51 | # url = "https://getdoks.org/chat" 52 | # weight = 20 53 | 54 | [[social]] 55 | name = "GitHub" 56 | pre = '' 57 | url = "https://github.com/thuliteio/doks" 58 | post = "v0.1.0" 59 | weight = 30 60 | 61 | # [[social]] 62 | # name = "LinkedIn" 63 | # pre = '' 64 | # url = "https://www.linkedin.com/" 65 | # weight = 40 66 | 67 | # [[sidebar_docs]] 68 | # name = "Guides" 69 | # pageRef = "/docs/guides" 70 | # weight = 10 71 | # 72 | # [[sidebar_docs]] 73 | # name = "Reference" 74 | # pageRef = "/docs/reference" 75 | # weight = 20 76 | # 77 | # [[sidebar_docs]] 78 | # name = "Resources" 79 | # pageRef = "/docs/resources" 80 | # weight = 30 81 | 82 | [[footer]] 83 | name = "Privacy Policy" 84 | url = "/privacy/" 85 | weight = 10 86 | 87 | # [[footer]] 88 | # name = "Terms of Service" 89 | # url = "/terms/" 90 | # weight = 20 91 | -------------------------------------------------------------------------------- /config/_default/menus/menus.nl.toml: -------------------------------------------------------------------------------- 1 | [[docs]] 2 | name = "Prologue" 3 | weight = 10 4 | identifier = "prologue" 5 | url = "/docs/prologue/" 6 | 7 | [[docs]] 8 | name = "Help" 9 | weight = 60 10 | identifier = "help" 11 | url = "/docs/help/" 12 | 13 | [[main]] 14 | name = "Docs" 15 | url = "/docs/prologue/introduction/" 16 | weight = 10 17 | 18 | # [[main]] 19 | # name = "Blog" 20 | # url = "/blog/" 21 | # weight = 20 22 | 23 | [[social]] 24 | name = "GitHub" 25 | pre = "" 26 | url = "https://github.com/h-enk/doks" 27 | post = "v0.1.0" 28 | weight = 10 29 | 30 | [[social]] 31 | name = "Twitter" 32 | pre = "" 33 | url = "https://twitter.com/getdoks" 34 | weight = 20 35 | 36 | # [[footer]] 37 | # name = "Privacy" 38 | # url = "/privacy-policy/" 39 | # weight = 10 40 | -------------------------------------------------------------------------------- /config/_default/module.toml: -------------------------------------------------------------------------------- 1 | # mounts 2 | ## archetypes 3 | [[mounts]] 4 | source = "node_modules/@thulite/doks-core/archetypes" 5 | target = "archetypes" 6 | 7 | [[mounts]] 8 | source = "archetypes" 9 | target = "archetypes" 10 | 11 | ## assets 12 | [[mounts]] 13 | source = "node_modules/@thulite/core/assets" 14 | target = "assets" 15 | 16 | [[mounts]] 17 | source = "node_modules/@thulite/images/assets" 18 | target = "assets" 19 | 20 | [[mounts]] 21 | source = "node_modules/@thulite/doks-core/assets" 22 | target = "assets" 23 | 24 | [[mounts]] 25 | source = "node_modules/@tabler/icons/icons" 26 | target = "assets/svgs/tabler-icons" 27 | 28 | [[mounts]] 29 | source = "assets" 30 | target = "assets" 31 | 32 | ## content 33 | [[mounts]] 34 | source = "content" 35 | target = "content" 36 | 37 | ## data 38 | [[mounts]] 39 | source = "node_modules/@thulite/doks-core/data" 40 | target = "data" 41 | 42 | [[mounts]] 43 | source = "data" 44 | target = "data" 45 | 46 | ## i18n 47 | [[mounts]] 48 | source = "node_modules/@thulite/doks-core/i18n" 49 | target = "i18n" 50 | 51 | [[mounts]] 52 | source = "i18n" 53 | target = "i18n" 54 | 55 | ## layouts 56 | [[mounts]] 57 | source = "node_modules/@thulite/core/layouts" 58 | target = "layouts" 59 | 60 | [[mounts]] 61 | source = "node_modules/@thulite/seo/layouts" 62 | target = "layouts" 63 | 64 | [[mounts]] 65 | source = "node_modules/@thulite/images/layouts" 66 | target = "layouts" 67 | 68 | [[mounts]] 69 | source = "node_modules/@thulite/doks-core/layouts" 70 | target = "layouts" 71 | 72 | [[mounts]] 73 | source = "node_modules/@thulite/inline-svg/layouts" 74 | target = "layouts" 75 | 76 | [[mounts]] 77 | source = "layouts" 78 | target = "layouts" 79 | 80 | ## static 81 | [[mounts]] 82 | source = "node_modules/@thulite/doks-core/static" 83 | target = "static" 84 | 85 | [[mounts]] 86 | source = "static" 87 | target = "static" 88 | -------------------------------------------------------------------------------- /config/_default/params.toml: -------------------------------------------------------------------------------- 1 | # Hugo 2 | title = "My Docs" 3 | description = "Congrats on setting up a new Doks project!" 4 | images = ["cover.png"] 5 | 6 | # mainSections 7 | mainSections = ["docs"] 8 | 9 | [social] 10 | twitter = "getdoks" 11 | 12 | # Doks (@thulite/doks-core) 13 | [doks] 14 | # Color mode 15 | colorMode = "auto" # auto (default), light or dark 16 | colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto) 17 | 18 | # Navbar 19 | navbarSticky = true # true (default) or false 20 | containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid" 21 | 22 | ## Button 23 | navBarButton = false # false (default) or true 24 | navBarButtonUrl = "/docs/prologue/introduction/" 25 | navBarButtonText = "Get started" 26 | 27 | # FlexSearch 28 | flexSearch = true # true (default) or false 29 | searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] ) 30 | searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"]) 31 | showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"]) 32 | indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time 33 | 34 | ## Search results 35 | showDate = false # false (default) or true 36 | showSummary = true # true (default) or false 37 | searchLimit = 99 # 0 (no limit, default) or natural number 38 | 39 | # Global alert 40 | alert = false # false (default) or true 41 | alertDismissable = true # true (default) or false 42 | 43 | # Bootstrap 44 | bootstrapJavascript = false # false (default) or true 45 | 46 | # Nav 47 | sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"]) 48 | toTopButton = false # false (default) or true 49 | breadcrumbTrail = false # false (default) or true 50 | headlineHash = true # true (default) or false 51 | scrollSpy = true # true (default) or false 52 | 53 | # Multilingual 54 | multilingualMode = false # false (default) or true 55 | showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false 56 | 57 | # Versioning 58 | docsVersioning = false # false (default) or true 59 | docsVersion = "1.0" 60 | 61 | # UX 62 | headerBar = false # true (default) or false 63 | backgroundDots = true # true (default) or false 64 | 65 | # Homepage 66 | sectionFooter = false # false (default) or true 67 | 68 | # Blog 69 | relatedPosts = false # false (default) or true 70 | imageList = true # true (default) or false 71 | imageSingle = true # true (default) or false 72 | 73 | # Repository 74 | editPage = false # false (default) or true 75 | lastMod = false # false (default) or true 76 | repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer 77 | docsRepo = "https://github.com/h-enk/doks" 78 | docsRepoBranch = "main" # main (default), master, or 79 | docsRepoSubPath = "" # "" (none, default) or 80 | 81 | krokiURL = "https://kroki.io" # "https://kroki.io" (default) or custom URL like http://localhost:8000. 82 | 83 | # SCSS colors 84 | # backGround = "yellowgreen" 85 | ## Dark theme 86 | # textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color 87 | # accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color 88 | ## Light theme 89 | # textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color 90 | # accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color 91 | 92 | # [doks.menu] 93 | # [doks.menu.section] 94 | # auto = true # true (default) or false 95 | # collapsibleSidebar = true # true (default) or false 96 | 97 | # Debug 98 | [render_hooks.image] 99 | errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) 100 | 101 | [render_hooks.link] 102 | errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) 103 | highlightBroken = false # true or false (default) 104 | 105 | # Images (@thulite/images) 106 | [thulite_images] 107 | [thulite_images.defaults] 108 | decoding = "async" # sync, async, or auto (default) 109 | fetchpriority = "auto" # high, low, or auto (default) 110 | loading = "lazy" # eager or lazy (default) 111 | widths = [480, 576, 768, 1025, 1200, 1440] # [640, 768, 1024, 1366, 1600, 1920] for example 112 | sizes = "auto" # 100vw (default), 75vw, or auto for example 113 | process = "" # "fill 1600x900" or "fill 2100x900" for example 114 | lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example 115 | 116 | # Inline SVG (@thulite/inline-svg) 117 | [inline_svg] 118 | iconSetDir = "tabler-icons" # "tabler-icons" (default) 119 | 120 | # SEO (@thulite/seo) 121 | [seo] 122 | [seo.title] 123 | separator = " | " 124 | suffix = "" 125 | [seo.favicons] 126 | sizes = [] 127 | icon = "favicon.png" # favicon.png (default) 128 | svgIcon = "favicon.svg" # favicon.svg (default) 129 | maskIcon = "mask-icon.svg" # mask-icon.svg (default) 130 | maskIconColor = "white" # white (default) 131 | [seo.schemas] 132 | type = "Organization" # Organization (default) or Person 133 | logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default) 134 | name = "Thulite" # Name of Organization or Person 135 | sameAs = [] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"] 136 | images = ["cover.png"] # ["cover.png"] (default) 137 | article = [] # Article sections 138 | newsArticle = [] # NewsArticle sections 139 | blogPosting = ["blog"] # BlogPosting sections 140 | product = [] # Product sections 141 | -------------------------------------------------------------------------------- /config/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | targets: { 7 | browsers: [ 8 | // Best practice: https://github.com/babel/babel/issues/7789 9 | '>=1%', 10 | 'not ie 11', 11 | 'not op_mini all' 12 | ] 13 | } 14 | } 15 | ] 16 | ] 17 | }; 18 | -------------------------------------------------------------------------------- /config/next/hugo.toml: -------------------------------------------------------------------------------- 1 | # Overrides for next environment 2 | baseurl = "/" 3 | -------------------------------------------------------------------------------- /config/postcss.config.js: -------------------------------------------------------------------------------- 1 | const autoprefixer = require('autoprefixer'); 2 | const purgecss = require('@fullhuman/postcss-purgecss'); 3 | const whitelister = require('purgecss-whitelister'); 4 | 5 | module.exports = { 6 | plugins: [ 7 | autoprefixer(), 8 | purgecss({ 9 | content: ['./hugo_stats.json'], 10 | extractors: [ 11 | { 12 | extractor: (content) => { 13 | const els = JSON.parse(content).htmlElements; 14 | return els.tags.concat(els.classes, els.ids); 15 | }, 16 | extensions: ['json'] 17 | } 18 | ], 19 | dynamicAttributes: [ 20 | 'aria-expanded', 21 | 'data-bs-popper', 22 | 'data-bs-target', 23 | 'data-bs-theme', 24 | 'data-dark-mode', 25 | 'data-global-alert', 26 | 'data-pane', // tabs.js 27 | 'data-popper-placement', 28 | 'data-sizes', 29 | 'data-toggle-tab', // tabs.js 30 | 'id', 31 | 'size', 32 | 'type' 33 | ], 34 | safelist: [ 35 | 'active', 36 | 'btn-clipboard', // clipboards.js 37 | 'clipboard', // clipboards.js 38 | 'disabled', 39 | 'hidden', 40 | 'modal-backdrop', // search-modal.js 41 | 'selected', // search-modal.js 42 | 'show', 43 | 'img-fluid', 44 | 'blur-up', 45 | 'lazyload', 46 | 'lazyloaded', 47 | 'alert-link', 48 | 'container-fw ', 49 | 'container-lg', 50 | 'container-fluid', 51 | 'offcanvas-backdrop', 52 | 'figcaption', 53 | 'dt', 54 | 'dd', 55 | 'showing', 56 | 'hiding', 57 | 'page-item', 58 | 'page-link', 59 | 'not-content', 60 | ...whitelister(['./assets/scss/**/*.scss', './node_modules/@thulite/doks-core/assets/scss/components/_code.scss', './node_modules/@thulite/doks-core/assets/scss/components/_expressive-code.scss', './node_modules/@thulite/doks-core/assets/scss/common/_syntax.scss']) 61 | ] 62 | }) 63 | ] 64 | }; 65 | -------------------------------------------------------------------------------- /config/production/hugo.toml: -------------------------------------------------------------------------------- 1 | # Overrides for production environment 2 | baseurl = "/" 3 | -------------------------------------------------------------------------------- /content/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Welcome to Doks" 3 | description: "" 4 | lead: "Congrats on setting up a new Doks project!" 5 | date: 2023-09-07T16:33:54+02:00 6 | lastmod: 2023-09-07T16:33:54+02:00 7 | draft: false 8 | seo: 9 | title: "Welcome to Doks" # custom title (optional) 10 | description: "" # custom description (recommended) 11 | canonical: "" # custom canonical URL (optional) 12 | noindex: false # false (default) or true 13 | --- 14 | -------------------------------------------------------------------------------- /content/blog/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Blog" 3 | description: "" 4 | summary: "" 5 | date: 2023-09-07T16:21:44+02:00 6 | lastmod: 2023-09-07T16:21:44+02:00 7 | draft: false 8 | weight: 50 9 | categories: [] 10 | tags: [] 11 | contributors: [] 12 | pinned: false 13 | homepage: false 14 | seo: 15 | title: "" # custom title (optional) 16 | description: "" # custom description (recommended) 17 | canonical: "" # custom canonical URL (optional) 18 | noindex: false # false (default) or true 19 | --- 20 | -------------------------------------------------------------------------------- /content/blog/example/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Example Post" 3 | description: "Just an example post." 4 | summary: "You can use blog posts for announcing product updates and features." 5 | date: 2023-09-07T16:27:22+02:00 6 | lastmod: 2023-09-07T16:27:22+02:00 7 | draft: false 8 | weight: 50 9 | categories: [] 10 | tags: [] 11 | contributors: [] 12 | pinned: false 13 | homepage: false 14 | seo: 15 | title: "" # custom title (optional) 16 | description: "" # custom description (recommended) 17 | canonical: "" # custom canonical URL (optional) 18 | noindex: false # false (default) or true 19 | --- 20 | 21 | Well-thought-through product announcements will help increase feature awareness and engage users with new functionality. Just like [sharing your public roadmap](https://canny.io/blog/should-you-have-a-public-roadmap/), it's also a great way to let potential customers see that you're constantly improving. 22 | 23 | ## Further reading 24 | 25 | - Read [How to announce product updates and features](https://canny.io/blog/announce-product-updates-features/) 26 | -------------------------------------------------------------------------------- /content/docs/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Docs" 3 | description: "" 4 | summary: "" 5 | date: 2023-09-07T16:12:03+02:00 6 | lastmod: 2023-09-07T16:12:03+02:00 7 | draft: false 8 | weight: 999 9 | toc: true 10 | seo: 11 | title: "" # custom title (optional) 12 | description: "" # custom description (recommended) 13 | canonical: "" # custom canonical URL (optional) 14 | noindex: false # false (default) or true 15 | --- 16 | -------------------------------------------------------------------------------- /content/docs/guides/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Guides" 3 | description: "" 4 | summary: "" 5 | date: 2023-09-07T16:06:50+02:00 6 | lastmod: 2023-09-07T16:06:50+02:00 7 | draft: false 8 | weight: 800 9 | toc: true 10 | seo: 11 | title: "" # custom title (optional) 12 | description: "" # custom description (recommended) 13 | canonical: "" # custom canonical URL (optional) 14 | noindex: false # false (default) or true 15 | --- 16 | -------------------------------------------------------------------------------- /content/docs/guides/example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Example Guide" 3 | description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps." 4 | summary: "" 5 | date: 2023-09-07T16:04:48+02:00 6 | lastmod: 2023-09-07T16:04:48+02:00 7 | draft: false 8 | weight: 810 9 | toc: true 10 | seo: 11 | title: "" # custom title (optional) 12 | description: "" # custom description (recommended) 13 | canonical: "" # custom canonical URL (optional) 14 | noindex: false # false (default) or true 15 | --- 16 | 17 | Guides lead a user through a specific task they want to accomplish, often with a sequence of steps. Writing a good guide requires thinking about what your users are trying to do. 18 | 19 | ## Further reading 20 | 21 | - Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework 22 | -------------------------------------------------------------------------------- /content/docs/reference/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Reference" 3 | description: "" 4 | summary: "" 5 | date: 2023-09-07T16:12:37+02:00 6 | lastmod: 2023-09-07T16:12:37+02:00 7 | draft: false 8 | weight: 900 9 | toc: true 10 | sidebar: 11 | collapsed: true 12 | seo: 13 | title: "" # custom title (optional) 14 | description: "" # custom description (recommended) 15 | canonical: "" # custom canonical URL (optional) 16 | noindex: false # false (default) or true 17 | --- 18 | -------------------------------------------------------------------------------- /content/docs/reference/example.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Example Reference" 3 | description: "Reference pages are ideal for outlining how things work in terse and clear terms." 4 | summary: "" 5 | date: 2023-09-07T16:13:18+02:00 6 | lastmod: 2023-09-07T16:13:18+02:00 7 | draft: false 8 | weight: 910 9 | toc: true 10 | seo: 11 | title: "" # custom title (optional) 12 | description: "" # custom description (recommended) 13 | canonical: "" # custom canonical URL (optional) 14 | noindex: false # false (default) or true 15 | --- 16 | 17 | Reference pages are ideal for outlining how things work in terse and clear terms. Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what your documenting. 18 | 19 | ## Further reading 20 | 21 | - Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework 22 | -------------------------------------------------------------------------------- /content/docs/resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Resources" 3 | description: "" 4 | summary: "" 5 | date: 2024-02-27T09:30:56+01:00 6 | lastmod: 2024-02-27T09:30:56+01:00 7 | draft: false 8 | weight: 999 9 | toc: true 10 | seo: 11 | title: "" # custom title (optional) 12 | description: "" # custom description (recommended) 13 | canonical: "" # custom canonical URL (optional) 14 | noindex: false # false (default) or true 15 | --- 16 | 17 | Link to valuable, relevant resources. 18 | -------------------------------------------------------------------------------- /content/privacy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Privacy Policy" 3 | description: "" 4 | summary: "" 5 | date: 2023-09-07T17:19:07+02:00 6 | lastmod: 2023-09-07T17:19:07+02:00 7 | draft: false 8 | type: "legal" 9 | seo: 10 | title: "" # custom title (optional) 11 | description: "" # custom description (recommended) 12 | canonical: "" # custom canonical URL (optional) 13 | noindex: false # false (default) or true 14 | --- 15 | -------------------------------------------------------------------------------- /hugo_stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "htmlElements": { 3 | "tags": [ 4 | "a", 5 | "article", 6 | "aside", 7 | "base", 8 | "body", 9 | "button", 10 | "circle", 11 | "code", 12 | "details", 13 | "div", 14 | "footer", 15 | "form", 16 | "g", 17 | "h1", 18 | "h2", 19 | "h3", 20 | "h5", 21 | "head", 22 | "header", 23 | "html", 24 | "input", 25 | "kbd", 26 | "label", 27 | "li", 28 | "line", 29 | "link", 30 | "main", 31 | "meta", 32 | "nav", 33 | "noscript", 34 | "p", 35 | "path", 36 | "script", 37 | "section", 38 | "small", 39 | "span", 40 | "strong", 41 | "style", 42 | "summary", 43 | "svg", 44 | "template", 45 | "time", 46 | "title", 47 | "ul" 48 | ], 49 | "classes": [ 50 | "DocSearch-Label", 51 | "active", 52 | "anchor", 53 | "bg-dots", 54 | "blog", 55 | "blog-header", 56 | "btn", 57 | "btn-close", 58 | "btn-cta", 59 | "btn-lg", 60 | "btn-link", 61 | "btn-primary", 62 | "card", 63 | "card-body", 64 | "card-list", 65 | "categories", 66 | "col-lg-10", 67 | "col-lg-11", 68 | "col-lg-12", 69 | "col-lg-5", 70 | "col-lg-8", 71 | "col-lg-9", 72 | "col-md-12", 73 | "col-xl-3", 74 | "col-xl-4", 75 | "col-xl-8", 76 | "col-xl-9", 77 | "container", 78 | "container-fluid", 79 | "container-lg", 80 | "content", 81 | "contributors", 82 | "created-date", 83 | "d-flex", 84 | "d-lg-block", 85 | "d-lg-none", 86 | "d-md-block", 87 | "d-md-none", 88 | "d-none", 89 | "d-xl-block", 90 | "d-xl-none", 91 | "docs", 92 | "docs-content", 93 | "docs-links", 94 | "docs-sidebar", 95 | "docs-toc", 96 | "doks-sidebar", 97 | "error404", 98 | "flex-column", 99 | "flex-grow-1", 100 | "flex-lg-row", 101 | "flex-md-row", 102 | "flex-row", 103 | "flex-sm-row", 104 | "flex-xl-nowrap", 105 | "footer", 106 | "form-control", 107 | "form-control-lg", 108 | "fs-5", 109 | "h-auto", 110 | "h3", 111 | "h4", 112 | "h5", 113 | "home", 114 | "icon", 115 | "icon-tabler", 116 | "icon-tabler-arrow-left", 117 | "icon-tabler-arrow-right", 118 | "icon-tabler-brand-github", 119 | "icon-tabler-clock", 120 | "icon-tabler-dots-vertical", 121 | "icon-tabler-menu", 122 | "icon-tabler-moon", 123 | "icon-tabler-search", 124 | "icon-tabler-sun", 125 | "icon-tabler-x", 126 | "justify-content-between", 127 | "justify-content-center", 128 | "justify-content-end", 129 | "justify-content-start", 130 | "lead", 131 | "list", 132 | "list-inline", 133 | "list-inline-item", 134 | "list-nested", 135 | "list-unstyled", 136 | "list-view", 137 | "m-2", 138 | "mb-0", 139 | "me-2", 140 | "me-auto", 141 | "me-lg-1", 142 | "me-lg-3", 143 | "message", 144 | "modal", 145 | "modal-body", 146 | "modal-content", 147 | "modal-dialog", 148 | "modal-dialog-scrollable", 149 | "modal-footer", 150 | "modal-fullscreen-md-down", 151 | "modal-header", 152 | "modal-title", 153 | "ms-2", 154 | "ms-3", 155 | "ms-auto", 156 | "ms-lg-2", 157 | "mt-3", 158 | "mt-n3", 159 | "mx-2", 160 | "mx-auto", 161 | "my-3", 162 | "nav", 163 | "nav-item", 164 | "nav-link", 165 | "navbar", 166 | "navbar-brand", 167 | "navbar-expand-lg", 168 | "navbar-nav", 169 | "offcanvas", 170 | "offcanvas-body", 171 | "offcanvas-end", 172 | "offcanvas-header", 173 | "offcanvas-start", 174 | "offcanvas-title", 175 | "order-3", 176 | "order-lg-4", 177 | "p-0", 178 | "p-2", 179 | "page-footer-meta", 180 | "page-links", 181 | "page-nav", 182 | "pb-3", 183 | "position-relative", 184 | "privacy", 185 | "px-0", 186 | "query-no-results", 187 | "reading-time", 188 | "rounded-pill", 189 | "row", 190 | "search-form", 191 | "search-input", 192 | "search-loading", 193 | "search-no-recent", 194 | "search-no-results", 195 | "search-result", 196 | "search-results", 197 | "search-text", 198 | "section", 199 | "section-features", 200 | "section-md", 201 | "section-nav", 202 | "single", 203 | "social-link", 204 | "status", 205 | "sticky-top", 206 | "stretched-link", 207 | "submitted", 208 | "tags", 209 | "taxonomy", 210 | "text-body", 211 | "text-body-secondary", 212 | "text-center", 213 | "text-decoration-none", 214 | "text-end", 215 | "text-lg-end", 216 | "text-lg-start", 217 | "text-muted", 218 | "text-nowrap", 219 | "text-reset", 220 | "title", 221 | "title-submitted", 222 | "toc-mobile", 223 | "visually-hidden", 224 | "w-100", 225 | "wrap" 226 | ], 227 | "ids": [ 228 | "TableOfContents", 229 | "buttonColorMode", 230 | "doks-docs-nav", 231 | "further-reading", 232 | "offcanvasNavMain", 233 | "offcanvasNavMainLabel", 234 | "offcanvasNavSection", 235 | "offcanvasNavSectionLabel", 236 | "query", 237 | "search-form", 238 | "searchModal", 239 | "searchModalLabel", 240 | "searchResults", 241 | "searchToggleDesktop", 242 | "searchToggleMobile", 243 | "socialMenu", 244 | "toc" 245 | ] 246 | } 247 | } 248 | -------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/images/screenshot.png -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/images/tn.png -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
7 |
8 |

{{ .Params.lead | safeHTML }}

9 | {{ i18n "get_started" }} 10 | {{ .Content }} 11 |
12 |
13 |
14 | {{ end }} 15 | 16 | {{ define "sidebar-prefooter" }} 17 | {{ if site.Params.doks.backgroundDots -}} 18 |
19 |
20 |
21 | {{ end -}} 22 | {{ if eq $.Site.Language.LanguageName "English" }} 23 |
24 |
25 |
26 |
27 |

Update content

28 |

Edit content/_index.md to see this page change.

29 |
30 |
31 |

Add new content

32 |

Add Markdown files to content to create new pages.

33 |
34 |
35 |

Configure your site

36 |

Edit your config in config/_default/params.toml.

37 |
38 |
39 |

Read the docs

40 |

Learn more in the Docs.

41 |
42 |
43 |
44 |
45 | {{ end }} 46 | {{ end }} 47 | 48 | {{ define "sidebar-footer" }} 49 | {{ if site.Params.doks.sectionFooter -}} 50 |
51 |
52 |
53 |

Start building with Doks today

54 | {{ i18n "get-started" }} 55 |
56 |
57 |
58 | {{ end -}} 59 | {{ end }} 60 | -------------------------------------------------------------------------------- /layouts/partials/footer/script-footer-custom.html: -------------------------------------------------------------------------------- 1 | {{/* Put your custom tags here */}} 2 | 3 | {{/* EXAMPLE - only load script for production 4 | {{ if eq (hugo.Environment) "production" -}} 5 | {{ partial "footer/esbuild" (dict "src" "js/instantpage.js" "load" "async" "transpile" false) -}} 6 | {{ end -}} 7 | */}} 8 | 9 | {{/* EXAMPLE - only load script for a page type e.g. contact or gallery 10 | {{ if eq .Type "gallery" -}} 11 | {{ partial "footer/esbuild" (dict "src" "js/gallery.js" "load" "async" "transpile" false) -}} 12 | {{ end -}} 13 | */}} 14 | -------------------------------------------------------------------------------- /layouts/partials/head/custom-head.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /layouts/partials/head/script-header.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "public" 3 | functions = "functions" 4 | 5 | [build.environment] 6 | NODE_VERSION = "20.11.0" 7 | NPM_VERSION = "10.2.4" 8 | HUGO_VERSION = "0.125.1" 9 | 10 | [context.production] 11 | command = "npm run build" 12 | 13 | [context.deploy-preview] 14 | command = "npm run build -- -b $DEPLOY_PRIME_URL" 15 | 16 | [context.branch-deploy] 17 | command = "npm run build -- -b $DEPLOY_PRIME_URL" 18 | 19 | [context.next] 20 | command = "npm run build" 21 | 22 | [context.next.environment] 23 | HUGO_ENV = "next" 24 | 25 | [dev] 26 | framework = "#custom" 27 | command = "npm run dev" 28 | targetPort = 1313 29 | port = 8888 30 | publish = "public" 31 | autoLaunch = false 32 | 33 | # Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file 34 | 35 | # Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file 36 | [[headers]] 37 | for = "/*" 38 | [headers.values] 39 | Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" 40 | X-Content-Type-Options = "nosniff" 41 | X-XSS-Protection = "1; mode=block" 42 | Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" 43 | X-Frame-Options = "SAMEORIGIN" 44 | Referrer-Policy = "strict-origin" 45 | Permissions-Policy = "geolocation=(self), microphone=(), camera=()" 46 | Cache-Control= ''' 47 | public, 48 | max-age=31536000''' 49 | Access-Control-Allow-Origin = "*" 50 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "doks", 3 | "version": "1.7.0", 4 | "description": "Doks theme", 5 | "author": "Thulite", 6 | "license": "MIT", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/thuliteio/doks.git" 10 | }, 11 | "scripts": { 12 | "create": "hugo new", 13 | "dev": "hugo server --disableFastRender --noHTTPCache", 14 | "format": "prettier **/** -w -c", 15 | "build": "hugo --minify --gc", 16 | "preview": "vite preview --outDir public" 17 | }, 18 | "dependencies": { 19 | "@thulite/doks-core": "^1.7.0", 20 | "@thulite/images": "^3.3.0", 21 | "@thulite/inline-svg": "^1.2.0", 22 | "@thulite/seo": "^2.4.0", 23 | "@tabler/icons": "^3.12.0", 24 | "thulite": "^2.5.0" 25 | }, 26 | "devDependencies": { 27 | "@changesets/changelog-github": "^0.5.0", 28 | "@changesets/cli": "^2.27.7", 29 | "prettier": "^3.3.3", 30 | "vite": "^5.4.2" 31 | }, 32 | "engines": { 33 | "node": ">=20.11.0" 34 | }, 35 | "publishConfig": { 36 | "access": "public", 37 | "registry": "https://registry.npmjs.org/" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thuliteio/doks/607c24c95e07c121dae6adae6e6734b9d4ef26c6/static/.gitkeep -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Doks" 2 | license = "MIT" 3 | licenselink = "https://github.com/thuliteio/doks/blob/master/LICENSE" 4 | description = "Build beautiful, high-performance documentation websites with Doks." 5 | 6 | homepage = "https://github.com/thuliteio/doks" 7 | demosite = "https://doks.netlify.app" 8 | 9 | tags = ["landing page", "documentation", "blog", "minimal", "modern", "customizable", "search", "dark mode", "bootstrap"] 10 | features = ["secure by design", "fast by default", "search optimized", "full text search", "page layouts", "dark mode"] 11 | 12 | [author] 13 | name = "Henk Verlinde" 14 | homepage = "https://henkverlinde.com" 15 | --------------------------------------------------------------------------------