diff --git a/.cspell.json b/.cspell.json index 4bf8690..f08db37 100644 --- a/.cspell.json +++ b/.cspell.json @@ -7,10 +7,13 @@ // code "go", "node", + "shell", // package names "npm" ], "words": [ + "woodpeckerci", + "riscv", "codeberg", "editview", "forgejo", @@ -109,7 +112,20 @@ "mstruebing", "davidanson", "pipelinecomponents", - "corepack" + "passwordless", + "corepack", + "letsencrypt.org", + "accounturi", + "Ente", + "getent", + "sealioning", + "DNSSEC", + "Arminiusstraße", + "HELLOTUX", + "Merch", + "merch", + "freewear", + "gedankenstuecke" ], "ignorePaths": [ "**/node_modules/**/*", diff --git a/.ecrc b/.editorconfig-checker.json similarity index 100% rename from .ecrc rename to .editorconfig-checker.json diff --git a/.eleventy.js b/.eleventy.js deleted file mode 100644 index 5a669c9..0000000 --- a/.eleventy.js +++ /dev/null @@ -1,85 +0,0 @@ -const navigationPlugin = require('@11ty/eleventy-navigation'); -const syntaxHighlightingPlugin = require('@11ty/eleventy-plugin-syntaxhighlight'); -const markdownIt = require('markdown-it'); -const tableOfContentsPlugin = require('@uncenter/eleventy-plugin-toc'); -const markdownItClass = require('@toycode/markdown-it-class'); -const markdownItAnchor = require('markdown-it-anchor'); -const library = require('@fortawesome/fontawesome-svg-core').library; -const icon = require('@fortawesome/fontawesome-svg-core').icon; -const fas = require('@fortawesome/free-solid-svg-icons').fas; -const { execSync } = require('child_process'); - -module.exports = function (eleventyConfig) { - eleventyConfig.addPlugin(navigationPlugin); - eleventyConfig.addPlugin(syntaxHighlightingPlugin); - - eleventyConfig.addPassthroughCopy('assets'); - eleventyConfig.addPassthroughCopy('fonts'); - - // Font Awesome Icons - library.add(fas); - eleventyConfig.addShortcode('fas_icon', function (args) { - var fas_svg = icon({ prefix: 'fas', iconName: args }); - return `${fas_svg.html}`; - }); - - const mapping = { - h2: 'content-title', - h3: 'content-title', - h4: 'content-title', - h5: 'content-title', - h6: 'content-title', - table: 'table', - blockquote: 'alert', - }; - - const mdOptions = { linkify: false, html: true }; - const mdAnchorOpts = { - permalink: markdownItAnchor.permalink.headerLink(), - permalinkClass: 'ml-5', - permalinkSymbol: '#', - level: [1, 2, 3, 4], - }; - - eleventyConfig.setLibrary( - 'md', - markdownIt(mdOptions).use(markdownItClass, mapping).use(markdownItAnchor, mdAnchorOpts), - ); - - eleventyConfig.addPairedShortcode('admonition', function (content, type, title) { - let titleStr = ''; - if (title) { - titleStr = title; - } else if (type) { - titleStr = type.substring(0, 1).toUpperCase() + type.substring(1).toLowerCase(); - } else { - titleStr = 'Info'; - } - - return `
-
- - ${titleStr} -
-
${content}
-
`; - }); - - eleventyConfig.addPlugin(tableOfContentsPlugin, { - tags: ['h2', 'h3'], - wrapper: function (toc) { - toc = toc.replaceAll(' { - execSync(`npx pagefind`, { encoding: 'utf-8' }); - }); - - return { - dir: { - input: 'content', - }, - }; -}; diff --git a/.forgejo/ISSUE_TEMPLATE/config.yml b/.forgejo/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..878985b --- /dev/null +++ b/.forgejo/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,17 @@ +blank_issues_enabled: true +contact_links: + - name: Ask for help in the Community issue tracker + url: https://codeberg.org/Codeberg/Community/issues/ + about: Get help with using Codeberg from the community and tell us what you think. + - name: Ask for help in a chatroom + url: https://docs.codeberg.org/contact + about: If you need real-time support from the community, join our Matrix or IRC rooms. + - name: Woodpecker CI Examples + url: https://codeberg.org/Codeberg-CI/examples/ + about: If you need examples for using Codeberg's Woodpecker CI, click here. + - name: Forgejo Documentation + url: https://forgejo.org/docs + about: Forgejo, which powers codeberg.org, offers its own distinct documentation. Issues discussing subjects that Codeberg's Documentation does not are, of course, still welcome, but this might help. + - name: Woodpecker CI Documentation + url: https://woodpecker-ci.org/docs/intro + about: Similarly, Woodpecker, which powers ci.codeberg.org, also offers its own distinct documentation. diff --git a/.gitignore b/.gitignore index 1c3f58b..0352ba9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,25 @@ -node_modules/ +# Project-specific +## Output of Eleventy site builder _site/ -pages.git/ +.cache/ + + +# Integrated development environments (IDEs) and text editors +## JetBrains .idea/ + +## Visual Studio Code +.vscode/ + + +# Package managers +## npm - Node.js +node_modules/ + +## pnpm - Node.js +.pnpm-store/ + + +# Web servers +## Codeberg Pages +pages.git/ diff --git a/.lycheeignore b/.lycheeignore index dc5f428..b32c557 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -1,8 +1,12 @@ -http://127.0.0.1:** +.*%7B%7B%20child.url%20%7D%7D +http://127.0.0.1:.* https://pages.codeberg.org/user.name/ https://user.name.codeberg.page/ https://repo.sitory.username.codeberg.page/ -file://** */ https://codeberg.org/username/repo.git -https://username.codeberg.page/** -https://openclipart.org/** +https://username.codeberg.page/.* +https://openclipart.org/.* +https://www.gnu.org/.* +https://translate.codeberg.org +https://stackoverflow.com/.* +https://medium.com/technical-writing-is-easy/screenshots-in-documentation-27b45342aad8 diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 9cae6a2..c0df7a9 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -45,7 +45,7 @@ MD012: # MD013/line-length - Line length MD013: # Number of characters - line_length: 500 + line_length: 120 # Number of characters for headings heading_line_length: 100 # Number of characters for code blocks @@ -56,8 +56,6 @@ MD013: tables: false # Include headings headings: true - # Include headings - headers: true # Strict length checking strict: false # Stern length checking @@ -71,9 +69,7 @@ MD022: lines_below: 1 # MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content -MD024: - # Only check sibling headings - allow_different_nesting: true +MD024: false # MD025/single-title/single-h1 - Multiple top-level headings in the same document MD025: @@ -139,3 +135,9 @@ MD046: MD048: # Code fence style style: 'backtick' + +# MD051/link-fragments - Link fragments should be valid +MD051: + # Ignore link fragments ending with simple URL percent-encoding. + # For example, to allow targeting headings ending with a question mark ('?'). + ignored_pattern: "%\\w{2}$" diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..e7aa467 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "DavidAnson.vscode-markdownlint", + "EditorConfig.EditorConfig", + "ginfuru.better-nunjucks", + "streetsidesoftware.code-spell-checker" + ] +} diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 1d97508..2ab5a76 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -1,12 +1,11 @@ when: - - event: [pull_request] - event: push branch: - ${CI_REPO_DEFAULT_BRANCH} steps: build: - image: codeberg.org/woodpecker-plugins/node-pm:1.3.0 + image: codeberg.org/woodpecker-plugins/node-pm:1.3.6 settings: run: build with: pnpm diff --git a/.woodpecker/delete-preview.yaml b/.woodpecker/delete-preview.yaml new file mode 100644 index 0000000..3fd48f6 --- /dev/null +++ b/.woodpecker/delete-preview.yaml @@ -0,0 +1,27 @@ +when: + - event: pull_request_closed + +steps: + create-empty-dir: + image: alpine + commands: + - mkdir _empty + + delete-preview: + image: codeberg.org/gedankenstuecke/git-pages-woodpecker-plugin@sha256:5257561a95054104f7499838817f3b447049a1edc14e87b99156b1302e0bce36 + settings: + SITE_URL: https://codeberg.codeberg.page/documentation + PATH: pull_${CI_COMMIT_PULL_REQUEST} + TOKEN: + from_secret: surge_forge_token + UPLOAD_DIR: _empty + depends_on: create-empty-dir + + comment: + image: mcs94/gitea-comment@sha256:f1a06366bfa34ff7594f369ebf81cbadd2d4410b7d51c9aa59c0c0264aa5fbd9 + settings: + gitea_address: https://codeberg.org + gitea_token: + from_secret: surge_forge_token + comment: 'Preview deleted.' + depends_on: delete-preview diff --git a/.woodpecker/deploy-preview.yaml b/.woodpecker/deploy-preview.yaml index 7baebea..af6c34b 100644 --- a/.woodpecker/deploy-preview.yaml +++ b/.woodpecker/deploy-preview.yaml @@ -1,29 +1,37 @@ when: - - event: [pull_request, pull_request_closed] + - event: pull_request steps: + change-path: + image: alpine + commands: + - | + sed -i.orig -e "s~pathPrefix: '/'~pathPrefix: '/documentation/pull_${CI_COMMIT_PULL_REQUEST}/'~" eleventy.config.mjs + build: - image: codeberg.org/woodpecker-plugins/node-pm + image: codeberg.org/woodpecker-plugins/node-pm@sha256:bff3ee2d7492e89a0dfbe6ee4c7d5ce636108cd973c0c355269f681e8dd8a196 settings: run: build with: pnpm frozen_lockfile: true ignore_node_modules: true + depends_on: change-path deploy-preview: - image: docker.io/woodpeckerci/plugin-surge-preview:1.3.1 + image: codeberg.org/gedankenstuecke/git-pages-woodpecker-plugin@sha256:5257561a95054104f7499838817f3b447049a1edc14e87b99156b1302e0bce36 settings: - path: '_site/' - forge_type: gitea - forge_url: https://codeberg.org - surge_token: - from_secret: surge_token - forge_repo_token: + SITE_URL: https://codeberg.codeberg.page/documentation + PATH: pull_${CI_COMMIT_PULL_REQUEST} + TOKEN: from_secret: surge_forge_token - failure: ignore - when: - event: [pull_request, pull_request_closed] - path: - - content/** - - assets/** - - .eleventy.js + UPLOAD_DIR: _site + depends_on: build + + comment: + image: mcs94/gitea-comment@sha256:f1a06366bfa34ff7594f369ebf81cbadd2d4410b7d51c9aa59c0c0264aa5fbd9 + settings: + gitea_address: https://codeberg.org + gitea_token: + from_secret: surge_forge_token + comment: 'Preview ready: https://codeberg.codeberg.page/documentation/pull_${CI_COMMIT_PULL_REQUEST}' + depends_on: deploy-preview diff --git a/.woodpecker/lint.yaml b/.woodpecker/lint.yaml index 0afd4bd..c170a7a 100644 --- a/.woodpecker/lint.yaml +++ b/.woodpecker/lint.yaml @@ -6,30 +6,32 @@ when: steps: lint-markdown: - image: davidanson/markdownlint-cli2:v0.13.0 + image: davidanson/markdownlint-cli2:v0.20.0 commands: - - 'markdownlint-cli2 *.{md,markdown}' + - 'markdownlint-cli2 **/*.md' when: - path: '*.{md,markdown}' + path: + include: ['.woodpecker/*.yaml', '*.{md,markdown}'] editor-config: - image: mstruebing/editorconfig-checker:v3.0.3 + image: mstruebing/editorconfig-checker:v3.6.1 depends_on: [] prettier: - image: docker.io/woodpeckerci/plugin-prettier:0.1.0 + image: docker.io/woodpeckerci/plugin-prettier:1.4.1 depends_on: [] settings: - version: 3.2.5 + # renovate: datasource=npm depName=prettier + version: 3.9.4 links: - image: lycheeverse/lychee:0.15.1 + image: lycheeverse/lychee:0.22.0 depends_on: [] commands: - - lychee -v -t 40 . + - lychee -v -t 40 --root-dir $(pwd)/content --fallback-extensions md . lint-yaml: - image: pipelinecomponents/yamllint:0.31.3 + image: pipelinecomponents/yamllint:0.35.13 depends_on: [] commands: - yamllint --strict . @@ -37,8 +39,9 @@ steps: path: '*.{yml,yaml}' spellcheck: - image: docker.io/node:22-alpine + image: docker.io/node:24-alpine depends_on: [] commands: + - npm install -g corepack@latest - corepack enable - pnpx cspell lint --no-progress --gitignore '{**,.*}/{*,.*}' diff --git a/Dockerfile b/Dockerfile index f9465f0..7277991 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,21 @@ -FROM node:16.15.1-stretch-slim +# The main purpose of this Dockerfile is to install the `pnpm` package manager in the official Node.js image +# and use an init script as the entrypoint of a custom image to build and run the documentation site. +FROM node:lts-slim@sha256:e8e2e91b1378f83c5b2dd15f0247f34110e2fe895f6ca7719dbb780f929368eb -RUN apt-get update && apt-get -y upgrade +EXPOSE 8080/tcp +SHELL [ "bash", "-c" ] +ENTRYPOINT [ "./container-init.sh" ] -RUN apt-get install -y git curl -RUN curl -fsSL https://get.pnpm.io/install.sh | sh - +ENV CI="true" -RUN mkdir /opt/documentation && chown node: /opt/documentation +# renovate: datasource=npm depName=pnpm +ENV PNPM_VERSION="11.5.3" + +RUN apt-get update \ +&& DEBIAN_FRONTEND=noninteractive apt-get --assume-yes upgrade \ +&& rm --recursive --force /var/lib/apt/lists/* + +RUN npm install --global pnpm@${PNPM_VERSION} USER node - -WORKDIR /opt/documentation - -RUN pnpm install - -CMD [ "pnpm", "run", "serve"] +WORKDIR /docs diff --git a/LICENSE.md b/LICENSE.md index bd08524..88913ea 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -16,4 +16,5 @@ licensed under [multiple licenses](https://fontawesome.com/license/free). Codeberg and the Codeberg Logo are trademarks of Codeberg e.V. -"Knut the Polar Bear" has been derived from [https://openclipart.org/detail/193243/polar-bear-remix](https://openclipart.org/detail/193243/polar-bear-remix), under CC0 1.0 +"Knut the Polar Bear" has been derived from [https://openclipart.org/detail/193243/polar-bear-remix](https://openclipart.org/detail/193243/polar-bear-remix), +under CC0 1.0 diff --git a/README.md b/README.md index 78f4630..7a2c09a 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,22 @@ This repository contains the [documentation for Codeberg](https://docs.codeberg.org/), with some code to build it into a static website. -Please have a look into it and consider to help writing the Documentation. This is still very much work-in-progress, the more useful material we collect, the better we can later present it! All contributions are very welcome! +Please have a look into it and consider to help writing the Documentation. +This is still very much work-in-progress, the more useful material we collect, the better we can later present it! +All contributions are very welcome! For an introduction on contributing to Codeberg Documentation, please have a look at [the section on improving the documentation](https://docs.codeberg.org/improving-documentation/). ## Usage -### Local Development +### Local Development using nodejs If you want to work on the documentation, for example by writing your own articles, the easiest way to do so is to fork the documentation repository and develop locally. +To learn how to get `pnpm` see the [PNpm website](https://pnpm.io). + First, run `pnpm install` @@ -24,7 +28,7 @@ You only have to do this once. Then run -`pnpm run serve` +`pnpm run dev` to start a development web server that by default is listening at `http://localhost:8080`. @@ -44,14 +48,14 @@ You must have a container-engine installed (docker, podman, etc.) First build the container image: ```shell -docker build -t Codeberg/Documentation-server . +docker build --tag codeberg-docs:dev . ``` You do not have to rebuild the image every time. Once you build the image you can always start the development webserver using the container engine: ```shell -docker run --rm -v $PWD:/opt/documentation Codeberg/Documentation-server:latest +docker run --name "codeberg-docs" --rm --tty --interactive --volume "${PWD}:/docs" --publish "127.0.0.1:8080:8080/tcp" codeberg-docs:dev ``` Use the "External" URL the container outputs on startup to access your documentation. @@ -63,9 +67,9 @@ Use `Ctrl-C` to exit / end the container. The parameters are: `--rm` removes the container after it's use -`-v` mounts the current (documentation repository root) folder to `/opt/documentation` in the container. +`--volume` mounts the current (documentation repository root) folder to `/docs` in the container. -`Codeberg/Documentation-server:latest` refers to the container image built in the first step (using `docker build`). +`codeberg-docs:dev` refers to the container image built in the first step (using `docker build`). ### Build & Deployment @@ -84,6 +88,23 @@ Instead, to directly publish the page to Codeberg pages, you can also run which includes a call to `pnpm run build`. +### Check and fix formatting errors + +Before you create a pull request with your changes, you should check and fix formatting errors. +Use the following command to fix formatting errors automatically: + +`pnpx prettier . -w` + +With the following command you can check if there are any formatting errors remaining: + +`pnpx prettier . -c` + +In addition you should also run the linter which is also used when checking pull requests: + +`pnpx cspell lint --no-progress --gitignore '{**,.*}/{*,.*}'` + +If this shows any errors, please fix them before committing your changes and creating a pull request. + ### Technical Information This website uses [Eleventy](https://www.11ty.dev/), a static site generator. @@ -93,13 +114,18 @@ with `package-lock.json` to try to ensure reproducible builds. It also uses [PageFind](https://pagefind.app/), a static search library. -Deployment previews are generated for every PR using [Surge.sh](https://surge.sh/) through the corresponding [Woodpecker plugin](https://woodpecker-ci.org/plugins/Surge%20preview%20plugin). +Deployment previews are generated for every PR using [Surge.sh](https://surge.sh/) +through the corresponding [Woodpecker plugin](https://woodpecker-ci.org/plugins/surge-preview). A spellchecker is used to check for spelling errors in the documentation. To add exceptions to the spellchecker, add them to the `.cspell.json` file. +This project is deployed to Codeberg via [a cron job](https://codeberg.org/Codeberg-Infrastructure/scripted-configuration/src/branch/main/hosts/static/home/build/build_docs.sh) +executed on the Codeberg infrastructure. + ## License and Contributors This website (excluding bundled fonts) is licensed under CC BY-SA 4.0. See the [LICENSE](LICENSE.md) file for details. -Please refer to the [commit log](https://codeberg.org/Codeberg/Documentation/commits/branch/main) for an exhaustive list of contributors to Codeberg Documentation. +Please refer to the [commit log](https://codeberg.org/Codeberg/Documentation/commits/branch/main) +for an exhaustive list of contributors to Codeberg Documentation. diff --git a/assets/css/codeberg-docs.css b/assets/css/codeberg-docs.css index d9a9f3c..b431e9a 100644 --- a/assets/css/codeberg-docs.css +++ b/assets/css/codeberg-docs.css @@ -18,6 +18,21 @@ --admonition-icon--question: url('data:image/svg+xml;charset=utf-8,'); --admonition-icon-dimension: 20px; + + --pagefind-ui-text: var(--bs-link-color) !important; + + --color-nav-bg: #2185d0; +} + +.sidebar, +.navbar-brand { + --bs-sidebar-brand-color: var(--bs-white); + --bs-navbar-brand-color: var(--bs-white); +} + +.btn-close { + filter: var(--bs-btn-close-white-filter); + --bs-btn-close-opacity: 1; } .content :not(img, pre) { @@ -26,12 +41,16 @@ .content img { border: 5px solid rgba(0, 0, 0, 0.2); max-width: 100%; + height: auto; } .content blockquote { margin: 0; } + .content-title { - margin-top: 20px !important; + margin-top: 20px; + margin-bottom: 20px; + scroll-margin-block-start: 65px; } .content pre { @@ -53,11 +72,6 @@ padding-left: 2em; } -.codeberg-design .card, -.codeberg-design hr { - margin-left: 0; -} - a.header-anchor, a.header-anchor:visited { color: var(--lm-base-text-color) !important; @@ -86,14 +100,6 @@ pre:not([class*='language-']) { border-radius: 0.3em; } -/* Override sidebar link style */ -.codeberg-design .sidebar-title a { - color: var(--sidebar-title-text-color); -} -.codeberg-design .sidebar-title .dark-mode a { - color: var(--dm-sidebar-title-text-color); -} - /* Apply halfmoon style to inline code */ code:not(pre > code) { font-size: var(--code-font-size); @@ -113,21 +119,6 @@ code:not(pre > code) { /* Custom Admonition boxes */ -.admonition { - background-color: var(--admonition-background-color--info); - border: 0.2rem solid var(--admonition-border-color--info); - border-radius: 0.3rem; - - border-left-width: 0.5rem; - - padding: 1em 1.5em; -} - -.admonition-title { - font-weight: bold; - font-size: 1.2em; -} - .admonition-icon::before { content: ''; background-color: var(--admonition-border-color--info); @@ -150,23 +141,12 @@ code:not(pre > code) { width: 1.5em; } -.admonition.note { - background-color: var(--admonition-background-color--note); - border-color: var(--admonition-border-color--note); -} - .admonition-icon.note::before { background-color: var(--admonition-border-color--note); mask-image: var(--admonition-icon--note); -webkit-mask-image: var(--admonition-icon--note); } - -.admonition.warning { - background-color: var(--admonition-background-color--warning); - border-color: var(--admonition-border-color--warning); -} - .admonition-icon.warning::before { background-color: var(--admonition-border-color--warning); @@ -174,11 +154,6 @@ code:not(pre > code) { -webkit-mask-image: var(--admonition-icon--warning); } -.admonition.tip { - background-color: var(--admonition-background-color--tip); - border-color: var(--admonition-border-color--tip); -} - .admonition-icon.tip::before { background-color: var(--admonition-border-color--tip); @@ -186,11 +161,6 @@ code:not(pre > code) { -webkit-mask-image: var(--admonition-icon--tip); } -.admonition.question { - background-color: var(--admonition-background-color--question); - border-color: var(--admonition-border-color--question); -} - .admonition-icon.question::before { background-color: var(--admonition-border-color--question); @@ -198,10 +168,6 @@ code:not(pre > code) { -webkit-mask-image: var(--admonition-icon--question); } -.admonition-content > *:last-child { - margin-bottom: 0; -} - #search-results { overflow: hidden; word-wrap: anywhere; @@ -231,40 +197,11 @@ code:not(pre > code) { } #toc ol { - padding: 5px; - margin: 0; + padding-left: 1em; } #toc li { list-style-type: none; - margin-bottom: 0; -} - -#toc a { - display: block; - height: auto; -} - -#toc-side { - margin-top: 50px; -} - -#toc-side span { - font-weight: 500; - font-size: 1.5rem; - margin-bottom: 1rem; -} - -#toc-side ol:first-child { - border-left: 1px solid rgba(0, 0, 0, 0.15); -} - -.dark-mode #toc-side ol:first-child { - border-left: 1px solid rgba(255, 255, 255, 0.15); -} - -#toc-side a { - padding-left: 10px; } a.show-on-focus { @@ -284,3 +221,47 @@ a.show-on-focus:focus { left: 0; top: 0; } + +.docs-navbar { + background-color: hsla(var(--bs-body-bg-hsl), 0.75); + backdrop-filter: blur(8px); +} + +.sidebar .offcanvas-header, +.docs-navbar { + min-height: 55px; + border-bottom: var(--bs-border-width) solid var(--bs-content-border-color); + background-color: var(--color-nav-bg); +} + +.filter-docs { + background-color: var(--bs-sidebar-bg); +} + +.docs-footer { + background-color: var(--bs-secondary-bg); + border-top: var(--bs-border-width) solid var(--bs-content-border-color); +} + +.simple-link { + color: hsla(var(--bs-emphasis-color-hsl), 0.75); + text-decoration: none; +} + +.simple-link:hover { + color: hsla(var(--bs-emphasis-color-hsl), 0.9); +} + +.alert-heading { + margin-bottom: 0.5rem; +} + +/* fix bottom margin in admonitions and cards */ + +.alert p:not(ul p):nth-last-child(2), +.alert p:not(ul p):last-child, +.alert li:last-child p, +.alert ul:last-child, +.card-text p:last-child { + margin-bottom: 0; +} diff --git a/assets/images/advanced/access-token/generate-token.webp b/assets/images/advanced/access-token/generate-token.webp deleted file mode 100644 index edf360f..0000000 Binary files a/assets/images/advanced/access-token/generate-token.webp and /dev/null differ diff --git a/assets/images/advanced/access-token/token-generated.webp b/assets/images/advanced/access-token/token-generated.webp deleted file mode 100644 index 4c4cbc1..0000000 Binary files a/assets/images/advanced/access-token/token-generated.webp and /dev/null differ diff --git a/assets/images/advanced/migrating-repos/git-migration.webp b/assets/images/advanced/migrating-repos/git-migration.webp deleted file mode 100644 index bcb55a7..0000000 Binary files a/assets/images/advanced/migrating-repos/git-migration.webp and /dev/null differ diff --git a/assets/images/advanced/migrating-repos/gitea-migration.webp b/assets/images/advanced/migrating-repos/gitea-migration.webp deleted file mode 100644 index 19fae13..0000000 Binary files a/assets/images/advanced/migrating-repos/gitea-migration.webp and /dev/null differ diff --git a/assets/images/advanced/migrating-repos/new-migration.webp b/assets/images/advanced/migrating-repos/new-migration.webp deleted file mode 100644 index 5f40998..0000000 Binary files a/assets/images/advanced/migrating-repos/new-migration.webp and /dev/null differ diff --git a/assets/images/advanced/using-webhooks/using-webhooks-codeberg-1.webp b/assets/images/advanced/using-webhooks/using-webhooks-codeberg-1.webp deleted file mode 100644 index 2a07991..0000000 Binary files a/assets/images/advanced/using-webhooks/using-webhooks-codeberg-1.webp and /dev/null differ diff --git a/assets/images/advanced/using-webhooks/using-webhooks-codeberg.webp b/assets/images/advanced/using-webhooks/using-webhooks-codeberg.webp deleted file mode 100644 index 0e37217..0000000 Binary files a/assets/images/advanced/using-webhooks/using-webhooks-codeberg.webp and /dev/null differ diff --git a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-2.webp b/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-2.webp deleted file mode 100644 index f6f7802..0000000 Binary files a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-2.webp and /dev/null differ diff --git a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-3.webp b/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-3.webp deleted file mode 100644 index 587fe0c..0000000 Binary files a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-3.webp and /dev/null differ diff --git a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-4.webp b/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-4.webp deleted file mode 100644 index bdcc59d..0000000 Binary files a/assets/images/advanced/using-webhooks/using-webhooks-readthedocs-4.webp and /dev/null differ diff --git a/assets/images/ci/actions/create-new-runner.webp b/assets/images/ci/actions/create-new-runner.webp deleted file mode 100644 index 7f8e2a8..0000000 Binary files a/assets/images/ci/actions/create-new-runner.webp and /dev/null differ diff --git a/assets/images/ci/actions/demo-workflow.webp b/assets/images/ci/actions/demo-workflow.webp deleted file mode 100644 index ba43b22..0000000 Binary files a/assets/images/ci/actions/demo-workflow.webp and /dev/null differ diff --git a/assets/images/codeberg-translate/getting-started/add-component-choose.webp b/assets/images/codeberg-translate/getting-started/add-component-choose.webp deleted file mode 100644 index d2aca8c..0000000 Binary files a/assets/images/codeberg-translate/getting-started/add-component-choose.webp and /dev/null differ diff --git a/assets/images/codeberg-translate/getting-started/add-component.webp b/assets/images/codeberg-translate/getting-started/add-component.webp deleted file mode 100644 index 1eae16b..0000000 Binary files a/assets/images/codeberg-translate/getting-started/add-component.webp and /dev/null differ diff --git a/assets/images/collaborating/citable-code/new-release.webp b/assets/images/collaborating/citable-code/new-release.webp deleted file mode 100644 index b661a46..0000000 Binary files a/assets/images/collaborating/citable-code/new-release.webp and /dev/null differ diff --git a/assets/images/collaborating/citable-code/releases1.webp b/assets/images/collaborating/citable-code/releases1.webp deleted file mode 100644 index 781c494..0000000 Binary files a/assets/images/collaborating/citable-code/releases1.webp and /dev/null differ diff --git a/assets/images/collaborating/citable-code/releases2.webp b/assets/images/collaborating/citable-code/releases2.webp deleted file mode 100644 index b2bf649..0000000 Binary files a/assets/images/collaborating/citable-code/releases2.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/cog.webp b/assets/images/collaborating/create-organization/cog.webp deleted file mode 100644 index 4232ca1..0000000 Binary files a/assets/images/collaborating/create-organization/cog.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/create-orga.webp b/assets/images/collaborating/create-organization/create-orga.webp deleted file mode 100644 index 987cb02..0000000 Binary files a/assets/images/collaborating/create-organization/create-orga.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/dashboard.webp b/assets/images/collaborating/create-organization/dashboard.webp deleted file mode 100644 index 9466b83..0000000 Binary files a/assets/images/collaborating/create-organization/dashboard.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/new-orga.webp b/assets/images/collaborating/create-organization/new-orga.webp deleted file mode 100644 index 7d640c5..0000000 Binary files a/assets/images/collaborating/create-organization/new-orga.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/new-team.webp b/assets/images/collaborating/create-organization/new-team.webp deleted file mode 100644 index 9861508..0000000 Binary files a/assets/images/collaborating/create-organization/new-team.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/orga-settings.webp b/assets/images/collaborating/create-organization/orga-settings.webp deleted file mode 100644 index 970594c..0000000 Binary files a/assets/images/collaborating/create-organization/orga-settings.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/orga.webp b/assets/images/collaborating/create-organization/orga.webp deleted file mode 100644 index 26b5368..0000000 Binary files a/assets/images/collaborating/create-organization/orga.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/people.png b/assets/images/collaborating/create-organization/people.png deleted file mode 100644 index 9a21b94..0000000 Binary files a/assets/images/collaborating/create-organization/people.png and /dev/null differ diff --git a/assets/images/collaborating/create-organization/people.webp b/assets/images/collaborating/create-organization/people.webp deleted file mode 100644 index ff3782a..0000000 Binary files a/assets/images/collaborating/create-organization/people.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/profile.png b/assets/images/collaborating/create-organization/profile.png deleted file mode 100644 index 7b8e324..0000000 Binary files a/assets/images/collaborating/create-organization/profile.png and /dev/null differ diff --git a/assets/images/collaborating/create-organization/profile.webp b/assets/images/collaborating/create-organization/profile.webp deleted file mode 100644 index aa0192a..0000000 Binary files a/assets/images/collaborating/create-organization/profile.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/team-settings.webp b/assets/images/collaborating/create-organization/team-settings.webp deleted file mode 100644 index f914b12..0000000 Binary files a/assets/images/collaborating/create-organization/team-settings.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/teams.webp b/assets/images/collaborating/create-organization/teams.webp deleted file mode 100644 index 31ec1dc..0000000 Binary files a/assets/images/collaborating/create-organization/teams.webp and /dev/null differ diff --git a/assets/images/collaborating/create-organization/view-orga.webp b/assets/images/collaborating/create-organization/view-orga.webp deleted file mode 100644 index 9124e42..0000000 Binary files a/assets/images/collaborating/create-organization/view-orga.webp and /dev/null differ diff --git a/assets/images/collaborating/invite-collaborators/add-collaborator.webp b/assets/images/collaborating/invite-collaborators/add-collaborator.webp deleted file mode 100644 index 592aa3f..0000000 Binary files a/assets/images/collaborating/invite-collaborators/add-collaborator.webp and /dev/null differ diff --git a/assets/images/collaborating/invite-collaborators/collaborator-rights.webp b/assets/images/collaborating/invite-collaborators/collaborator-rights.webp deleted file mode 100644 index ae29758..0000000 Binary files a/assets/images/collaborating/invite-collaborators/collaborator-rights.webp and /dev/null differ diff --git a/assets/images/collaborating/invite-collaborators/settings.webp b/assets/images/collaborating/invite-collaborators/settings.webp deleted file mode 100644 index 390ac44..0000000 Binary files a/assets/images/collaborating/invite-collaborators/settings.webp and /dev/null differ diff --git a/assets/images/collaborating/pull-requests-and-git-flow/pull-request-button.png b/assets/images/collaborating/pull-requests-and-git-flow/pull-request-button.png deleted file mode 100644 index 0c939aa..0000000 Binary files a/assets/images/collaborating/pull-requests-and-git-flow/pull-request-button.png and /dev/null differ diff --git a/assets/images/collaborating/repo-permissions/user-settings-privacy-limited.webp b/assets/images/collaborating/repo-permissions/user-settings-privacy-limited.webp deleted file mode 100644 index 6b86894..0000000 Binary files a/assets/images/collaborating/repo-permissions/user-settings-privacy-limited.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/badge-settings.webp b/assets/images/getting-started/first-repository/badge-settings.webp deleted file mode 100644 index 19bb6d6..0000000 Binary files a/assets/images/getting-started/first-repository/badge-settings.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/badge.webp b/assets/images/getting-started/first-repository/badge.webp deleted file mode 100644 index a09886d..0000000 Binary files a/assets/images/getting-started/first-repository/badge.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/create-repo-2.webp b/assets/images/getting-started/first-repository/create-repo-2.webp deleted file mode 100644 index dcb0721..0000000 Binary files a/assets/images/getting-started/first-repository/create-repo-2.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/create-repo-3.webp b/assets/images/getting-started/first-repository/create-repo-3.webp deleted file mode 100644 index aaf9831..0000000 Binary files a/assets/images/getting-started/first-repository/create-repo-3.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/create-repo.webp b/assets/images/getting-started/first-repository/create-repo.webp deleted file mode 100644 index 95ca3a1..0000000 Binary files a/assets/images/getting-started/first-repository/create-repo.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/hello-world.webp b/assets/images/getting-started/first-repository/hello-world.webp deleted file mode 100644 index 26cdee6..0000000 Binary files a/assets/images/getting-started/first-repository/hello-world.webp and /dev/null differ diff --git a/assets/images/getting-started/first-repository/repo-url.webp b/assets/images/getting-started/first-repository/repo-url.webp deleted file mode 100644 index 6e4d814..0000000 Binary files a/assets/images/getting-started/first-repository/repo-url.webp and /dev/null differ diff --git a/assets/images/getting-started/first-steps/dashboard.webp b/assets/images/getting-started/first-steps/dashboard.webp deleted file mode 100644 index f280bda..0000000 Binary files a/assets/images/getting-started/first-steps/dashboard.webp and /dev/null differ diff --git a/assets/images/getting-started/install-git/win-cred-helper.webp b/assets/images/getting-started/install-git/win-cred-helper.webp deleted file mode 100644 index 9d4dafe..0000000 Binary files a/assets/images/getting-started/install-git/win-cred-helper.webp and /dev/null differ diff --git a/assets/images/getting-started/install-git/win-editor.webp b/assets/images/getting-started/install-git/win-editor.webp deleted file mode 100644 index b9ae0f9..0000000 Binary files a/assets/images/getting-started/install-git/win-editor.webp and /dev/null differ diff --git a/assets/images/getting-started/install-git/win-error-notes.webp b/assets/images/getting-started/install-git/win-error-notes.webp deleted file mode 100644 index ab0170a..0000000 Binary files a/assets/images/getting-started/install-git/win-error-notes.webp and /dev/null differ diff --git a/assets/images/getting-started/install-git/win-path.webp b/assets/images/getting-started/install-git/win-path.webp deleted file mode 100644 index 7519121..0000000 Binary files a/assets/images/getting-started/install-git/win-path.webp and /dev/null differ diff --git a/assets/images/getting-started/install-git/win-run-as-admin.webp b/assets/images/getting-started/install-git/win-run-as-admin.webp deleted file mode 100644 index 005a2fd..0000000 Binary files a/assets/images/getting-started/install-git/win-run-as-admin.webp and /dev/null differ diff --git a/assets/images/getting-started/issue-tracking-basics/issues-list.webp b/assets/images/getting-started/issue-tracking-basics/issues-list.webp deleted file mode 100644 index bb77697..0000000 Binary files a/assets/images/getting-started/issue-tracking-basics/issues-list.webp and /dev/null differ diff --git a/assets/images/git/clone-commit-via-web/clone.webp b/assets/images/git/clone-commit-via-web/clone.webp deleted file mode 100644 index 4df53e6..0000000 Binary files a/assets/images/git/clone-commit-via-web/clone.webp and /dev/null differ diff --git a/assets/images/git/clone-commit-via-web/commit.webp b/assets/images/git/clone-commit-via-web/commit.webp deleted file mode 100644 index 9744c68..0000000 Binary files a/assets/images/git/clone-commit-via-web/commit.webp and /dev/null differ diff --git a/assets/images/git/clone-commit-via-web/edit1.webp b/assets/images/git/clone-commit-via-web/edit1.webp deleted file mode 100644 index 0043e8b..0000000 Binary files a/assets/images/git/clone-commit-via-web/edit1.webp and /dev/null differ diff --git a/assets/images/git/clone-commit-via-web/edit2.webp b/assets/images/git/clone-commit-via-web/edit2.webp deleted file mode 100644 index e94a4d7..0000000 Binary files a/assets/images/git/clone-commit-via-web/edit2.webp and /dev/null differ diff --git a/assets/images/git/using-tags/tags.webp b/assets/images/git/using-tags/tags.webp deleted file mode 100644 index 8adf4a9..0000000 Binary files a/assets/images/git/using-tags/tags.webp and /dev/null differ diff --git a/assets/images/integrations/keycloak/finish-keycloak-configuration.webp b/assets/images/integrations/keycloak/finish-keycloak-configuration.webp deleted file mode 100644 index 7cc0619..0000000 Binary files a/assets/images/integrations/keycloak/finish-keycloak-configuration.webp and /dev/null differ diff --git a/assets/images/integrations/keycloak/identity-providers.webp b/assets/images/integrations/keycloak/identity-providers.webp deleted file mode 100644 index c17166c..0000000 Binary files a/assets/images/integrations/keycloak/identity-providers.webp and /dev/null differ diff --git a/assets/images/integrations/keycloak/manage-oauth2-applications.webp b/assets/images/integrations/keycloak/manage-oauth2-applications.webp deleted file mode 100644 index bcbbaf9..0000000 Binary files a/assets/images/integrations/keycloak/manage-oauth2-applications.webp and /dev/null differ diff --git a/assets/images/integrations/keycloak/new-oauth2-application.webp b/assets/images/integrations/keycloak/new-oauth2-application.webp deleted file mode 100644 index 6e9f8e4..0000000 Binary files a/assets/images/integrations/keycloak/new-oauth2-application.webp and /dev/null differ diff --git a/assets/images/integrations/keycloak/redirect-uri.webp b/assets/images/integrations/keycloak/redirect-uri.webp deleted file mode 100644 index 9c0c48c..0000000 Binary files a/assets/images/integrations/keycloak/redirect-uri.webp and /dev/null differ diff --git a/assets/images/integrations/liberapay/profile.webp b/assets/images/integrations/liberapay/profile.webp deleted file mode 100644 index e67140c..0000000 Binary files a/assets/images/integrations/liberapay/profile.webp and /dev/null differ diff --git a/assets/images/integrations/liberapay/shields_widgets.webp b/assets/images/integrations/liberapay/shields_widgets.webp deleted file mode 100644 index 4fde895..0000000 Binary files a/assets/images/integrations/liberapay/shields_widgets.webp and /dev/null differ diff --git a/assets/images/integrations/liberapay/widgets.webp b/assets/images/integrations/liberapay/widgets.webp deleted file mode 100644 index 2c5a268..0000000 Binary files a/assets/images/integrations/liberapay/widgets.webp and /dev/null differ diff --git a/assets/images/integrations/matrix/webhooks.webp b/assets/images/integrations/matrix/webhooks.webp deleted file mode 100644 index bbdbc7d..0000000 Binary files a/assets/images/integrations/matrix/webhooks.webp and /dev/null differ diff --git a/assets/images/integrations/read-the-docs/add-webhook.webp b/assets/images/integrations/read-the-docs/add-webhook.webp deleted file mode 100644 index af1fb53..0000000 Binary files a/assets/images/integrations/read-the-docs/add-webhook.webp and /dev/null differ diff --git a/assets/images/integrations/read-the-docs/admin-integrations.webp b/assets/images/integrations/read-the-docs/admin-integrations.webp deleted file mode 100644 index 62ecfeb..0000000 Binary files a/assets/images/integrations/read-the-docs/admin-integrations.webp and /dev/null differ diff --git a/assets/images/integrations/read-the-docs/forgejo-webhook.webp b/assets/images/integrations/read-the-docs/forgejo-webhook.webp deleted file mode 100644 index 598480a..0000000 Binary files a/assets/images/integrations/read-the-docs/forgejo-webhook.webp and /dev/null differ diff --git a/assets/images/integrations/read-the-docs/github-integration.webp b/assets/images/integrations/read-the-docs/github-integration.webp deleted file mode 100644 index f656ab4..0000000 Binary files a/assets/images/integrations/read-the-docs/github-integration.webp and /dev/null differ diff --git a/assets/images/integrations/read-the-docs/import-manual.webp b/assets/images/integrations/read-the-docs/import-manual.webp deleted file mode 100644 index c911d84..0000000 Binary files a/assets/images/integrations/read-the-docs/import-manual.webp and /dev/null differ diff --git a/assets/images/security/2fa/applications.webp b/assets/images/security/2fa/applications.webp deleted file mode 100644 index 88fc073..0000000 Binary files a/assets/images/security/2fa/applications.webp and /dev/null differ diff --git a/assets/images/security/2fa/qr-scan.webp b/assets/images/security/2fa/qr-scan.webp deleted file mode 100644 index 3812b28..0000000 Binary files a/assets/images/security/2fa/qr-scan.webp and /dev/null differ diff --git a/assets/images/security/2fa/scratch-token.webp b/assets/images/security/2fa/scratch-token.webp deleted file mode 100644 index 0fffaba..0000000 Binary files a/assets/images/security/2fa/scratch-token.webp and /dev/null differ diff --git a/assets/images/security/2fa/security-settings.webp b/assets/images/security/2fa/security-settings.webp deleted file mode 100644 index faa010d..0000000 Binary files a/assets/images/security/2fa/security-settings.webp and /dev/null differ diff --git a/assets/images/security/2fa/token-created.webp b/assets/images/security/2fa/token-created.webp deleted file mode 100644 index 126711b..0000000 Binary files a/assets/images/security/2fa/token-created.webp and /dev/null differ diff --git a/assets/images/security/2fa/webauthn-nick.webp b/assets/images/security/2fa/webauthn-nick.webp deleted file mode 100644 index 73db476..0000000 Binary files a/assets/images/security/2fa/webauthn-nick.webp and /dev/null differ diff --git a/assets/images/security/ssh-key/add-ssh-key.webp b/assets/images/security/ssh-key/add-ssh-key.webp deleted file mode 100644 index 6ccf02d..0000000 Binary files a/assets/images/security/ssh-key/add-ssh-key.webp and /dev/null differ diff --git a/assets/images/security/user-settings.webp b/assets/images/security/user-settings.webp deleted file mode 100644 index 5d1e799..0000000 Binary files a/assets/images/security/user-settings.webp and /dev/null differ diff --git a/assets/js/index.js b/assets/js/index.js new file mode 100644 index 0000000..a718f8a --- /dev/null +++ b/assets/js/index.js @@ -0,0 +1,25 @@ +if (localStorage.getItem('theme') === 'light') { + document.documentElement.setAttribute('data-bs-theme', 'light'); +} + +function toggleDarkMode() { + const rootPreference = document.documentElement.getAttribute('data-bs-theme'); + if (rootPreference === 'light') { + document.documentElement.setAttribute('data-bs-theme', 'dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.setAttribute('data-bs-theme', 'light'); + localStorage.setItem('theme', 'light'); + } +} + +function toggleSidebar() { + const sidebarEl = document.querySelector('.sidebar'); + if (sidebarEl.classList.contains('show')) { + sidebarEl.classList.remove('show'); + sidebarEl.classList.add('hiding'); + } else { + sidebarEl.classList.remove('hiding'); + sidebarEl.classList.add('show'); + } +} diff --git a/container-init.sh b/container-init.sh new file mode 100755 index 0000000..27dc8f0 --- /dev/null +++ b/container-init.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +# This script allows developers to easily build and preview the +# Codeberg documentation locally when using containers. +pnpm install +pnpm run dev diff --git a/content/_includes/contribution_invitation.njk b/content/_includes/contribution_invitation.njk index bae670c..95557e3 100644 --- a/content/_includes/contribution_invitation.njk +++ b/content/_includes/contribution_invitation.njk @@ -1,16 +1,21 @@
-

