Compare commits
307 commits
gitea-icon
...
main
Author | SHA1 | Date | |
---|---|---|---|
2d9da16b4b | |||
958ae25b8b | |||
193b4cf639 | |||
74e8925bec | |||
72c195924b | |||
52dd22ef8e | |||
1b84cd41a4 | |||
65e44a8cfa | |||
d7197f935a | |||
c12e26e446 | |||
c7a2a29c7f | |||
3cab99a27f | |||
c6c7b418e7 | |||
0d872ea674 | |||
da1b77aa6a | |||
8f5231283e | |||
8bd521c7f6 | |||
adbagio | 79d2ac2682 | ||
adagio | ca0475ad93 | ||
8e0118c9c5 | |||
51da37c7d4 | |||
d475852dc2 | |||
60d471874b | |||
0b3c45ce4b | |||
91bc7ec69f | |||
Gusted | adf276bea6 | ||
b9a17086c9 | |||
Earl Warren | 465aaaa107 | ||
7a9017e760 | |||
2ce0c26e3d | |||
d852c5ac0d | |||
364a316007 | |||
85d333f48b | |||
d5f6f22999 | |||
2b85a21e70 | |||
8a32b7cec9 | |||
6c2ced0ab3 | |||
d13287b3a8 | |||
1de25174bc | |||
4a11765382 | |||
bf5fe32d6a | |||
b7f25f1431 | |||
79d5804969 | |||
6c05b15edb | |||
ca4290e697 | |||
f0408b2c6a | |||
Gusted | 1925a19f11 | ||
f499322a61 | |||
55a504e33a | |||
57b888bd6c | |||
966404aa5c | |||
8386857b1c | |||
9a19c900e3 | |||
a6a0a1c9ba | |||
e4ea4343ab | |||
df95d70243 | |||
e9748990e2 | |||
7bb8fa5ca5 | |||
b234b71bb7 | |||
536884cd59 | |||
3261f41b63 | |||
7c15ec5243 | |||
b17bda7c61 | |||
1403a81d75 | |||
51c394cd3b | |||
092ae8e74c | |||
3e3dbf8dd3 | |||
68d5b2a9a0 | |||
a27a71bf0f | |||
d55c1397f7 | |||
91fbf7a9a0 | |||
51ea0f2bf1 | |||
836ce8e83b | |||
37b507b6f7 | |||
a21dbdd678 | |||
5d457efc06 | |||
dd6d870c69 | |||
77bfb6cc15 | |||
a25f81e9a2 | |||
a9d53ca7cb | |||
89538796b4 | |||
1984032bdd | |||
ff8910c5ee | |||
065c065e09 | |||
8fe5dd27d6 | |||
2887826c38 | |||
e91d2ea42e | |||
95574213ea | |||
ebdccd0c67 | |||
9c4533497b | |||
447946f70b | |||
38f5587a17 | |||
Loïc Dachary | bb020e98e8 | ||
Loïc Dachary | 109622e1ea | ||
Loïc Dachary | 67236e8b2d | ||
08986833f7 | |||
4c425e13a4 | |||
08d985108d | |||
448fd740df | |||
e52d13f76b | |||
669f227ca9 | |||
d182737311 | |||
d42e22f64c | |||
9b8b8889ca | |||
51570538fd | |||
1e341a0845 | |||
d34e73a2b6 | |||
7a9528cfff | |||
9b31a3da09 | |||
3cac95303e | |||
ceec82002b | |||
7fba31ab1d | |||
b0b19675f2 | |||
45473fb409 | |||
225f1265c1 | |||
b4fd4812aa | |||
98c40b8a07 | |||
f2e24e5aff | |||
7a4a4e0e11 | |||
9ab38dd3f9 | |||
0df8736a85 | |||
727dd73f77 | |||
9787d990ea | |||
71e01038c5 | |||
d5ef600ae9 | |||
fecb990686 | |||
196fea69f3 | |||
7115b4976e | |||
f7e3e24d3a | |||
f586d658f0 | |||
9148212898 | |||
74e7f20346 | |||
df6195e156 | |||
ffc5878fb4 | |||
7b5313609b | |||
cff34e1a03 | |||
3b3aa2f5b3 | |||
f85f9e601a | |||
6841251d1a | |||
0483a1ff6d | |||
8b7b5ffcf8 | |||
3fb270ad28 | |||
bc300e5caa | |||
fbd05b0037 | |||
db5724f0b9 | |||
274558d54f | |||
1ffa52cdb3 | |||
8b4e0f9317 | |||
d1e4479d76 | |||
47cac91c20 | |||
74cf963ee5 | |||
fd4f7d0567 | |||
d6e691468e | |||
641b525087 | |||
adb83d680d | |||
b13f0c6c81 | |||
830a8b8680 | |||
ba0725129c | |||
9bb3136a20 | |||
b276cfcca9 | |||
69eeb5ba54 | |||
c7bded99df | |||
1ace475965 | |||
967b0cd7bd | |||
fb110be468 | |||
6503ebfd33 | |||
a99d6f424e | |||
2460e87199 | |||
1726ed1620 | |||
9ed1af425c | |||
5a1fdc201e | |||
8b5ab8067e | |||
9aeb95c4e7 | |||
2e087e8c0c | |||
3f80cb2d48 | |||
3f6c3779ad | |||
a829d17b10 | |||
5d3450e98d | |||
9e3acf9f44 | |||
5f022adfc6 | |||
3b3309a90e | |||
aef207d02a | |||
f7af41421b | |||
5bdac45ee5 | |||
29cae330d0 | |||
ca68a77a76 | |||
b46c8321dd | |||
fa47455b9e | |||
7679e34b9e | |||
429c0ee52e | |||
84927fd532 | |||
eec4dd6085 | |||
db9f81fb39 | |||
5e8f81b174 | |||
70f94b2ee0 | |||
cd12cbf78c | |||
6b53d9cf23 | |||
de72273544 | |||
a53a187ee3 | |||
fd44b5335f | |||
93975e5d93 | |||
0e30fb4fe8 | |||
dd2d720c41 | |||
619aa91f52 | |||
155db25dd0 | |||
2bda61e74d | |||
f1552640e8 | |||
17cc1bfc96 | |||
ec5228bbf5 | |||
707619f2a6 | |||
9a355bb8c9 | |||
b585d2f989 | |||
c06926aa0a | |||
94c068a557 | |||
3260bc265d | |||
982842a9a9 | |||
f77fc97525 | |||
f4a400d555 | |||
3e9d9b87a8 | |||
70db4885ed | |||
5dfe62bb8b | |||
cdb301cc29 | |||
74e4a182b3 | |||
724fb04ad7 | |||
7359aa4c2b | |||
02d12744c6 | |||
81fda8059c | |||
608da3f36d | |||
e9544af6df | |||
33c06996fe | |||
db0fea45a2 | |||
da549f6a23 | |||
5692bc9bce | |||
779f959db8 | |||
04ccf15750 | |||
ff261b380c | |||
11310c0476 | |||
53549c7b55 | |||
288d5834af | |||
b1a71be11a | |||
aaf58c97c4 | |||
9a211dc2d2 | |||
6839d4119c | |||
edae9a08e8 | |||
8b2fced63f | |||
4fcfcfdc8d | |||
170914185d | |||
b4537c4ae4 | |||
e350d2b447 | |||
03a5886fad | |||
65ddf24687 | |||
d503814095 | |||
190be05ba4 | |||
f47d29ebc2 | |||
2f9c5bbbf1 | |||
681a5f6d2a | |||
ae684fbad4 | |||
1c7e459bd0 | |||
217668e3b1 | |||
9501efb4d1 | |||
341cb8d745 | |||
2686c4725e | |||
1557f2b3d8 | |||
740cb20b58 | |||
4f8a7f7b84 | |||
0ab2b71ad7 | |||
ed179df4ef | |||
1029d9c370 | |||
e8e3e0a0b7 | |||
07c7a69f69 | |||
92f28dd628 | |||
75c9cd1d13 | |||
837a168192 | |||
8bfc18cf17 | |||
68563215a4 | |||
ed1ebc8b0d | |||
a717ed6fe7 | |||
40611df5ec | |||
79463b300e | |||
1ed1368487 | |||
0c4d6e0e09 | |||
6b69ffc846 | |||
bf46e692f8 | |||
5ea6b723e8 | |||
6460768b39 | |||
dd7f953e1d | |||
d33e360dbc | |||
054c6bfd33 | |||
1f71f669f4 | |||
4a01d7ca23 | |||
acd7bd1ace | |||
bc8f4b16a3 | |||
686bfc5978 | |||
fa7a04afa7 | |||
7df2b4c8eb | |||
0a26d11e4d | |||
2aab93f738 | |||
ef00090cd4 | |||
09659373e7 | |||
6c4088fe69 | |||
d545fd3dbc | |||
e26265cf78 | |||
b82d39de3e | |||
9c2bc355db | |||
54a921b0cd | |||
b155792237 | |||
027d5faa17 |
142
.cspell.json
Normal file
|
@ -0,0 +1,142 @@
|
|||
{
|
||||
"version": "0.2",
|
||||
"language": "en",
|
||||
"dictionaries": [
|
||||
// language
|
||||
"en_us",
|
||||
// code
|
||||
"go",
|
||||
"node",
|
||||
// package names
|
||||
"npm"
|
||||
],
|
||||
"words": [
|
||||
"codeberg",
|
||||
"editview",
|
||||
"forgejo",
|
||||
"gitea",
|
||||
"keycloak",
|
||||
"knut",
|
||||
"nord",
|
||||
"orga",
|
||||
"pageview",
|
||||
"styleguide",
|
||||
"tydata",
|
||||
"webauthn",
|
||||
"weblate",
|
||||
"webp",
|
||||
"xclip",
|
||||
"endfor",
|
||||
"pagefind",
|
||||
"mray",
|
||||
"keypair",
|
||||
"gpgsign",
|
||||
"signinkey",
|
||||
"srcset",
|
||||
"endadmonition",
|
||||
"TOTP",
|
||||
"Setext",
|
||||
"Marlroy",
|
||||
"preformatting",
|
||||
"endfor",
|
||||
"Goldmark",
|
||||
"Homeserver",
|
||||
"subpage",
|
||||
"PKCE",
|
||||
"block",
|
||||
"keyid",
|
||||
"pubring",
|
||||
"signingkey",
|
||||
"Browsersync",
|
||||
"endraw",
|
||||
"callouts",
|
||||
"libwebp",
|
||||
"cwebp",
|
||||
"Kesi",
|
||||
"IBAN",
|
||||
"SEPA",
|
||||
"fileorpathname",
|
||||
"oneline",
|
||||
"eins",
|
||||
"zwei",
|
||||
"Commitvia",
|
||||
"knuts",
|
||||
"Hostable",
|
||||
"disroot",
|
||||
"hostable",
|
||||
"LICENCE",
|
||||
"browsable",
|
||||
"homebrewed",
|
||||
"libera",
|
||||
"jumpstart",
|
||||
"Figshare",
|
||||
"Zenodo",
|
||||
"gettext",
|
||||
"colormix",
|
||||
"frida",
|
||||
"reponame",
|
||||
"yourdomain",
|
||||
"myproject",
|
||||
"branchname",
|
||||
"venv",
|
||||
"mydocs",
|
||||
"Hassani",
|
||||
"Alami",
|
||||
"Fayçal",
|
||||
"toctree",
|
||||
"Malroy",
|
||||
"Wrzx",
|
||||
"pacman",
|
||||
"xbps",
|
||||
"GENODEF",
|
||||
"netcup",
|
||||
"YOURCODEBERGUSERNAME",
|
||||
"respository",
|
||||
"mynewfile",
|
||||
"docstrings",
|
||||
"autodoc",
|
||||
"quickstart",
|
||||
"virtualenv",
|
||||
"dind",
|
||||
"Packagist",
|
||||
"Feishu",
|
||||
"Gogs",
|
||||
"noreferrer",
|
||||
"tabindex",
|
||||
"CERTDIR",
|
||||
"nbsp",
|
||||
"lycheeverse",
|
||||
"mstruebing",
|
||||
"davidanson",
|
||||
"pipelinecomponents",
|
||||
"corepack"
|
||||
],
|
||||
"ignorePaths": [
|
||||
"**/node_modules/**/*",
|
||||
"*.webp",
|
||||
"*.png",
|
||||
".git/**/*",
|
||||
".gitignore",
|
||||
"pnpm-lock.yaml",
|
||||
"package.json",
|
||||
"*.svg",
|
||||
"*.css",
|
||||
"*.js",
|
||||
"*.njk",
|
||||
".cspell.json"
|
||||
],
|
||||
// Exclude imports, because they are also strings.
|
||||
"ignoreRegExpList": [
|
||||
// ignore mulltiline imports
|
||||
"import\\s*\\((.|[\r\n])*?\\)",
|
||||
// ignore single line imports
|
||||
"import\\s*.*\".*?\"",
|
||||
// ignore go generate directive
|
||||
"//\\s*go:generate.*",
|
||||
// ignore nolint directive
|
||||
"//\\s*nolint:.*",
|
||||
// ignore docker image names
|
||||
"\\s*docker\\.io/.*"
|
||||
],
|
||||
"enableFiletypes": ["dockercompose"]
|
||||
}
|
17
.editorconfig
Normal file
|
@ -0,0 +1,17 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
indent_size = 1
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
91
.eleventy.js
|
@ -1,18 +1,85 @@
|
|||
const navigationPlugin = require("@11ty/eleventy-navigation")
|
||||
const syntaxHighlightingPlugin = require("@11ty/eleventy-plugin-syntaxhighlight")
|
||||
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)
|
||||
module.exports = function (eleventyConfig) {
|
||||
eleventyConfig.addPlugin(navigationPlugin);
|
||||
eleventyConfig.addPlugin(syntaxHighlightingPlugin);
|
||||
|
||||
eleventyConfig.addPassthroughCopy("assets")
|
||||
eleventyConfig.addPassthroughCopy("fonts")
|
||||
eleventyConfig.addPassthroughCopy('assets');
|
||||
eleventyConfig.addPassthroughCopy('fonts');
|
||||
|
||||
eleventyConfig.addShortcode("fas_icon", function(name) { return `<span class="fas fa-${name}"></span>` })
|
||||
// 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 `<div class="admonition${type ? ` ${type.toLowerCase()}` : ''}">
|
||||
<div class="admonition-title">
|
||||
<span class="admonition-icon${type ? ` ${type.toLowerCase()}` : ''}"></span>
|
||||
${titleStr}
|
||||
</div>
|
||||
<div class="admonition-content">${content}</div>
|
||||
</div>`;
|
||||
});
|
||||
|
||||
eleventyConfig.addPlugin(tableOfContentsPlugin, {
|
||||
tags: ['h2', 'h3'],
|
||||
wrapper: function (toc) {
|
||||
toc = toc.replaceAll('<a', "<a class='sidebar-link'");
|
||||
return `${toc}`;
|
||||
},
|
||||
});
|
||||
|
||||
eleventyConfig.on('eleventy.after', () => {
|
||||
execSync(`npx pagefind`, { encoding: 'utf-8' });
|
||||
});
|
||||
|
||||
return {
|
||||
dir: {
|
||||
input: "content"
|
||||
}
|
||||
}
|
||||
}
|
||||
input: 'content',
|
||||
},
|
||||
};
|
||||
};
|
||||
|
|
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
node_modules/
|
||||
_site/
|
||||
pages.git/
|
||||
.idea/
|
||||
|
|
8
.lycheeignore
Normal file
|
@ -0,0 +1,8 @@
|
|||
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/**
|
141
.markdownlint.yaml
Normal file
|
@ -0,0 +1,141 @@
|
|||
# markdownlint YAML configuration
|
||||
# https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml
|
||||
|
||||
# Default state for all rules
|
||||
default: true
|
||||
|
||||
# Path to configuration file to extend
|
||||
extends: null
|
||||
|
||||
# MD003/heading-style/header-style - Heading style
|
||||
MD003:
|
||||
# Heading style
|
||||
style: 'atx'
|
||||
|
||||
# MD004/ul-style - Unordered list style
|
||||
MD004:
|
||||
style: 'dash'
|
||||
|
||||
# MD007/ul-indent - Unordered list indentation
|
||||
MD007:
|
||||
# Spaces for indent
|
||||
indent: 2
|
||||
# Whether to indent the first level of the list
|
||||
start_indented: false
|
||||
|
||||
# MD009/no-trailing-spaces - Trailing spaces
|
||||
MD009:
|
||||
# Spaces for line break
|
||||
br_spaces: 2
|
||||
# Allow spaces for empty lines in list items
|
||||
list_item_empty_lines: false
|
||||
# Include unnecessary breaks
|
||||
strict: false
|
||||
|
||||
# MD010/no-hard-tabs - Hard tabs
|
||||
MD010:
|
||||
# Include code blocks
|
||||
code_blocks: true
|
||||
|
||||
# MD012/no-multiple-blanks - Multiple consecutive blank lines
|
||||
MD012:
|
||||
# Consecutive blank lines
|
||||
maximum: 1
|
||||
|
||||
# MD013/line-length - Line length
|
||||
MD013:
|
||||
# Number of characters
|
||||
line_length: 500
|
||||
# Number of characters for headings
|
||||
heading_line_length: 100
|
||||
# Number of characters for code blocks
|
||||
code_block_line_length: 80
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
# Include tables
|
||||
tables: false
|
||||
# Include headings
|
||||
headings: true
|
||||
# Include headings
|
||||
headers: true
|
||||
# Strict length checking
|
||||
strict: false
|
||||
# Stern length checking
|
||||
stern: false
|
||||
|
||||
# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
|
||||
MD022:
|
||||
# Blank lines above heading
|
||||
lines_above: 1
|
||||
# Blank lines below heading
|
||||
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
|
||||
|
||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||
MD025:
|
||||
# Heading level
|
||||
level: 1
|
||||
# RegExp for matching title in front matter
|
||||
front_matter_title: "^\\s*title\\s*[:=]"
|
||||
|
||||
# MD026/no-trailing-punctuation - Trailing punctuation in heading
|
||||
MD026:
|
||||
# Punctuation characters
|
||||
punctuation: '.,;:!。,;:!'
|
||||
|
||||
# MD029/ol-prefix - Ordered list item prefix
|
||||
MD029:
|
||||
# List style
|
||||
style: 'one_or_ordered'
|
||||
|
||||
# MD030/list-marker-space - Spaces after list markers
|
||||
MD030:
|
||||
# Spaces for single-line unordered list items
|
||||
ul_single: 1
|
||||
# Spaces for single-line ordered list items
|
||||
ol_single: 1
|
||||
# Spaces for multi-line unordered list items
|
||||
ul_multi: 1
|
||||
# Spaces for multi-line ordered list items
|
||||
ol_multi: 1
|
||||
|
||||
# MD033/no-inline-html - Inline HTML
|
||||
MD033: false
|
||||
|
||||
# MD035/hr-style - Horizontal rule style
|
||||
MD035:
|
||||
# Horizontal rule style
|
||||
style: '---'
|
||||
|
||||
# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading
|
||||
MD036:
|
||||
# Punctuation characters
|
||||
punctuation: '.,;:!?。,;:!?'
|
||||
|
||||
# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
|
||||
MD041:
|
||||
# Heading level
|
||||
level: 1
|
||||
# RegExp for matching title in front matter
|
||||
front_matter_title: "^\\s*title\\s*[:=]"
|
||||
|
||||
# MD044/proper-names - Proper names should have the correct capitalization
|
||||
MD044:
|
||||
# List of proper names
|
||||
# names:
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
|
||||
# MD046/code-block-style - Code block style
|
||||
MD046:
|
||||
# Block style
|
||||
style: 'fenced'
|
||||
|
||||
# MD048/code-fence-style - Code fence style
|
||||
MD048:
|
||||
# Code fence style
|
||||
style: 'backtick'
|
1
.prettierignore
Normal file
|
@ -0,0 +1 @@
|
|||
pnpm-lock.yaml
|
8
.prettierrc.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"semi": true,
|
||||
"trailingComma": "all",
|
||||
"singleQuote": true,
|
||||
"printWidth": 120,
|
||||
"tabWidth": 2,
|
||||
"endOfLine": "lf"
|
||||
}
|
14
.woodpecker/build.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
when:
|
||||
- event: [pull_request]
|
||||
- event: push
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
steps:
|
||||
build:
|
||||
image: codeberg.org/woodpecker-plugins/node-pm:1.3.0
|
||||
settings:
|
||||
run: build
|
||||
with: pnpm
|
||||
frozen_lockfile: true
|
||||
ignore_node_modules: true
|
29
.woodpecker/deploy-preview.yaml
Normal file
|
@ -0,0 +1,29 @@
|
|||
when:
|
||||
- event: [pull_request, pull_request_closed]
|
||||
|
||||
steps:
|
||||
build:
|
||||
image: codeberg.org/woodpecker-plugins/node-pm
|
||||
settings:
|
||||
run: build
|
||||
with: pnpm
|
||||
frozen_lockfile: true
|
||||
ignore_node_modules: true
|
||||
|
||||
deploy-preview:
|
||||
image: docker.io/woodpeckerci/plugin-surge-preview:1.3.1
|
||||
settings:
|
||||
path: '_site/'
|
||||
forge_type: gitea
|
||||
forge_url: https://codeberg.org
|
||||
surge_token:
|
||||
from_secret: surge_token
|
||||
forge_repo_token:
|
||||
from_secret: surge_forge_token
|
||||
failure: ignore
|
||||
when:
|
||||
event: [pull_request, pull_request_closed]
|
||||
path:
|
||||
- content/**
|
||||
- assets/**
|
||||
- .eleventy.js
|
44
.woodpecker/lint.yaml
Normal file
|
@ -0,0 +1,44 @@
|
|||
when:
|
||||
- event: [pull_request]
|
||||
- event: push
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
steps:
|
||||
lint-markdown:
|
||||
image: davidanson/markdownlint-cli2:v0.13.0
|
||||
commands:
|
||||
- 'markdownlint-cli2 *.{md,markdown}'
|
||||
when:
|
||||
path: '*.{md,markdown}'
|
||||
|
||||
editor-config:
|
||||
image: mstruebing/editorconfig-checker:v3.0.1
|
||||
depends_on: []
|
||||
|
||||
prettier:
|
||||
image: docker.io/woodpeckerci/plugin-prettier:0.1.0
|
||||
depends_on: []
|
||||
settings:
|
||||
version: 3.2.5
|
||||
|
||||
links:
|
||||
image: lycheeverse/lychee:0.14.3
|
||||
depends_on: []
|
||||
commands:
|
||||
- lychee -v -t 40 .
|
||||
|
||||
lint-yaml:
|
||||
image: pipelinecomponents/yamllint:0.31.2
|
||||
depends_on: []
|
||||
commands:
|
||||
- yamllint --strict .
|
||||
when:
|
||||
path: '*.{yml,yaml}'
|
||||
|
||||
spellcheck:
|
||||
image: docker.io/node:22-alpine
|
||||
depends_on: []
|
||||
commands:
|
||||
- corepack enable
|
||||
- pnpx cspell lint --no-progress --gitignore '{**,.*}/{*,.*}'
|
21
.yamllint.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
ignore: |
|
||||
pnpm-lock.yaml
|
||||
node_modules/
|
||||
|
||||
rules:
|
||||
comments:
|
||||
require-starting-space: false
|
||||
ignore-shebangs: true
|
||||
min-spaces-from-content: 1
|
||||
braces:
|
||||
min-spaces-inside: 1
|
||||
max-spaces-inside: 1
|
||||
document-start:
|
||||
present: false
|
||||
indentation:
|
||||
spaces: 2
|
||||
indent-sequences: true
|
||||
line-length:
|
||||
max: 256
|
||||
new-lines:
|
||||
type: unix
|
|
@ -1,13 +0,0 @@
|
|||
# The Codeberg Documentation Contributors
|
||||
|
||||
In alphabetic order (by last name / username):
|
||||
|
||||
- Martijn de Boer (@sexybiggetje)
|
||||
- Christian Buhtz (@buhtz)
|
||||
- Ivan Calandra (@ivan-paleo)
|
||||
- Ben Cotterell (@benc)
|
||||
- Lucas Hinderberger (@lhinderberger)
|
||||
- Henning Jacobs (@hjacobs)
|
||||
- @mray (for the Codeberg Logo)
|
||||
- @n
|
||||
- Holger Waechtler (@hw)
|
16
Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
FROM node:12.22.12-stretch-slim
|
||||
|
||||
RUN apt-get update && apt-get -y upgrade
|
||||
|
||||
RUN apt-get install -y git curl
|
||||
RUN curl -fsSL https://get.pnpm.io/install.sh | sh -
|
||||
|
||||
RUN mkdir /opt/documentation && chown node: /opt/documentation
|
||||
|
||||
USER node
|
||||
|
||||
WORKDIR /opt/documentation
|
||||
|
||||
RUN pnpm install
|
||||
|
||||
CMD [ "pnpm", "run", "serve"]
|
18
LICENSE.md
|
@ -1,13 +1,19 @@
|
|||
This website by [The Codeberg Documentation Contributors](CONTRIBUTORS.md)
|
||||
is licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en).
|
||||
<!-- markdownlint-disable MD041 -->
|
||||
|
||||
This website is licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en).
|
||||
|
||||
Due to the wiki-like nature of this website, pages usually have multiple authors and are changed
|
||||
frequently. Changes to the original versions of the works as well as their individual authors can be
|
||||
looked up in [the website's commit history](https://codeberg.org/Codeberg/Documentation/commits/branch/master).
|
||||
looked up in [the website's commit history](https://codeberg.org/Codeberg/Documentation/commits/branch/main).
|
||||
|
||||
The Codeberg logos in this website are by mray,
|
||||
licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en).
|
||||
The Codeberg logos in this website are by @mray,
|
||||
licensed under [CC0 1.0](http://creativecommons.org/publicdomain/zero/1.0/).
|
||||
|
||||
The fonts in this website are documented on the [Codeberg Design repo](https://codeberg.org/Codeberg/Design#font-inter).
|
||||
|
||||
The icons in this website are by [Font Awesome](https://github.com/FortAwesome/Font-Awesome),
|
||||
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, 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
|
||||
|
|
64
README.md
|
@ -1,28 +1,30 @@
|
|||
# Codeberg Documentation
|
||||
This repository contains the documentation for Codeberg, with some code to build it into
|
||||
|
||||
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!
|
||||
|
||||
For an introduction on contributing to Codeberg Documentation, please have a look
|
||||
at [the Contributor FAQ](https://docs.codeberg.org/improving-codeberg/docs-contributor-faq)
|
||||
|
||||
at [the section on improving the documentation](https://docs.codeberg.org/improving-documentation/).
|
||||
|
||||
## Usage
|
||||
|
||||
### Local Development
|
||||
|
||||
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.
|
||||
|
||||
First, run
|
||||
|
||||
```npm install```
|
||||
`pnpm install`
|
||||
|
||||
to install all dependencies (they will be installed only for this project, not globally).
|
||||
You only have to do this once.
|
||||
|
||||
Then run
|
||||
|
||||
```npm run serve```
|
||||
`pnpm run serve`
|
||||
|
||||
to start a development web server that by default is listening at `http://localhost:8080`.
|
||||
|
||||
|
@ -32,30 +34,72 @@ should automatically reload all changed pages using the amazing Browsersync.
|
|||
When you're done, commit your changes to your fork and write a pull request for
|
||||
Codeberg/Documentation. We're happy about every contribution!
|
||||
|
||||
### Local development using the Dockerfile
|
||||
|
||||
If you do not have nodejs installed or do not want to run the development web server directly on your host,
|
||||
you can also use a docker container.
|
||||
|
||||
You must have a container-engine installed (docker, podman, etc.)
|
||||
|
||||
First build the container image:
|
||||
|
||||
```shell
|
||||
docker build -t Codeberg/Documentation-server .
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
Use the "External" URL the container outputs on startup to access your documentation.
|
||||
|
||||
Changes to files in the documentation are reflected in the browser as the server regularly updates the generated files.
|
||||
|
||||
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.
|
||||
|
||||
`Codeberg/Documentation-server:latest` refers to the container image built in the first step (using `docker build`).
|
||||
|
||||
### Build & Deployment
|
||||
|
||||
Like for local development, before building and deploying you first have to install
|
||||
the dependencies (once):
|
||||
|
||||
```npm install```
|
||||
`pnpm install`
|
||||
|
||||
To build the entire website to the `_site` directory run
|
||||
|
||||
```npm run build```
|
||||
`pnpm run build`
|
||||
|
||||
Instead, to directly publish the page to Codeberg pages, you can also run
|
||||
|
||||
```npm run deploy```
|
||||
`pnpm run deploy`
|
||||
|
||||
which includes a call to `npm run build`.
|
||||
which includes a call to `pnpm run build`.
|
||||
|
||||
### Technical Information
|
||||
|
||||
This website uses [Eleventy](https://www.11ty.dev/), a static site generator.
|
||||
|
||||
It's supplied as a dev-dependency in `package.json` and its dependencies are locked
|
||||
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).
|
||||
|
||||
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.
|
||||
|
||||
## License and Contributors
|
||||
|
||||
This website (excluding bundled fonts) is licensed under CC BY-SA 4.0. See the [LICENSE](LICENSE.md) file for details.
|
||||
|
||||
The contributors are listed in `CONTRIBUTORS.md`.
|
||||
Please refer to the [commit log](https://codeberg.org/Codeberg/Documentation/commits/branch/main) for an exhaustive list of contributors to Codeberg Documentation.
|
||||
|
|
|
@ -1,151 +1,269 @@
|
|||
html, body { width: 100%; height: 100%; margin: 0; padding: 0; background-color: white; color: black; }
|
||||
body { display: flex; flex-direction: column; font-family: "Inter", sans-serif; font-size: 13pt; font-weight: 300; }
|
||||
:link { color: #0000EE; }
|
||||
:visited { color: #551A8B; }
|
||||
:link:active, :visited:active { color: #FF0000; }
|
||||
:root {
|
||||
--admonition-background-color--info: rgba(68, 138, 255, 0.2);
|
||||
--admonition-background-color--note: rgba(0, 184, 212, 0.2);
|
||||
--admonition-background-color--warning: rgba(255, 145, 0, 0.2);
|
||||
--admonition-background-color--tip: rgba(0, 191, 165, 0.2);
|
||||
--admonition-background-color--question: rgba(100, 221, 23, 0.2);
|
||||
|
||||
header { height: 60px; margin-top: 30px; margin-bottom: 60px; }
|
||||
header > .container { display: flex; align-items: center; }
|
||||
#header-action-buttons { text-align: right; }
|
||||
#header-logo { height: 100%; padding: 10px; padding-left: 0; box-sizing: border-box; }
|
||||
#header-logo img { height: 100%; }
|
||||
#header-logo-container { display: flex; align-items: center; height: 100%; }
|
||||
#header-logo a { text-decoration: none; }
|
||||
#logo-heading { color: #2185d0; font-weight: 700; font-size: 28pt; margin-left: 10px; }
|
||||
#contents-button { display: none; }
|
||||
--admonition-border-color--info: rgb(68, 138, 255);
|
||||
--admonition-border-color--note: rgb(0, 184, 212);
|
||||
--admonition-border-color--warning: rgb(255, 145, 0);
|
||||
--admonition-border-color--tip: rgb(0, 191, 165);
|
||||
--admonition-border-color--question: rgb(100, 221, 23);
|
||||
|
||||
main { flex: 1; }
|
||||
main > .container { display: flex; }
|
||||
--admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M13 7.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3 3.75a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v4.25h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5h.75V12h-.75a.75.75 0 0 1-.75-.75Z"></path><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z"></path></svg>');
|
||||
--admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M17.263 2.177a1.75 1.75 0 0 1 2.474 0l2.586 2.586a1.75 1.75 0 0 1 0 2.474L19.53 10.03l-.012.013L8.69 20.378a1.753 1.753 0 0 1-.699.409l-5.523 1.68a.748.748 0 0 1-.747-.188.748.748 0 0 1-.188-.747l1.673-5.5a1.75 1.75 0 0 1 .466-.756L14.476 4.963ZM4.708 16.361a.26.26 0 0 0-.067.108l-1.264 4.154 4.177-1.271a.253.253 0 0 0 .1-.059l10.273-9.806-2.94-2.939-10.279 9.813ZM19 8.44l2.263-2.262a.25.25 0 0 0 0-.354l-2.586-2.586a.25.25 0 0 0-.354 0L16.061 5.5Z"></path></svg>');
|
||||
--admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M13 17.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0v-4.5Z"></path><path d="M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752Zm3.03.751a1.002 1.002 0 0 0-1.732 0L2.168 19.499A1.002 1.002 0 0 0 3.034 21h17.932a1.002 1.002 0 0 0 .866-1.5L12.866 3.994Z"></path></svg>');
|
||||
--admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M12.596 2.043c1.075.076 2.059.281 2.743.956.698.688.92 1.696.92 2.941 0 .432-.057.955-.117 1.438-.026.2-.051.392-.076.572l-.056.429h2.05c.752 0 1.446.108 2.036.404.612.306 1.062.787 1.355 1.431.551 1.214.542 3.008.223 5.394l-.051.39c-.134 1.01-.248 1.872-.396 2.58-.166.795-.394 1.496-.816 2.05-.89 1.168-2.395 1.372-4.583 1.372-2.331 0-4.08-.418-5.544-.824l-.602-.17c-1.023-.29-1.852-.526-2.69-.586A1.75 1.75 0 0 1 5.25 22h-1.5A1.75 1.75 0 0 1 2 20.25V9.75C2 8.784 2.784 8 3.75 8h1.5a1.75 1.75 0 0 1 1.746 1.633 1.85 1.85 0 0 0 .523-.131c.961-.415 2.774-1.534 2.774-4.2V4.249c0-1.22 1.002-2.298 2.303-2.206ZM7 18.918c1.059.064 2.079.355 3.118.652l.568.16c1.406.39 3.006.77 5.142.77 2.277 0 3.004-.274 3.39-.781.216-.283.388-.718.54-1.448.136-.65.242-1.45.379-2.477l.05-.384c.32-2.4.253-3.795-.102-4.575-.16-.352-.375-.568-.66-.711-.305-.153-.74-.245-1.365-.245h-2.37c-.681 0-1.293-.57-1.211-1.328.026-.243.065-.537.105-.834l.07-.527c.06-.482.105-.921.105-1.25 0-1.125-.213-1.617-.473-1.873-.275-.27-.774-.455-1.795-.528-.351-.024-.698.274-.698.71v1.053c0 3.55-2.488 5.063-3.68 5.577-.372.16-.754.232-1.113.26ZM3.75 20.5h1.5a.25.25 0 0 0 .25-.25V9.75a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25Z"></path></svg>');
|
||||
--admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M10.97 8.265a1.45 1.45 0 0 0-.487.57.75.75 0 0 1-1.341-.67c.2-.402.513-.826.997-1.148C10.627 6.69 11.244 6.5 12 6.5c.658 0 1.369.195 1.934.619a2.45 2.45 0 0 1 1.004 2.006c0 1.033-.513 1.72-1.027 2.215-.19.183-.399.358-.579.508l-.147.123a4.329 4.329 0 0 0-.435.409v1.37a.75.75 0 1 1-1.5 0v-1.473c0-.237.067-.504.247-.736.22-.28.486-.517.718-.714l.183-.153.001-.001c.172-.143.324-.27.47-.412.368-.355.569-.676.569-1.136a.953.953 0 0 0-.404-.806C12.766 8.118 12.384 8 12 8c-.494 0-.814.121-1.03.265ZM13 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path><path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z"></path></svg>');
|
||||
|
||||
#sidebar { display: flex; flex-direction: column; padding: 50px 10px; background: #2185d0; color: white; font-weight: 500; box-sizing: border-box; }
|
||||
#sidebar nav { width: 350px; box-sizing: border-box; flex: 1; }
|
||||
#sidebar nav .fas { width: 30px; text-align: center; }
|
||||
#sidebar nav a { text-decoration: none; color: white; }
|
||||
#sidebar nav ul { list-style-type: none; padding: 0; margin: 0; }
|
||||
#sidebar .nav-section a { display: block; padding: 7px 10px; margin: 0 -10px 5px; background: #4595d3; font-size: 12pt; }
|
||||
#sidebar .nav-section:hover a, #sidebar .nav-section.active a { background: #27628f; margin-left: -15px; padding-left: 15px; padding-right: 15px; margin-right: -15px; }
|
||||
#sidebar .nav-second-level a { font-size: 11pt; }
|
||||
#sidebar .nav-second-level ul { margin-left: 15px; padding: 7px 0; }
|
||||
#sidebar .nav-second-level li { margin-bottom: 10px; }
|
||||
#sidebar .nav-second-level a:hover, #sidebar .nav-second-level a.active { text-decoration: underline; }
|
||||
#sidebar .sidebar-close-button { display: none; position: relative; text-align: right; top: -35px; }
|
||||
#sidebar .sidebar-close-button a:hover { color: red; }
|
||||
#sidebar .section-collapse-button { margin-left: 0 !important; padding-left: 5px !important; }
|
||||
#sidebar .section-collapse-button:hover { color: #cfffff; }
|
||||
#sidebar .section-link { margin-right: 0 !important; padding-right: 5px !important; }
|
||||
#sidebar-overlay { display: none; opacity: 0; position: fixed; width: 100%; height: 100%; z-index: 999; background: #000a; }
|
||||
.sidebar-overlay-in { opacity: 1; }
|
||||
|
||||
article { padding: 50px 0; width: 800px; }
|
||||
article :first-child { margin-top: 0; }
|
||||
|
||||
article h1 { font-size: 34pt; }
|
||||
article h2 { font-size: 26pt; }
|
||||
article h3 { font-size: 20pt; }
|
||||
article h4 { font-size: 16pt; }
|
||||
article h5 { font-size: 14pt; }
|
||||
article h6 { font-size: 12pt; }
|
||||
|
||||
article blockquote, article img, article pre { box-sizing: border-box; }
|
||||
article blockquote, article pre { background: #eee; padding: 30px; margin: 0; border-left: 5px solid #2185d0; overflow: auto; }
|
||||
article blockquote p:last-of-type { margin-bottom: 0; }
|
||||
article blockquote blockquote { background: #ddd; }
|
||||
article code { background: #eee; border-radius: 5px; padding: 1px 3px; }
|
||||
article pre code { background: none; border-radius: none; padding: 0; }
|
||||
article img { border: 5px solid #eee; max-width: 100%; }
|
||||
article p { hyphens: auto; max-width: 100%; }
|
||||
article table { border-collapse: collapse; }
|
||||
article td, th { padding: 15px; }
|
||||
article th { background: #ddd; }
|
||||
article tr:nth-of-type(even) { background: #eee; }
|
||||
article hr { width: 80%; border: 1px solid #eee; }
|
||||
|
||||
.contribution-invitation hr { margin-top: 70px; margin-bottom: 30px; }
|
||||
|
||||
footer { background: #f5f5f5; text-align: center; font-size: 8pt; padding: 15px; margin-top: 60px; }
|
||||
|
||||
#mobile-action-buttons { text-align: center; display: none; }
|
||||
#mobile-contents-button { display: none; }
|
||||
#mobile-contents-button a { color: #2185D0; font-size: 35px; }
|
||||
|
||||
|
||||
.action-buttons { flex: 1; }
|
||||
.action-buttons a { text-decoration: none; color: black; margin-left: 10px; }
|
||||
.action-buttons a:hover { text-decoration: underline; }
|
||||
.collapsible { overflow-y: hidden; transition: max-height 500ms; }
|
||||
.container { max-width: 1300px; margin: auto; height: 100%; }
|
||||
.flex-spacer { flex: 99; }
|
||||
|
||||
.narrow-only { display: none; }
|
||||
|
||||
@media screen and (max-width: 1400px) {
|
||||
.wide-only { display: none; }
|
||||
.narrow-only { display: initial; }
|
||||
|
||||
#header-logo { margin-left: 0; }
|
||||
#sidebar { display: block; position: fixed; overflow-y: auto; left: 0; top: 0; height: 100%; transform: translateX(-400px); z-index: 9999; }
|
||||
#sidebar .sidebar-close-button { display: block; }
|
||||
#sidebar nav { width: 300px; }
|
||||
#sidebar .nav-section a { font-size: 11pt; }
|
||||
|
||||
#sidebar-overlay.sidebar-overlay-in { display: block; }
|
||||
article { margin-left: 0; margin-right: 0; padding-top: 0; width: 100%; }
|
||||
.container { max-width: 780px; padding: 0 50px; }
|
||||
#contents-button { display: inline-block; background: #eee; border-radius: 5px; padding: 5px; width: 20px; height: 20px; text-align: center; }
|
||||
#contents-button:hover { background: #ccc; }
|
||||
--admonition-icon-dimension: 20px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 750px) {
|
||||
#header-action-buttons { display: none; }
|
||||
#mobile-action-buttons { display: block; }
|
||||
#mobile-contents-button { display: block; }
|
||||
|
||||
.container { padding: 0 20px; }
|
||||
article p { text-align: left; }
|
||||
header { margin-top: 15px; margin-bottom: 30px; height: 50px; }
|
||||
#header-logo { flex: 1; }
|
||||
#logo-heading { font-size: 22pt; }
|
||||
#mobile-contents-button a { font-size: 30px; }
|
||||
|
||||
article h1 { font-size: 28pt; }
|
||||
article h2 { font-size: 22pt; }
|
||||
article h3 { font-size: 18pt; }
|
||||
.content :not(img, pre) {
|
||||
max-width: 80ch;
|
||||
}
|
||||
.content img {
|
||||
border: 5px solid rgba(0, 0, 0, 0.2);
|
||||
max-width: 100%;
|
||||
}
|
||||
.content blockquote {
|
||||
margin: 0;
|
||||
}
|
||||
.content-title {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
|
||||
@keyframes slideSidebar {
|
||||
from { transform: translateX(-300px); }
|
||||
to { transform: translateX(0); }
|
||||
.content pre {
|
||||
border-left: 5px solid #2185d0;
|
||||
}
|
||||
.dark-mode .content pre {
|
||||
border-left: 5px solid #355379;
|
||||
}
|
||||
|
||||
@keyframes fadeOverlay {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
.content ol {
|
||||
list-style: decimal outside;
|
||||
}
|
||||
.content ul {
|
||||
list-style: outside;
|
||||
}
|
||||
.content ol,
|
||||
.content ul {
|
||||
margin-top: 10px;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
#logo-heading { color: #94cddc; }
|
||||
html, body { background-color: #373B49; color: #9ba8bb; }
|
||||
|
||||
footer { background: #0b0b0b; color: #bbb; }
|
||||
footer a { color: #36aaff; }
|
||||
footer a:visited { color: #86afcc; }
|
||||
|
||||
.action-buttons a { color: #9cd9e8; }
|
||||
|
||||
:link { color: #449ddc; }
|
||||
:visited { color: #5d8499; }
|
||||
:link:active, :visited:active { color: #828f55; }
|
||||
|
||||
code, pre { color: #9eaa96 !important; }
|
||||
|
||||
article h1 { color: #c6cfee; text-decoration: underline; }
|
||||
article h2, article h3, article h4, article h5 { color: #c6cfee; }
|
||||
article code { background: #2e3440; color: #9eaa96; }
|
||||
article hr { border: 1px solid #91bbdb; }
|
||||
article blockquote, article pre { background: #21242d; border-left: 5px solid #355379; color: #7f8a95; }
|
||||
|
||||
#sidebar { background: #2c303c; color: #879cb3; }
|
||||
#sidebar nav a { color: #8aa9b9; }
|
||||
#sidebar .nav-section a { background: #304862; font-size: 12pt; }
|
||||
#sidebar .nav-section:hover a, #sidebar .nav-section.active a { background: #20374f; }
|
||||
.codeberg-design .card,
|
||||
.codeberg-design hr {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
a.header-anchor,
|
||||
a.header-anchor:visited {
|
||||
color: var(--lm-base-text-color) !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dark-mode a.header-anchor,
|
||||
.dark-mode a.header-anchor:visited {
|
||||
color: var(--dm-base-text-color) !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
a.header-anchor:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
code span .content {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
/* Apply code style to generic code */
|
||||
pre:not([class*='language-']) {
|
||||
background: #2e3440;
|
||||
color: #f8f8f2;
|
||||
padding: 1em;
|
||||
margin: 0.5em 0;
|
||||
overflow: auto;
|
||||
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);
|
||||
line-height: var(--code-line-height);
|
||||
padding: var(--code-padding);
|
||||
margin: var(--code-margin);
|
||||
color: var(--lm-code-text-color);
|
||||
background-color: var(--lm-code-bg-color);
|
||||
border: var(--code-border-width) var(--lm-code-border-color);
|
||||
border-radius: var(--code-border-radius);
|
||||
}
|
||||
.dark-mode code:not(pre > code) {
|
||||
color: var(--dm-code-text-color);
|
||||
background-color: var(--dm-code-bg-color);
|
||||
border-color: var(--dm-code-border-color);
|
||||
}
|
||||
|
||||
/* 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);
|
||||
|
||||
mask-position: center;
|
||||
mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
mask-image: var(--admonition-icon--info);
|
||||
|
||||
-webkit-mask-position: center;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
-webkit-mask-size: contain;
|
||||
-webkit-mask-image: var(--admonition-icon--info);
|
||||
|
||||
display: inline-block;
|
||||
margin-right: 0.4em;
|
||||
vertical-align: bottom;
|
||||
|
||||
height: 1.5em;
|
||||
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);
|
||||
|
||||
mask-image: var(--admonition-icon--warning);
|
||||
-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);
|
||||
|
||||
mask-image: var(--admonition-icon--tip);
|
||||
-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);
|
||||
|
||||
mask-image: var(--admonition-icon--question);
|
||||
-webkit-mask-image: var(--admonition-icon--question);
|
||||
}
|
||||
|
||||
.admonition-content > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#search-results {
|
||||
overflow: hidden;
|
||||
word-wrap: anywhere;
|
||||
white-space: break-spaces;
|
||||
--pagefind-ui-background: var(--dm-sidebar-bg-color);
|
||||
--pagefind-ui-primary: var(--dm-sidebar-link-text-color);
|
||||
--pagefind-ui-border: var(--dm-sidebar-divider-bg-color);
|
||||
}
|
||||
|
||||
#search-results li {
|
||||
margin-bottom: 0;
|
||||
gap: 0;
|
||||
padding: 10px 0px;
|
||||
}
|
||||
|
||||
.pagefind-modular-list-thumb {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#search-input::placeholder {
|
||||
--lm-input-placeholder-text-color: rgba(0, 0, 0, 0.8);
|
||||
--dm-input-placeholder-text-color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
#toc {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#toc ol {
|
||||
padding: 5px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
/**
|
||||
* Copied from https://github.com/PrismJS/prism-themes
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* prism-themes License:
|
||||
*
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2015 PrismJS
|
||||
*
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
|
@ -26,27 +26,27 @@
|
|||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* Nord Color Theme license:
|
||||
*
|
||||
*
|
||||
* MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com> (https://www.arcticicestudio.com)
|
||||
*
|
||||
* Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com> (https://www.arcticicestudio.com)
|
||||
* Copyright (c) 2016-present Sven Greb <development@svengreb.de> (https://www.svengreb.de)
|
||||
*
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
|
@ -56,7 +56,6 @@
|
|||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Nord Theme Originally by Arctic Ice Studio
|
||||
* https://nordtheme.com
|
||||
|
@ -64,59 +63,59 @@
|
|||
* Ported for PrismJS by Zane Hitchcoxc (@zwhitchcox) and Gabriel Ramos (@gabrieluizramos)
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: #f8f8f2;
|
||||
background: none;
|
||||
font-family: "Fira Code", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
color: #f8f8f2;
|
||||
background: none;
|
||||
font-family: 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
border-radius: 0.3em;
|
||||
pre[class*='language-'] {
|
||||
padding: 1em;
|
||||
margin: 0.5em 0;
|
||||
overflow: auto;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #2E3440;
|
||||
:not(pre) > code[class*='language-'],
|
||||
pre[class*='language-'] {
|
||||
background: #2e3440;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
:not(pre) > code[class*='language-'] {
|
||||
padding: 0.1em;
|
||||
border-radius: 0.3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: #636f88;
|
||||
color: #636f88;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #81A1C1;
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
|
@ -124,15 +123,15 @@ pre[class*="language-"] {
|
|||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #81A1C1;
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
.token.number {
|
||||
color: #B48EAD;
|
||||
color: #b48ead;
|
||||
}
|
||||
|
||||
.token.boolean {
|
||||
color: #81A1C1;
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
|
@ -141,7 +140,7 @@ pre[class*="language-"] {
|
|||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #A3BE8C;
|
||||
color: #a3be8c;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
|
@ -150,34 +149,34 @@ pre[class*="language-"] {
|
|||
.language-css .token.string,
|
||||
.style .token.string,
|
||||
.token.variable {
|
||||
color: #81A1C1;
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #88C0D0;
|
||||
color: #88c0d0;
|
||||
}
|
||||
|
||||
.token.keyword {
|
||||
color: #81A1C1;
|
||||
color: #81a1c1;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important {
|
||||
color: #EBCB8B;
|
||||
color: #ebcb8b;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
cursor: help;
|
||||
}
|
||||
|
|
BIN
assets/images/advanced/access-token/generate-token.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
assets/images/advanced/access-token/generate-token.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
assets/images/advanced/access-token/token-generated.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
assets/images/advanced/access-token/token-generated.webp
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/images/advanced/migrating-repos/git-migration.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
assets/images/advanced/migrating-repos/git-migration.webp
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/images/advanced/migrating-repos/gitea-migration.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
assets/images/advanced/migrating-repos/gitea-migration.webp
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
assets/images/advanced/migrating-repos/new-migration.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
assets/images/advanced/migrating-repos/new-migration.webp
Normal file
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 224 KiB |
After Width: | Height: | Size: 402 KiB |
After Width: | Height: | Size: 310 KiB |
After Width: | Height: | Size: 1,020 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 291 KiB |
After Width: | Height: | Size: 288 KiB |
After Width: | Height: | Size: 893 KiB |
BIN
assets/images/ci/actions/create-new-runner.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
assets/images/ci/actions/create-new-runner.webp
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/images/ci/actions/demo-workflow.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/ci/actions/demo-workflow.webp
Normal file
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 129 KiB |
BIN
assets/images/getting-started/first-repository/badge.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
assets/images/getting-started/first-repository/badge.webp
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
assets/images/getting-started/wiki/wiki_editview.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/images/getting-started/wiki/wiki_pageview.png
Normal file
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 17 KiB |
BIN
assets/images/integrations/keycloak/identity-providers.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
assets/images/integrations/keycloak/identity-providers.webp
Normal file
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 13 KiB |
BIN
assets/images/integrations/keycloak/new-oauth2-application.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
assets/images/integrations/keycloak/new-oauth2-application.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/integrations/keycloak/redirect-uri.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/integrations/keycloak/redirect-uri.webp
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
assets/images/integrations/liberapay/profile.png
Normal file
After Width: | Height: | Size: 95 KiB |
BIN
assets/images/integrations/liberapay/profile.webp
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
assets/images/integrations/liberapay/shields_widgets.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
assets/images/integrations/liberapay/shields_widgets.webp
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/images/integrations/liberapay/widgets.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
assets/images/integrations/liberapay/widgets.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/images/integrations/read-the-docs/add-webhook.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
assets/images/integrations/read-the-docs/add-webhook.webp
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
assets/images/integrations/read-the-docs/admin-integrations.png
Normal file
After Width: | Height: | Size: 463 KiB |
BIN
assets/images/integrations/read-the-docs/admin-integrations.webp
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
assets/images/integrations/read-the-docs/forgejo-webhook.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
assets/images/integrations/read-the-docs/forgejo-webhook.webp
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/integrations/read-the-docs/github-integration.png
Normal file
After Width: | Height: | Size: 318 KiB |
BIN
assets/images/integrations/read-the-docs/github-integration.webp
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
assets/images/integrations/read-the-docs/import-manual.png
Normal file
After Width: | Height: | Size: 312 KiB |
BIN
assets/images/integrations/read-the-docs/import-manual.webp
Normal file
After Width: | Height: | Size: 27 KiB |
|
@ -1 +0,0 @@
|
|||
Codeberg and the Codeberg Logo are trademarks of Codeberg e.V.
|
|
@ -1,123 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
sodipodi:docname="codeberg-favicon.svg"
|
||||
id="svg1468"
|
||||
version="1.1"
|
||||
viewBox="0 0 4.2150375 4.2150376"
|
||||
height="15.93085"
|
||||
width="15.930851">
|
||||
<defs
|
||||
id="defs1462">
|
||||
<linearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
y2="-6966.9307"
|
||||
x2="42575.336"
|
||||
y1="-7078.7891"
|
||||
x1="42519.285"
|
||||
id="linearGradient6918"
|
||||
xlink:href="#linearGradient6924" />
|
||||
<linearGradient
|
||||
id="linearGradient6924">
|
||||
<stop
|
||||
id="stop6920"
|
||||
offset="0"
|
||||
style="stop-color:#2185d0;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#2185d0;stop-opacity:0.48923996"
|
||||
offset="0.49517274"
|
||||
id="stop6926" />
|
||||
<stop
|
||||
id="stop6922"
|
||||
offset="1"
|
||||
style="stop-color:#2185d0;stop-opacity:0.63279623" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
showguides="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:snap-global="true"
|
||||
units="px"
|
||||
fit-margin-bottom="0.64969"
|
||||
fit-margin-right="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-top="0"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="px"
|
||||
inkscape:cy="14.621"
|
||||
inkscape:cx="-3.0265425"
|
||||
inkscape:zoom="32"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:window-width="3200"
|
||||
inkscape:window-height="1672"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="54"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
id="grid2067"
|
||||
type="xygrid"
|
||||
originx="-0.0091209171"
|
||||
originy="0.11900229" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata1465">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(-44.876583,-76.12794)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Layer 1">
|
||||
<ellipse
|
||||
style="fill:#ffffff;fill-opacity:0.98991939;stroke-width:0.26458332"
|
||||
id="path4524"
|
||||
cx="46.9841"
|
||||
cy="78.235458"
|
||||
rx="2.1075189"
|
||||
ry="2.1075187" />
|
||||
<g
|
||||
transform="matrix(0.09136496,0,0,0.09136496,-980.82243,248.23174)"
|
||||
id="g6933">
|
||||
<path
|
||||
id="path6733"
|
||||
style="opacity:0.5;vector-effect:none;fill:url(#linearGradient6918);fill-opacity:1;stroke:none;stroke-width:3.67845988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
|
||||
d="m 42519.285,-7078.7891 a 0.76086879,0.56791688 0 0 0 -0.738,0.6739 l 33.586,125.8886 a 87.182358,87.182358 0 0 0 39.381,-33.7636 l -71.565,-92.5196 a 0.76086879,0.56791688 0 0 0 -0.664,-0.2793 z"
|
||||
transform="scale(0.26458333)"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
transform="scale(0.26458333)"
|
||||
id="circle6810"
|
||||
style="opacity:1;fill:#2185d0;fill-opacity:1;stroke:none;stroke-width:2.01452994px;stroke-opacity:1;paint-order:stroke markers fill"
|
||||
d="m 42517.32,-7119.4805 a 87.182358,87.182358 0 0 0 -86.855,87.1817 87.182358,87.182358 0 0 0 13.312,46.3047 l 72.688,-93.9727 a 1.3609979,1.0158567 0 0 1 2.359,0 l 72.692,93.9766 a 87.182358,87.182358 0 0 0 13.314,-46.3086 87.182358,87.182358 0 0 0 -87.182,-87.1817 87.182358,87.182358 0 0 0 -0.328,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.3 KiB |
|
@ -1,100 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
sodipodi:docname="codeberg-dark.svg"
|
||||
id="svg9965"
|
||||
version="1.1"
|
||||
viewBox="0 0 55.621185 55.621193"
|
||||
width="55.621185"
|
||||
height="55.621193">
|
||||
<metadata
|
||||
id="metadata9971">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs9969">
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient6924"
|
||||
id="linearGradient6918"
|
||||
x1="42519.285"
|
||||
y1="-7078.7891"
|
||||
x2="42575.336"
|
||||
y2="-6966.9307"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient6924">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0"
|
||||
id="stop6920" />
|
||||
<stop
|
||||
id="stop6926"
|
||||
offset="0.49517274"
|
||||
style="stop-color:#ffffff;stop-opacity:0.5" />
|
||||
<stop
|
||||
style="stop-color:#fdfeff;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop6922" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:current-layer="svg9965"
|
||||
inkscape:cy="72.714836"
|
||||
inkscape:cx="44.928006"
|
||||
inkscape:zoom="7.2407734"
|
||||
showgrid="false"
|
||||
id="namedview9967"
|
||||
inkscape:window-height="1672"
|
||||
inkscape:window-width="3200"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
fit-margin-bottom="2.26835"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="54"
|
||||
inkscape:window-maximized="1" />
|
||||
<!-- outline -->
|
||||
<!-- small shadow -->
|
||||
<!-- mountain in foreground -->
|
||||
<!-- text -->
|
||||
<g
|
||||
transform="matrix(1.2056422,0,0,1.2056422,-13535.014,2271.0633)"
|
||||
id="g6933">
|
||||
<path
|
||||
transform="scale(0.26458333)"
|
||||
d="m 42519.285,-7078.7891 a 0.76086879,0.56791688 0 0 0 -0.738,0.6739 l 33.586,125.8886 a 87.182358,87.182358 0 0 0 39.381,-33.7636 l -71.565,-92.5196 a 0.76086879,0.56791688 0 0 0 -0.664,-0.2793 z"
|
||||
style="opacity:0.5;vector-effect:none;fill:url(#linearGradient6918);fill-opacity:1;stroke:none;stroke-width:3.67845988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill"
|
||||
id="path6733"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
transform="scale(0.26458333)"
|
||||
d="m 42517.32,-7119.4805 a 87.182358,87.182358 0 0 0 -86.855,87.1817 87.182358,87.182358 0 0 0 13.312,46.3047 l 72.688,-93.9727 a 1.3609979,1.0158567 0 0 1 2.359,0 l 72.692,93.9766 a 87.182358,87.182358 0 0 0 13.314,-46.3086 87.182358,87.182358 0 0 0 -87.182,-87.1817 87.182358,87.182358 0 0 0 -0.328,0 z"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2.01452994px;stroke-opacity:1;paint-order:stroke markers fill"
|
||||
id="circle6810"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.6 KiB |
|
@ -1,100 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
||||
sodipodi:docname="codeberg.svg"
|
||||
id="svg10"
|
||||
version="1.1"
|
||||
viewBox="0 0 100 58">
|
||||
<metadata
|
||||
id="metadata16">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs14">
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient6924"
|
||||
id="linearGradient6918"
|
||||
x1="42519.285"
|
||||
y1="-7078.7891"
|
||||
x2="42575.336"
|
||||
y2="-6966.9307"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
id="linearGradient6924">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0"
|
||||
id="stop6920" />
|
||||
<stop
|
||||
id="stop6926"
|
||||
offset="0.49517274"
|
||||
style="stop-color:#71c2ff;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#39aaff;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop6922" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:current-layer="svg10"
|
||||
inkscape:cy="17.573059"
|
||||
inkscape:cx="45.102208"
|
||||
inkscape:zoom="6.6465517"
|
||||
showgrid="false"
|
||||
id="namedview12"
|
||||
inkscape:window-height="480"
|
||||
inkscape:window-width="640"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
guidetolerance="10"
|
||||
gridtolerance="10"
|
||||
objecttolerance="10"
|
||||
borderopacity="1"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff" />
|
||||
<!-- outline -->
|
||||
<!-- small shadow -->
|
||||
<!-- mountain in foreground -->
|
||||
<!-- text -->
|
||||
<g
|
||||
transform="matrix(0.49902103,0,0,0.49902103,16.383035,-5.830387)"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="matrix(1.4006354,0,0,1.4006354,-15690.065,2662.0533)"
|
||||
id="g6939">
|
||||
<path
|
||||
transform="scale(0.26458333)"
|
||||
d="m 42405.785,-6929.3027 c -6.178,0 -11.002,2.0754 -14.474,6.2246 -3.518,4.1491 -5.278,9.6275 -5.278,16.4375 0,5.2313 1.286,9.7874 3.856,13.666 3.563,5.4118 8.974,8.1172 16.236,8.1172 5.049,0 9.447,-1.872 13.191,-5.6153 l -3.451,-5.3437 c -3.336,2.1198 -6.221,3.1797 -8.658,3.1797 -3.699,0 -6.653,-1.4205 -8.863,-4.2617 -2.074,-2.7062 -3.112,-5.9541 -3.112,-9.7422 0,-4.2845 0.88,-7.7572 2.639,-10.418 2.031,-3.1118 4.894,-4.668 8.59,-4.668 2.661,0 5.615,1.1725 8.863,3.5176 l 3.451,-5.6133 c -4.331,-3.653 -8.661,-5.4804 -12.99,-5.4804 z m 122.604,0 -8.522,4.8027 v 38.8301 h 6.901 l 0.677,-3.043 c 2.074,2.5706 5.004,3.8555 8.791,3.8555 3.835,0 7.061,-1.1512 9.676,-3.4512 3.336,-3.0216 5.004,-7.4634 5.004,-13.3262 0,-4.5551 -1.126,-8.208 -3.379,-10.959 -2.572,-3.1118 -6.136,-4.6679 -10.689,-4.6679 -1.626,0 -3.114,0.3158 -4.467,0.9472 -1.714,0.8116 -3.045,1.9396 -3.992,3.3829 z m -45.871,0.1347 -8.528,4.7364 v 9.8086 c -2.119,-1.7137 -4.734,-2.5704 -7.845,-2.5704 -3.609,0 -6.698,1.1958 -9.268,3.586 -3.427,3.202 -5.141,7.7561 -5.141,13.664 0,4.1943 1.061,7.6225 3.18,10.2832 2.525,3.2021 6.198,4.8028 11.023,4.8028 1.716,0 3.386,-0.3837 5.008,-1.1504 1.623,-0.7665 2.797,-1.7356 3.52,-2.9082 l 1.217,3.2461 h 6.834 z m -47.993,11.9746 c -4.422,0 -8.008,1.3973 -10.757,4.1934 -3.024,3.0667 -4.536,7.0803 -4.536,12.041 0,4.3747 1.353,8.0741 4.059,11.0957 3.024,3.3373 6.77,5.0059 11.234,5.0059 3.833,0 7.192,-1.3082 10.077,-3.9238 3.474,-3.1119 5.21,-7.1717 5.21,-12.1778 0,-4.2842 -1.171,-7.9141 -3.517,-10.8906 -2.797,-3.5628 -6.72,-5.3438 -11.77,-5.3438 z m 67.071,0 c -4.374,0 -7.982,1.4438 -10.825,4.3301 -3.157,3.1569 -4.736,7.1472 -4.736,11.9727 0,4.9159 1.399,8.7722 4.195,11.5683 2.933,2.9765 7.016,4.4649 12.247,4.4649 4.87,0 8.929,-1.4438 12.177,-4.3301 l -2.166,-4.5313 c -3.202,1.8039 -6.269,2.7051 -9.199,2.7051 -2.076,0 -3.88,-0.6764 -5.412,-2.0293 -1.494,-1.3981 -2.33,-3.1345 -2.506,-5.209 h 21.109 v -3.1113 c 0,-4.4649 -1.173,-8.0965 -3.519,-10.8926 -2.706,-3.2922 -6.495,-4.9375 -11.365,-4.9375 z m 67.666,0 c -4.374,0 -7.982,1.4438 -10.824,4.3301 -3.158,3.1569 -4.737,7.1472 -4.737,11.9727 0,4.9159 1.399,8.7722 4.195,11.5683 2.931,2.9765 7.013,4.4649 12.247,4.4649 4.87,0 8.928,-1.4438 12.173,-4.3301 l -2.162,-4.5313 c -3.202,1.8039 -6.27,2.7051 -9.203,2.7051 -2.074,0 -3.877,-0.6764 -5.412,-2.0293 -1.492,-1.3981 -2.326,-3.1345 -2.502,-5.209 h 21.108 v -3.1113 c 0,-4.4649 -1.172,-8.0965 -3.518,-10.8926 -2.706,-3.2922 -6.495,-4.9375 -11.365,-4.9375 z m 33.017,0 c -1.353,0 -2.684,0.3604 -3.992,1.0821 -1.265,0.6763 -2.121,1.4884 -2.572,2.4355 l -0.811,-2.7051 h -7.24 v 30.711 h 8.391 v -22.0528 c 0.72,-1.5785 1.848,-2.3671 3.383,-2.3671 1.668,0 3.245,0.8564 4.734,2.5703 l 7.17,-3.9239 c -1.986,-3.8334 -5.006,-5.75 -9.063,-5.75 z m 22.016,0 c -3.563,0 -6.654,1.1958 -9.272,3.586 -3.426,3.202 -5.14,7.7561 -5.14,13.664 0,4.1492 1.06,7.5774 3.179,10.2832 2.482,3.2021 5.979,4.8028 10.489,4.8028 3.696,0 6.559,-1.5116 8.59,-4.5332 0,6.7648 -2.435,10.1484 -7.305,10.1484 -3.429,0 -6.519,-0.9029 -9.268,-2.707 l -2.166,4.3301 c 3.563,3.2471 7.78,4.8711 12.651,4.8711 4.689,0 8.297,-1.3758 10.824,-4.127 2.57,-2.7961 3.855,-6.7883 3.855,-11.9746 v -27.5313 h -6.562 l -0.676,3.3145 c 0,-0.451 -0.653,-1.1273 -1.961,-2.0293 -1.985,-1.3979 -4.398,-2.0977 -7.238,-2.0977 z m -122.768,6.0215 c 4.06,0 6.203,2.2094 6.43,6.6289 h -13.059 c 0.497,-4.4195 2.706,-6.6289 6.629,-6.6289 z m 67.666,0 c 4.057,0 6.199,2.2094 6.426,6.6289 h -13.055 c 0.497,-4.4195 2.706,-6.6289 6.629,-6.6289 z m -134.668,0.066 c 4.375,0 6.561,3.3819 6.561,10.1465 0,6.4943 -2.186,9.7422 -6.561,9.7422 -4.376,0 -6.566,-3.2479 -6.566,-9.7422 0,-6.7646 2.19,-10.1465 6.566,-10.1465 z m 33.446,0 c 1.489,0 2.774,0.4963 3.857,1.4883 1.126,0.9472 1.847,2.1642 2.162,3.6524 v 8.5918 c -0.224,1.6685 -1.035,3.1568 -2.433,4.4648 -1.399,1.2626 -2.909,1.8945 -4.532,1.8945 -4.374,0 -6.562,-3.3603 -6.562,-10.0801 0,-3.0667 0.678,-5.5008 2.031,-7.3046 1.353,-1.8039 3.179,-2.7071 5.477,-2.7071 z m 158.15,0 c 1.444,0 2.75,0.5196 3.922,1.5567 1.222,0.9922 1.921,2.186 2.098,3.584 v 7.7812 c 0,1.9392 -0.677,3.629 -2.03,5.0723 -1.353,1.3979 -2.953,2.0976 -4.802,2.0976 -4.42,0 -6.631,-3.3603 -6.631,-10.0801 0,-3.0667 0.678,-5.5008 2.031,-7.3046 1.353,-1.8039 3.157,-2.7071 5.412,-2.7071 z m -90.898,0.068 c 2.073,0 3.697,0.9012 4.871,2.7051 1.171,1.8038 1.758,4.2612 1.758,7.373 0,3.1569 -0.631,5.6393 -1.893,7.4434 -1.262,1.8038 -2.976,2.7051 -5.141,2.7051 -1.67,0 -3.138,-0.5641 -4.4,-1.6915 -1.227,-1.1275 -1.903,-2.5248 -2.029,-4.1933 v -7.375 c 0,-1.9392 0.655,-3.5844 1.963,-4.9375 1.353,-1.3528 2.976,-2.0293 4.871,-2.0293 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.8986px;line-height:1.25;font-family:Tajawal;-inkscape-font-specification:'Tajawal Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:-0.284861px;word-spacing:0px;fill:#2185d0;fill-opacity:1;stroke:none;stroke-width:1.69121"
|
||||
id="path6736" />
|
||||
<g
|
||||
id="g6933">
|
||||
<path
|
||||
id="path6733"
|
||||
style="font-variation-settings:normal;opacity:0.5;vector-effect:none;fill:url(#linearGradient6918);fill-opacity:1;stroke:none;stroke-width:3.67846;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000;stop-opacity:1"
|
||||
d="m 42519.285,-7078.7891 a 0.76086879,0.56791688 0 0 0 -0.738,0.6739 l 33.586,125.8886 a 87.182358,87.182358 0 0 0 39.381,-33.7636 l -71.565,-92.5196 a 0.76086879,0.56791688 0 0 0 -0.664,-0.2793 z"
|
||||
transform="scale(0.26458333)" />
|
||||
<path
|
||||
id="circle6810"
|
||||
style="opacity:1;fill:#2185d0;fill-opacity:1;stroke:none;stroke-width:2.01453px;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000"
|
||||
d="m 42517.32,-7119.4805 a 87.182358,87.182358 0 0 0 -86.855,87.1817 87.182358,87.182358 0 0 0 13.312,46.3047 l 72.688,-93.9727 a 1.3609979,1.0158567 0 0 1 2.359,0 l 72.692,93.9766 a 87.182358,87.182358 0 0 0 13.314,-46.3086 87.182358,87.182358 0 0 0 -87.182,-87.1817 87.182358,87.182358 0 0 0 -0.328,0 z"
|
||||
transform="scale(0.26458333)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 8.5 KiB |
BIN
assets/images/markdown/mermaid-example.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
assets/images/security/2fa/webauthn-nick.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
assets/images/security/2fa/webauthn-nick.webp
Normal file
After Width: | Height: | Size: 11 KiB |
|
@ -1,22 +0,0 @@
|
|||
function onCollapseButtonClick(button) {
|
||||
let icon = button.querySelector(".fas")
|
||||
|
||||
let collapseId = button.dataset["collapseId"]
|
||||
let collapseElement = document.getElementById(collapseId)
|
||||
if (collapseElement.style.maxHeight == "0px") {
|
||||
icon.classList.remove("fa-plus-square")
|
||||
icon.classList.add("fa-minus-square")
|
||||
collapseElement.style.maxHeight = collapseElement.scrollHeight + "px"
|
||||
} else {
|
||||
console.log(collapseElement.style.maxHeight)
|
||||
if (collapseElement.style.maxHeight === "") { // This is a workaround to fix animation when no initial maxHeight has been set
|
||||
collapseElement.style.maxHeight = collapseElement.scrollHeight + "px"
|
||||
void collapseElement.offsetWidth // Needed to trigger render
|
||||
}
|
||||
|
||||
|
||||
icon.classList.add("fa-plus-square")
|
||||
icon.classList.remove("fa-minus-square")
|
||||
collapseElement.style.maxHeight = "0px"
|
||||
}
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
function getSidebar() {
|
||||
return document.querySelector("#sidebar")
|
||||
}
|
||||
|
||||
function getSidebarOverlay() {
|
||||
return document.querySelector("#sidebar-overlay")
|
||||
}
|
||||
|
||||
function hideSidebar() {
|
||||
resetSidebarAnimation()
|
||||
getSidebar().style.animation = "slideSidebar 0.5s ease-in-out reverse backwards"
|
||||
}
|
||||
|
||||
function showSidebar() {
|
||||
resetSidebarAnimation()
|
||||
|
||||
const sidebar = getSidebar()
|
||||
sidebar.classList.add("sidebar-in")
|
||||
sidebar.style.animation = "slideSidebar 0.5s ease-in-out normal forwards"
|
||||
|
||||
const overlay = getSidebarOverlay()
|
||||
overlay.classList.add("sidebar-overlay-in")
|
||||
overlay.style.animation = "fadeOverlay 0.5s ease-in-out normal forwards"
|
||||
}
|
||||
|
||||
function resetSidebarAnimation() {
|
||||
const sidebar = getSidebar()
|
||||
sidebar.classList.remove("sidebar-in")
|
||||
sidebar.style.animation = "none"
|
||||
void sidebar.offsetWidth // Needed to restart animation
|
||||
|
||||
const overlay = getSidebarOverlay()
|
||||
overlay.classList.remove("sidebar-overlay-in")
|
||||
overlay.style.animation = "none"
|
||||
void overlay.offsetWidth // Needed to restart animation
|
||||
}
|
||||
|
||||
function toggleSidebar() {
|
||||
if (getSidebar().classList.contains("sidebar-in"))
|
||||
hideSidebar()
|
||||
else
|
||||
showSidebar()
|
||||
}
|
3
content/_data/env.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
module.exports = {
|
||||
environment: process.env.ELEVENTY_ENV,
|
||||
};
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"commitHistoryMaster": "https://codeberg.org/Codeberg/Documentation/commits/branch/master",
|
||||
"docsSourcesMaster": "https://codeberg.org/codeberg/documentation/src/branch/master"
|
||||
"commitHistoryMaster": "https://codeberg.org/Codeberg/Documentation/commits",
|
||||
"docsSourcesMaster": "https://codeberg.org/Codeberg/Documentation/src"
|
||||
}
|
||||
|
|
|
@ -1,19 +1,16 @@
|
|||
<div class="contribution-invitation">
|
||||
<hr>
|
||||
<blockquote>
|
||||
<div class="card" data-pagefind-ignore="all">
|
||||
<p>Hey there! 👋 Thank you for reading this article!</p>
|
||||
<p>
|
||||
Is there something missing or do you have an idea on how to improve the documentation?
|
||||
Is there something missing, or do you have an idea on how to improve the documentation?
|
||||
Do you want to write your own article?
|
||||
</p>
|
||||
<p>
|
||||
You're invited to contribute to the Codeberg Documentation at <a href="https://codeberg.org/Codeberg/Documentation">its source code repository</a>,
|
||||
for example by <a href="/collaborating/pull-requests-and-git-flow">Adding a pull request</a>
|
||||
for example, by <a href="/collaborating/pull-requests-and-git-flow">adding a pull request</a>
|
||||
or joining in on the discussion in <a href="https://codeberg.org/Codeberg/Documentation/issues">the issue tracker</a>.
|
||||
</p>
|
||||
<p>
|
||||
For an introduction on contributing to Codeberg Documentation, please have a look
|
||||
at <a href="https://docs.codeberg.org/improving-codeberg/docs-contributor-faq">the Contributor FAQ</a>.
|
||||
</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,120 +1,210 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="en" class="codeberg-design">
|
||||
<head>
|
||||
<title>{% if eleventyNavigation.title %}{{ eleventyNavigation.title }} | {% endif %}Codeberg Documentation</title>
|
||||
|
||||
<meta charset="UTF-8">
|
||||
{% if description %}<meta name="description" content="{{ description }}">{% endif %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8" />
|
||||
{% if description %}
|
||||
<meta name="description" content="{{ description }}" />
|
||||
{% endif %}
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
{% if env.environment == "testing" %}
|
||||
<meta name="robots" content="noindex" />
|
||||
{% endif %}
|
||||
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/images/logo/codeberg-favicon.svg" sizes="250x250">
|
||||
<link rel="icon" href="https://design.codeberg.org/logo-kit/favicon.ico" type="image/x-icon" />
|
||||
<link rel="icon" href="https://design.codeberg.org/logo-kit/favicon.svg" type="image/svg+xml" />
|
||||
<link rel="apple-touch-icon" href="https://design.codeberg.org/logo-kit/apple-touch-icon.png" />
|
||||
|
||||
<link rel="preload" type="text/css" href="/assets/css/codeberg-docs.css">
|
||||
<link rel="preload" href="https://fonts.codeberg.org/dist/inter/Inter Web/inter.css" as="style">
|
||||
<link rel="preload" href="https://fonts.codeberg.org/dist/fontawesome5/css/solid.min.css" as="style">
|
||||
<link rel="preload" href="https://fonts.codeberg.org/dist/fontawesome5/css/fontawesome.min.css" as="style">
|
||||
<link rel="preload" type="text/css" href="/assets/css/codeberg-docs.css" as="style" />
|
||||
<link rel="preload" type="text/css" href="https://design.codeberg.org/design-kit/codeberg.css" as="style" />
|
||||
<link rel="preload" href="https://fonts.codeberg.org/dist/inter/Inter%20Web/inter.css" as="style" />
|
||||
<link rel="preload" href="https://fonts.codeberg.org/dist/fontawesome6/css/svg-with-js.css" as="style" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/codeberg-docs.css" async>
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/prism-nord.css" async>
|
||||
<!-- Details and License: https://codeberg.org/Codeberg/Design/src/design-kit -->
|
||||
<link rel="stylesheet" href="https://design.codeberg.org/design-kit/codeberg.css" />
|
||||
<script defer src="https://design.codeberg.org/design-kit/codeberg.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/codeberg-docs.css" />
|
||||
<!-- Syntax highlighting -->
|
||||
<link rel="stylesheet" type="text/css" href="/assets/css/prism-nord.css" />
|
||||
|
||||
<!-- Details and License: https://fonts.codeberg.org/fonts/inter -->
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.codeberg.org/dist/inter/Inter Web/inter.css" async>
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.codeberg.org/dist/inter/Inter%20Web/inter.css" />
|
||||
|
||||
<!-- Details and License: https://fonts.codeberg.org/fonts/fontawesome5 -->
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.codeberg.org/dist/fontawesome5/css/solid.min.css" async>
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.codeberg.org/dist/fontawesome5/css/fontawesome.min.css" async>
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.codeberg.org/dist/fontawesome6/css/svg-with-js.css" />
|
||||
|
||||
<script type="text/javascript" src="/assets/js/collapse.js"></script>
|
||||
<script type="text/javascript" src="/assets/js/sidebar.js"></script>
|
||||
<link href="/pagefind/pagefind-modular-ui.css" rel="stylesheet" />
|
||||
<script src="/pagefind/pagefind-modular-ui.js"></script>
|
||||
<script>
|
||||
window.addEventListener('DOMContentLoaded', (event) => {
|
||||
const instance = new PagefindModularUI.Instance();
|
||||
instance.add(
|
||||
new PagefindModularUI.Input({
|
||||
containerElement: '#search-input',
|
||||
}),
|
||||
);
|
||||
instance.add(
|
||||
new PagefindModularUI.ResultList({
|
||||
containerElement: '#search-results',
|
||||
}),
|
||||
);
|
||||
document.addEventListener(
|
||||
'keydown',
|
||||
(event) => {
|
||||
if (event.key == '/') {
|
||||
event.preventDefault();
|
||||
document.getElementById('search-input').focus();
|
||||
}
|
||||
},
|
||||
false,
|
||||
);
|
||||
});
|
||||
</script>
|
||||
|
||||
{% if page.url != '/' %}
|
||||
<script>
|
||||
// @license magnet:?xt=urn:btih:90dc5c0be029de84e523b9b3922520e79e0e6f08&dn=cc0.txt CC0
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
document.getElementsByClassName('active')[0].scrollIntoView({ block: 'center' });
|
||||
});
|
||||
// @license-end
|
||||
</script>
|
||||
{% endif %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="sidebar-overlay" onclick="javascript:hideSidebar()"></div>
|
||||
<header>
|
||||
<div class="container">
|
||||
<div id="header-logo">
|
||||
<a href="/">
|
||||
<div id="header-logo-container">
|
||||
<img src="/assets/images/logo/codeberg-favicon.svg" alt="Codeberg">
|
||||
<div id="logo-heading">Documentation</div>
|
||||
<body data-set-preferred-mode-onload="true">
|
||||
{% include 'license.njk' %}
|
||||
<div class="with-navbar with-sidebar with-transitions page-wrapper" data-sidebar-type="overlayed-sm-and-down">
|
||||
<div class="sidebar-overlay" onclick="halfmoon.toggleSidebar()"></div>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-content">
|
||||
<button class="btn btn-primary" type="button" onclick="halfmoon.toggleSidebar()">
|
||||
{% fas_icon "bars" %}
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
</button>
|
||||
</div>
|
||||
<!-- Navbar brand -->
|
||||
<a href="/" class="navbar-brand" title="Codeberg Docs">
|
||||
<img src="https://design.codeberg.org/logo-kit/icon_inverted.svg" height="22" width="22" alt="Codeberg" />
|
||||
Docs
|
||||
</a>
|
||||
<!-- Navbar nav -->
|
||||
<ul class="d-md-flex ml-auto d-none navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a
|
||||
href="{{ urls.commitHistoryMaster }}/{{ page.inputPath }}"
|
||||
class="nav-link"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{% fas_icon "history" %} View History
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a
|
||||
href="{{ urls.docsSourcesMaster }}/{{ page.inputPath }}"
|
||||
class="nav-link"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{% fas_icon "code" %} View Source
|
||||
</a>
|
||||
</li>
|
||||
{#
|
||||
<li class="nav-item">
|
||||
<a href="javascript:;" onclick="document.body.classList.toggle('dark-mode')" class="nav-link">
|
||||
{% fas_icon "moon" %} Toggle Dark Mode
|
||||
</a>
|
||||
</li>
|
||||
#}
|
||||
</ul>
|
||||
<!-- Navbar content (dropdown menu) -->
|
||||
<div class="ml-auto d-md-none navbar-content">
|
||||
<div class="with-arrow dropdown">
|
||||
<button class="btn" data-toggle="dropdown" type="button" id="navbar-dropdown-toggle-btn-1">
|
||||
Menu {% fas_icon "angle-down" %}
|
||||
</button>
|
||||
<div class="dropdown-menu-right w-200 dropdown-menu" aria-labelledby="navbar-dropdown-toggle-btn-1">
|
||||
<a
|
||||
href="{{ urls.commitHistoryMaster }}/{{ page.inputPath }}"
|
||||
class="dropdown-item"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{% fas_icon "history" %} View History
|
||||
</a>
|
||||
<a
|
||||
href="{{ urls.docsSourcesMaster }}/{{ page.inputPath }}"
|
||||
class="dropdown-item"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
{% fas_icon "code" %} View Source
|
||||
</a>
|
||||
{#
|
||||
<a href="javascript:;" onclick="document.body.classList.toggle('dark-mode')" class="dropdown-item">
|
||||
{% fas_icon "moon" %} Toggle Dark Mode
|
||||
</a>
|
||||
#}
|
||||
<div class="mt-5 dropdown-divider"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="sidebar">
|
||||
<div class="sidebar-menu">
|
||||
<!-- Sidebar content with the search box -->
|
||||
<div class="sidebar-content">
|
||||
<input type="text" class="form-control" placeholder="Filter Docs" id="search-input" />
|
||||
<div class="mt-10 font-size-12">Press <kbd>/</kbd> to focus</div>
|
||||
<div id="search-results"></div>
|
||||
</div>
|
||||
|
||||
{% for entry in collections.all | eleventyNavigation %} {% set active = entry.url == page.url or entry.key ==
|
||||
eleventyNavigation.parent %} {% if (not entry.draft) or active %}
|
||||
<h5 class="sidebar-title {% if active %} active{% endif %}">
|
||||
<a href="{{ entry.url }}" id="{{ entry.key }}"
|
||||
>{% fas_icon entry.icon | default("caret-right") %} {{ entry.title }}</a
|
||||
>
|
||||
</h5>
|
||||
<div class="sidebar-divider"></div>
|
||||
{% if entry.children.length > 0 %} {% for child in entry.children %} {% set child_active = child.url ==
|
||||
page.url %} {% if child_active or not child.draft %}
|
||||
<a href="{{ child.url }}" class="sidebar-link{% if child_active %} active{% endif %}" id="{{ child.key }}">
|
||||
<span class="name">{{ child.title }}</span>
|
||||
</a>
|
||||
{% endif %} {% endfor %} {% endif %} {% endif %}
|
||||
<br />
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<div class="action-buttons" id="header-action-buttons">
|
||||
<!--<a href="#">{% fas_icon "globe-europe" %} English</a>-->
|
||||
<a href="{{ urls.commitHistoryMaster }}/{{ page.inputPath }}" target="_blank">{% fas_icon "history" %} View History</a>
|
||||
<a href="{{ urls.docsSourcesMaster }}/{{ page.inputPath }}" target="_blank">{% fas_icon "code" %} View Source</a>
|
||||
<a href="#" id="contents-button" onclick="toggleSidebar()">{% fas_icon "bars" %}</a>
|
||||
</div>
|
||||
<div id="mobile-contents-button"><a href="#" onclick="toggleSidebar()">{% fas_icon "bars" %}</a></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div id="sidebar">
|
||||
<nav>
|
||||
<div class="sidebar-close-button"><a href="javascript:void(0)" onclick="hideSidebar()">{% fas_icon "times-circle" %}</a></div>
|
||||
|
||||
<ul>
|
||||
{% for entry in collections.all | eleventyNavigation %}
|
||||
{% set active = entry.url == page.url or entry.key == eleventyNavigation.parent %}
|
||||
{% if (not entry.draft) or active %}
|
||||
<li class="nav-section{% if active %} active{% endif %}" style="display: flex;">
|
||||
<a class="section-link" href="{{ entry.url }}" style="flex: 1;">{% fas_icon entry.icon | default("caret-right") %} {{ entry.title }}</a>
|
||||
{% if entry.children.length > 0 %}
|
||||
<a class="section-collapse-button" data-collapse-id="nav-second-level-{{ entry.key }}" href="javascript:void(0)" onclick="onCollapseButtonClick(this)">
|
||||
{% if active %}{% fas_icon "minus-square" %}{% else %}{% fas_icon "plus-square" %}{% endif %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="section-collapse-button"><!-- Intentionally left blank --></a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% if entry.children.length > 0 %}
|
||||
<li class="nav-second-level collapsible" id="nav-second-level-{{ entry.key }}"{% if not active %} style="max-height: 0px;"{% endif %}>
|
||||
<ul>
|
||||
{% for child in entry.children %}
|
||||
{% set child_active = child.url == page.url %}
|
||||
{% if child_active or not child.draft %}
|
||||
<li><a href="{{ child.url }}"{% if child_active %} class="active"{% endif %}>{{ child.title }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="flex-spacer"></div>
|
||||
|
||||
<article>
|
||||
{% if eleventyNavigation.title %}<h1>{{ eleventyNavigation.title }}</h1>{% endif %}
|
||||
{% if eleventyNavigation.draft %}<strong>Please note that this article is still a draft and might not have any contents yet.</strong>{% endif %}
|
||||
{{ content | safe }}
|
||||
{% if page.url != '/' %}{% include 'contribution_invitation.njk' %}{% endif %}
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="action-buttons" id="mobile-action-buttons">
|
||||
<!--<a href="#">{% fas_icon "globe-europe" %} English</a>-->
|
||||
<a href="{{ urls.commitHistoryMaster }}/{{ page.inputPath }}" target="_blank">{% fas_icon "history" %} View History</a>
|
||||
<a href="{{ urls.docsSourcesMaster }}/{{ page.inputPath }}" target="_blank">{% fas_icon "code" %} View Source</a>
|
||||
<div class="content-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-xl-8 content" data-pagefind-body>
|
||||
{% if eleventyNavigation.title %}
|
||||
<h1 class="content-title font-size-24">{{ eleventyNavigation.title }}</h1>
|
||||
{% endif %} {% if eleventyNavigation.draft %}
|
||||
<strong data-pagefind-ignore="all"
|
||||
>Please note that this article is still a draft and might not have any contents yet.</strong
|
||||
>
|
||||
{% endif %} {% include 'toc-collapse.njk' %}
|
||||
{{ content | safe }}
|
||||
<hr class="mb-20" />
|
||||
{% if page.url != '/' %} {% include 'contribution_invitation.njk' %} {% endif %}
|
||||
<div class="text-right font-size-16" data-pagefind-ignore="all">
|
||||
<p>© Codeberg Docs Contributors. See <a href="#modal-1" role="button">LICENSE</a></p>
|
||||
</div>
|
||||
</div>
|
||||
{% include 'toc-side.njk' %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
This Website by <a href="{{ urls.docsSourcesMaster }}/CONTRIBUTORS.md">The Codeberg Documentation Contributors</a> is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">CC-BY-SA 4.0</a>.
|
||||
It bundles third-party font software licensed under a different license.
|
||||
Please look at <a href="{{ urls.docsSourcesMaster }}/LICENSE.md">the LICENSE file</a> for details.<br>
|
||||
|
||||
Changes to the original versions of the article as well as its individual authors can be looked up in <a href="{{ urls.commitHistoryMaster }}/{{ page.inputPath }}" target="_blank">this article's commit history</a><br>
|
||||
|
||||
Codeberg and the Codeberg Logo are trademarks of Codeberg e.V.<br>
|
||||
|
||||
For Imprint, Privacy Policy and other legal notices, please refer to <a href="https://codeberg.org">https://codeberg.org</a>.
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|