Hey there! 👋 Thank you for reading this article!

-

- Is there something missing, or do you have an idea on how to improve the documentation? - Do you want to write your own article? -

-

- You're invited to contribute to the Codeberg Documentation at its source code repository, - for example, by adding a pull request - or joining in on the discussion in the issue tracker. -

-

- For an introduction on contributing to Codeberg Documentation, please have a look - at the Contributor FAQ. -

+
+
Contributing
+
+

Hey there! 👋 Thank you for reading this article!

+

+ Is there something missing, or do you have an idea on how to improve the documentation? + Do you want to write your own article? +

+

+ You're invited to contribute to the Codeberg Documentation at its source code repository + for example, by adding a pull request + or joining in on the discussion in the issue tracker. +

+

+ For an introduction on contributing to Codeberg Documentation, please have a look + at the Contributor FAQ. +

+
+
diff --git a/content/_includes/default_layout.njk b/content/_includes/default_layout.njk index 230c1f0..e250482 100644 --- a/content/_includes/default_layout.njk +++ b/content/_includes/default_layout.njk @@ -1,5 +1,5 @@ - + {% if eleventyNavigation.title %}{{ eleventyNavigation.title }} | {% endif %}Codeberg Documentation @@ -17,14 +17,11 @@ - - - - - + + @@ -73,138 +70,160 @@ // @license-end {% endif %} + - - {% include 'license.njk' %} -
- - -
-
-
-
- {% if eleventyNavigation.title %} -

{{ eleventyNavigation.title }}

- {% endif %} {% if eleventyNavigation.draft %} - Please note that this article is still a draft and might not have any contents yet. - {% endif %} {% include 'toc-collapse.njk' %} - {{ content | safe }} -
- {% if page.url != '/' %} {% include 'contribution_invitation.njk' %} {% endif %} -
-

© Codeberg Docs Contributors. See LICENSE

-
-
- {% include 'toc-side.njk' %} +
+
+
+ {% if eleventyNavigation.title %} +

{{ eleventyNavigation.title }}

+ {% endif %} {% if eleventyNavigation.draft %} + Please note that this article is still a draft and might not have any contents yet. + {% endif %} + +
+ {% include 'toc-collapse.njk' %} + {{ content | safe }}
-
+ {% include 'contribution_invitation.njk' %} + + {% include 'toc-side.njk' %}
+ +
+
+

+ © Codeberg Docs Contributors. See + LICENSE +

+
+
diff --git a/content/_includes/license.njk b/content/_includes/license.njk deleted file mode 100644 index 41f0b9f..0000000 --- a/content/_includes/license.njk +++ /dev/null @@ -1,36 +0,0 @@ - diff --git a/content/_includes/toc-collapse.njk b/content/_includes/toc-collapse.njk index 3e9c390..ea9a547 100644 --- a/content/_includes/toc-collapse.njk +++ b/content/_includes/toc-collapse.njk @@ -1,10 +1,11 @@ {% if content | toc %}