Signed-off-by: sairate <sairate@sina.cn>
|
@ -0,0 +1,3 @@
|
||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
|
@ -0,0 +1,14 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
|
<option name="ignoredPackages">
|
||||||
|
<value>
|
||||||
|
<list size="1">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="numpy" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MaterialThemeProjectNewConfig">
|
||||||
|
<option name="metadata">
|
||||||
|
<MTProjectMetadataState>
|
||||||
|
<option name="userId" value="-6b4e756d:1965c88c220:-7ecb" />
|
||||||
|
</MTProjectMetadataState>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Black">
|
||||||
|
<option name="sdkName" value="Python 3.10 (yao)" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (yao)" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/yao.iml" filepath="$PROJECT_DIR$/.idea/yao.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="Python 3.10 (yao)" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Mkdocs 编程知识总结项目
|
||||||
|
|
||||||
|
这个项目是一个基于 Mkdocs 的编程知识总结,旨在为开发者提供一个集成、易于访问的学习资源。
|
||||||
|
|
||||||
|
## 安装
|
||||||
|
|
||||||
|
如果你希望在本地运行项目,请按以下步骤操作:
|
||||||
|
|
||||||
|
- 环境安装
|
||||||
|
``` python
|
||||||
|
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||||||
|
```
|
||||||
|
- 运行start.py
|
|
@ -0,0 +1 @@
|
||||||
|
# 紫菱的中药总结
|
|
@ -0,0 +1,40 @@
|
||||||
|
# 复肝丸说明书
|
||||||
|
|
||||||
|
## 药品名称
|
||||||
|
复肝丸
|
||||||
|
|
||||||
|
## 出处
|
||||||
|
《上海中医药杂志》1980年第6期
|
||||||
|
|
||||||
|
## 药物组成
|
||||||
|
- 紫河车
|
||||||
|
- 红参须
|
||||||
|
- 炙地鳖虫
|
||||||
|
- 炮山甲
|
||||||
|
- 参三七
|
||||||
|
- 片姜黄
|
||||||
|
- 广郁金
|
||||||
|
- 鸡内金
|
||||||
|
(各60克)
|
||||||
|
|
||||||
|
## 功能与主治
|
||||||
|
益气活血,化瘀消症。
|
||||||
|
|
||||||
|
## 适应症
|
||||||
|
适用于早期肝硬化患者的辅助治疗。
|
||||||
|
|
||||||
|
## 用法用量
|
||||||
|
请按照医师或中医师指导合理用药,切勿擅自增减剂量。
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
- 使用期间应配合合理饮食
|
||||||
|
- 避免辛辣刺激食物摄入
|
||||||
|
- 建议定期复查肝功能
|
||||||
|
- 孕妇慎用,或在医师指导下使用
|
||||||
|
|
||||||
|
## 贮藏方法
|
||||||
|
密封保存,置于阴凉干燥处,防止潮湿变质。
|
||||||
|
|
||||||
|
## 附注说明
|
||||||
|
本品来源于传统中医药理论与临床经验,具体效果因个体体质差异可能有所不同,务必在专业医生指导下使用。
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
last 4 years
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"name": "Material for MkDocs - VS Code dev container",
|
||||||
|
"image": "mcr.microsoft.com/devcontainers/typescript-node:0-18",
|
||||||
|
"features": {
|
||||||
|
"ghcr.io/devcontainers/features/python:1": {
|
||||||
|
"installTools": true,
|
||||||
|
"version": "3.11"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"postCreateCommand": "pip install -e . && pip install mkdocs-minify-plugin mkdocs-redirects && npm install && npm run build"
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
.cache
|
||||||
|
.git
|
||||||
|
.github
|
||||||
|
docs
|
||||||
|
material/overrides
|
||||||
|
node_modules
|
||||||
|
src
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# Top-level config
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# All files
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# Python
|
||||||
|
[*.py]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
|
@ -0,0 +1,55 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Node, TypeScript, Python
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
node_modules
|
||||||
|
__pycache__
|
||||||
|
venv
|
||||||
|
|
||||||
|
# Build files
|
||||||
|
build
|
||||||
|
MANIFEST
|
||||||
|
manifest.json
|
||||||
|
site
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
typings
|
||||||
|
webpack.config.ts
|
||||||
|
|
||||||
|
# Distribution files
|
||||||
|
dist
|
||||||
|
mkdocs_material.egg-info
|
||||||
|
|
||||||
|
# Caches and logs
|
||||||
|
*.cpuprofile
|
||||||
|
*.log
|
||||||
|
*.tsbuildinfo
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# General
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
tmp
|
|
@ -0,0 +1,355 @@
|
||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"parserOptions": {
|
||||||
|
"project": "tsconfig.json"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"@typescript-eslint",
|
||||||
|
"@stylistic/ts",
|
||||||
|
"eslint-plugin-eslint-comments",
|
||||||
|
"eslint-plugin-import",
|
||||||
|
"eslint-plugin-jsdoc",
|
||||||
|
"eslint-plugin-no-null"
|
||||||
|
],
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:@typescript-eslint/eslint-recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"import/extensions": [
|
||||||
|
".ts",
|
||||||
|
".tsx",
|
||||||
|
".js",
|
||||||
|
".jsx",
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"import/parsers": {
|
||||||
|
"@typescript-eslint/parser": [
|
||||||
|
".ts",
|
||||||
|
".tsx"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"array-bracket-spacing": "warn",
|
||||||
|
"arrow-parens": [
|
||||||
|
"warn",
|
||||||
|
"as-needed"
|
||||||
|
],
|
||||||
|
"block-spacing": "warn",
|
||||||
|
"brace-style": [
|
||||||
|
"warn",
|
||||||
|
"1tbs",
|
||||||
|
{
|
||||||
|
"allowSingleLine": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"comma-dangle": [
|
||||||
|
"error",
|
||||||
|
"never"
|
||||||
|
],
|
||||||
|
"comma-spacing": "warn",
|
||||||
|
"comma-style": "error",
|
||||||
|
"computed-property-spacing": "warn",
|
||||||
|
"curly": "off",
|
||||||
|
"eqeqeq": [
|
||||||
|
"error",
|
||||||
|
"smart"
|
||||||
|
],
|
||||||
|
"func-call-spacing": "warn",
|
||||||
|
"keyword-spacing": "warn",
|
||||||
|
"lines-around-comment": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"allowBlockStart": true,
|
||||||
|
"allowBlockEnd": true,
|
||||||
|
"beforeBlockComment": true,
|
||||||
|
"ignorePattern": "@ts-ignore"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lines-between-class-members": "warn",
|
||||||
|
"max-classes-per-file": "error",
|
||||||
|
"new-parens": "error",
|
||||||
|
"no-caller": "error",
|
||||||
|
"no-case-declarations": "off",
|
||||||
|
"no-console": "error",
|
||||||
|
"no-duplicate-imports": "error",
|
||||||
|
"no-eval": "error",
|
||||||
|
"no-extra-bind": "error",
|
||||||
|
"no-multiple-empty-lines": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"no-new-func": "error",
|
||||||
|
"no-new-wrappers": "error",
|
||||||
|
"no-restricted-globals": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"name": "fdescribe",
|
||||||
|
"message": "Did you mean 'describe'?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "xdescribe",
|
||||||
|
"message": "Did you mean 'describe'?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fit",
|
||||||
|
"message": "Did you mean 'it'?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "xit",
|
||||||
|
"message": "Did you mean 'xit'?"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"no-return-await": "error",
|
||||||
|
"no-sequences": "error",
|
||||||
|
"no-shadow": "off",
|
||||||
|
"no-tabs": "error",
|
||||||
|
"no-template-curly-in-string": "error",
|
||||||
|
"no-throw-literal": "off",
|
||||||
|
"no-trailing-spaces": "warn",
|
||||||
|
"no-undef-init": "error",
|
||||||
|
"no-underscore-dangle": "error",
|
||||||
|
"no-var": "error",
|
||||||
|
"no-whitespace-before-property": "warn",
|
||||||
|
"object-shorthand": "error",
|
||||||
|
"one-var": [
|
||||||
|
"error",
|
||||||
|
"never"
|
||||||
|
],
|
||||||
|
"prefer-exponentiation-operator": "error",
|
||||||
|
"prefer-object-spread": "error",
|
||||||
|
"prefer-template": "error",
|
||||||
|
"quote-props": [
|
||||||
|
"error",
|
||||||
|
"consistent-as-needed"
|
||||||
|
],
|
||||||
|
"quotes": [
|
||||||
|
"error",
|
||||||
|
"double",
|
||||||
|
{
|
||||||
|
"avoidEscape": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"radix": "error",
|
||||||
|
"semi": "off",
|
||||||
|
"sort-imports": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"ignoreDeclarationSort": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"space-before-blocks": "warn",
|
||||||
|
"space-before-function-paren": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"anonymous": "always",
|
||||||
|
"named": "never",
|
||||||
|
"asyncArrow": "always"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"space-in-parens": "warn",
|
||||||
|
"space-infix-ops": "warn",
|
||||||
|
"space-unary-ops": "warn",
|
||||||
|
"spaced-comment": "warn",
|
||||||
|
"switch-colon-spacing": "warn",
|
||||||
|
"template-tag-spacing": "warn",
|
||||||
|
|
||||||
|
/* Plugin: @typescript-eslint */
|
||||||
|
"@typescript-eslint/array-type": "off",
|
||||||
|
"@typescript-eslint/await-thenable": "error",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/ban-types": "off",
|
||||||
|
"@typescript-eslint/consistent-type-assertions": "error",
|
||||||
|
"@typescript-eslint/dot-notation": "error",
|
||||||
|
"@typescript-eslint/explicit-member-accessibility": "error",
|
||||||
|
"@typescript-eslint/naming-convention": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"selector": "enumMember",
|
||||||
|
"format": [
|
||||||
|
"UPPER_CASE"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-empty-interface": "off",
|
||||||
|
"@typescript-eslint/no-empty-object-type": "off",
|
||||||
|
"@typescript-eslint/no-extraneous-class": "error",
|
||||||
|
"@typescript-eslint/no-misused-promises": "off",
|
||||||
|
"@typescript-eslint/no-non-null-assertion": "off",
|
||||||
|
"@typescript-eslint/no-parameter-properties": "off",
|
||||||
|
"@typescript-eslint/no-floating-promises": "error",
|
||||||
|
"@typescript-eslint/no-shadow": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"hoist": "never"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-unnecessary-type-assertion": "error",
|
||||||
|
"@typescript-eslint/no-unused-expressions": "error",
|
||||||
|
"@typescript-eslint/no-unused-vars": "off",
|
||||||
|
"@typescript-eslint/no-var-requires": "off",
|
||||||
|
"@typescript-eslint/only-throw-error": "error",
|
||||||
|
"@typescript-eslint/prefer-for-of": "off",
|
||||||
|
"@typescript-eslint/prefer-function-type": "error",
|
||||||
|
"@typescript-eslint/triple-slash-reference": "off",
|
||||||
|
"@typescript-eslint/unbound-method": "error",
|
||||||
|
"@typescript-eslint/unified-signatures": "error",
|
||||||
|
|
||||||
|
/* Plugin: @stylistic/ts */
|
||||||
|
"@stylistic/ts/indent": [
|
||||||
|
"warn",
|
||||||
|
2,
|
||||||
|
{
|
||||||
|
"FunctionDeclaration": {
|
||||||
|
"parameters": 1,
|
||||||
|
"body": 1
|
||||||
|
},
|
||||||
|
"FunctionExpression": {
|
||||||
|
"parameters": 1,
|
||||||
|
"body": 1
|
||||||
|
},
|
||||||
|
"MemberExpression": "off",
|
||||||
|
"ObjectExpression": 1,
|
||||||
|
"SwitchCase": 1,
|
||||||
|
"ignoreComments": true,
|
||||||
|
"ignoredNodes": [
|
||||||
|
"ArrowFunctionExpression > *",
|
||||||
|
"CallExpression > ObjectExpression",
|
||||||
|
"ConditionalExpression > ConditionalExpression",
|
||||||
|
"TSTypeReference > *"
|
||||||
|
],
|
||||||
|
"offsetTernaryExpressions": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@stylistic/ts/member-delimiter-style": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"delimiter": "none"
|
||||||
|
},
|
||||||
|
"singleline": {
|
||||||
|
"delimiter": "comma",
|
||||||
|
"requireLast": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@stylistic/ts/semi": [
|
||||||
|
"error",
|
||||||
|
"never"
|
||||||
|
],
|
||||||
|
"@stylistic/ts/type-annotation-spacing": "error",
|
||||||
|
|
||||||
|
/* Plugin: eslint-plugin-eslint-comments */
|
||||||
|
"eslint-comments/no-unused-disable": "error",
|
||||||
|
"eslint-comments/no-unused-enable": "error",
|
||||||
|
"eslint-comments/no-use": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"allow": [
|
||||||
|
"eslint-disable-line",
|
||||||
|
"eslint-disable-next-line"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
/* Plugin: eslint-plugin-import */
|
||||||
|
"import/first": "error",
|
||||||
|
"import/newline-after-import": "error",
|
||||||
|
"import/no-default-export": "error",
|
||||||
|
"import/no-duplicates": "error",
|
||||||
|
"import/no-mutable-exports": "error",
|
||||||
|
"import/no-self-import": "error",
|
||||||
|
"import/order": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"alphabetize": {
|
||||||
|
"order": "asc"
|
||||||
|
},
|
||||||
|
"newlines-between": "always",
|
||||||
|
"groups": [
|
||||||
|
[
|
||||||
|
"builtin",
|
||||||
|
"external"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"internal"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"index"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"parent"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"sibling"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"pathGroups": [
|
||||||
|
{
|
||||||
|
"pattern": "~/**",
|
||||||
|
"group": "index",
|
||||||
|
"position": "before"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "_/**",
|
||||||
|
"group": "index",
|
||||||
|
"position": "after"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pathGroupsExcludedImportTypes": [
|
||||||
|
"builtin"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
/* Plugin: eslint-plugin-jsdoc */
|
||||||
|
"jsdoc/check-alignment": "warn",
|
||||||
|
"jsdoc/check-param-names": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"checkDestructured": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jsdoc/check-syntax": "warn",
|
||||||
|
"jsdoc/check-tag-names": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"definedTags": [
|
||||||
|
"internal"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jsdoc/empty-tags": "warn",
|
||||||
|
"jsdoc/no-bad-blocks": "warn",
|
||||||
|
"jsdoc/no-defaults": "warn",
|
||||||
|
"jsdoc/no-types": "warn",
|
||||||
|
"jsdoc/require-hyphen-before-param-description": "warn",
|
||||||
|
"jsdoc/require-jsdoc": "warn",
|
||||||
|
"jsdoc/require-param-description": "warn",
|
||||||
|
"jsdoc/require-param-name": "warn",
|
||||||
|
"jsdoc/require-param": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"checkDestructured": false,
|
||||||
|
"checkDestructuredRoots": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jsdoc/require-returns-check": "warn",
|
||||||
|
"jsdoc/require-returns-description": "warn",
|
||||||
|
"jsdoc/require-returns": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"checkGetters": false,
|
||||||
|
"forceReturnsWithAsync": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
/* Plugin: eslint-plugin-no-null */
|
||||||
|
"no-null/no-null": "error"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Enforce Unix newlines
|
||||||
|
* text=auto eol=lf
|
|
@ -0,0 +1,124 @@
|
||||||
|
name: Report a bug
|
||||||
|
description: Something is not working? Report a bug
|
||||||
|
body:
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: context
|
||||||
|
attributes:
|
||||||
|
label: Context
|
||||||
|
description: >-
|
||||||
|
This field is optional. You may provide additional context for the bug
|
||||||
|
you want to report, helping us to understand what you are working on and
|
||||||
|
what you are trying to achieve. If the context is not relevant, you can
|
||||||
|
leave this field empty.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#context)
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Bug description
|
||||||
|
description: >-
|
||||||
|
Please give a detailed description of the bug. Explain where Material
|
||||||
|
for MkDocs does not behave as you would expect it to. Be as specific as
|
||||||
|
possible. If you have found a workaround or a fix for the problem,
|
||||||
|
please let us maintainers (and all other users) know.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#bug-description)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: related-links
|
||||||
|
attributes:
|
||||||
|
label: Related links
|
||||||
|
description: >-
|
||||||
|
Please list all links to the sections of
|
||||||
|
[our documentation](https://squidfunk.github.io/mkdocs-material/) that
|
||||||
|
are relevant to the bug in order to show that you have consulted and
|
||||||
|
thoroughly read it. Additionally, list links to possibly related open
|
||||||
|
and closed [issues](https://github.com/squidfunk/mkdocs-material/issues)
|
||||||
|
and [discussions](https://github.com/squidfunk/mkdocs-material/discussions)
|
||||||
|
you encountered when searching our issue tracker.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#related-links)
|
||||||
|
value: |-
|
||||||
|
- [Reporting a bug](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/)
|
||||||
|
-
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: reproduction
|
||||||
|
attributes:
|
||||||
|
label: Reproduction
|
||||||
|
description: >-
|
||||||
|
Please create a __.zip file__ with a __minimal reproduction__ for the
|
||||||
|
bug. First, read our [reproduction guide](https://squidfunk.github.io/mkdocs-material/guides/creating-a-reproduction/)
|
||||||
|
that explains the necessary steps, then use the [built-in info plugin](https://squidfunk.github.io/mkdocs-material/plugins/info/) (mandatory) to create a self-contained
|
||||||
|
.zip file with the reproduction. We reserve the right to close issues
|
||||||
|
without .zip files.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#reproduction)
|
||||||
|
placeholder: |-
|
||||||
|
Drag and drop the .zip file with the minimal reproduction here.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: steps-to-reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to reproduce
|
||||||
|
description: >-
|
||||||
|
Please provide a detailed list of instructions, guiding us maintainers
|
||||||
|
through the required steps, helping us to recreate the problem using the
|
||||||
|
minimal reproduction you provided. Be as specific as possible and as
|
||||||
|
verbose as necessary – try not to leave anything out.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#steps-to-reproduce)
|
||||||
|
placeholder: |-
|
||||||
|
1. ...
|
||||||
|
2. ...
|
||||||
|
3. ...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: dropdown
|
||||||
|
id: browser
|
||||||
|
attributes:
|
||||||
|
label: Browser
|
||||||
|
description: >-
|
||||||
|
This field is optional. If the bug only happens in __specific browsers__,
|
||||||
|
please select them from the dropdown below. If your browser is not
|
||||||
|
listed or the version is relevant, you may select _Other_ and provide
|
||||||
|
more details in the field above.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#browser)
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Chrome
|
||||||
|
- Safari
|
||||||
|
- Edge
|
||||||
|
- Firefox
|
||||||
|
- Opera
|
||||||
|
- Other
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Before submitting
|
||||||
|
description: >-
|
||||||
|
Please ensure your bug report fulfills all of the following requirements.
|
||||||
|
If you are not sure what a specific requirement means, follow the link
|
||||||
|
to learn about it and understand why it is necessary before ticking the
|
||||||
|
box. This will save the maintainers and you valuable time.
|
||||||
|
options:
|
||||||
|
- label: >-
|
||||||
|
I have read and followed the [bug reporting guidelines](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have attached links to [the documentation](https://squidfunk.github.io/mkdocs-material/),
|
||||||
|
and possibly related [issues](https://github.com/squidfunk/mkdocs-material/issues)
|
||||||
|
and [discussions](https://github.com/squidfunk/mkdocs-material/discussions).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I assure that I have [removed all customizations](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-bug/#remove-customizations)
|
||||||
|
before submitting this bug report.
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have attached a __.zip file__ with a [minimal reproduction](https://squidfunk.github.io/mkdocs-material/guides/creating-a-reproduction/) using the [built-in info plugin](https://squidfunk.github.io/mkdocs-material/plugins/info/).
|
||||||
|
required: true
|
|
@ -0,0 +1,65 @@
|
||||||
|
name: Report a documentation issue
|
||||||
|
description: Missing information in our docs? Report a documentation issue
|
||||||
|
labels:
|
||||||
|
- documentation
|
||||||
|
body:
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Description
|
||||||
|
description: >-
|
||||||
|
Please describe the inconsistency or issue you have found in
|
||||||
|
[our documentation](https://squidfunk.github.io/mkdocs-material/)
|
||||||
|
or indicate where you feel there is a need for improvement. Furthermore,
|
||||||
|
explain the severity of the issue, i.e., its impact on you and potentially
|
||||||
|
other users.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/#description)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: related-links
|
||||||
|
attributes:
|
||||||
|
label: Related links
|
||||||
|
description: >-
|
||||||
|
Please list all links to the sections of [our documentation](https://squidfunk.github.io/mkdocs-material/)
|
||||||
|
that are impacted by the issue you described above. If applicable,
|
||||||
|
add screenshots. Additionally, list links to possibly related open
|
||||||
|
and closed [issues](https://github.com/squidfunk/mkdocs-material/issues)
|
||||||
|
and [discussions](https://github.com/squidfunk/mkdocs-material/discussions)
|
||||||
|
you encountered when searching our issue tracker.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/#related-links)
|
||||||
|
value: |-
|
||||||
|
- [Reporting a docs issue](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/)
|
||||||
|
-
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: proposed-change
|
||||||
|
attributes:
|
||||||
|
label: Proposed change
|
||||||
|
description: >-
|
||||||
|
This field is optional. You may provide an improvement proposal for our
|
||||||
|
documentation by describing your suggestion in the text field below or
|
||||||
|
creating a pull request after reporting this issue referencing the issue.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/#proposed-change)
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Before submitting
|
||||||
|
description: >-
|
||||||
|
Please ensure your documentation issue report fulfills all of the
|
||||||
|
following requirements. If you need clarification on a specific
|
||||||
|
requirement, follow the link to learn about it and understand why it is
|
||||||
|
necessary before ticking the box. This will save the maintainers and you
|
||||||
|
valuable time.
|
||||||
|
options:
|
||||||
|
- label: >-
|
||||||
|
I have read and followed the [documentation issue guidelines](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have attached the links to the affected sections of [the documentation](https://squidfunk.github.io/mkdocs-material/contributing/reporting-a-docs-issue/#related-links)
|
||||||
|
required: true
|
|
@ -0,0 +1,95 @@
|
||||||
|
name: Request a change
|
||||||
|
description: Want to submit an idea? Propose a change or feature request
|
||||||
|
body:
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: context
|
||||||
|
attributes:
|
||||||
|
label: Context
|
||||||
|
description: >-
|
||||||
|
This field is optional. You may provide additional context for the idea
|
||||||
|
you want to propose, helping us to understand what you are working on
|
||||||
|
and what you are trying to achieve. If the context is not relevant, you
|
||||||
|
can leave this field empty.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#context)
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Description
|
||||||
|
description: >-
|
||||||
|
Please provide a detailed description of your idea in 2-3 sentences so
|
||||||
|
that we maintainers can fully understand what change, feature, or the
|
||||||
|
improvement you are proposing. Don't yet explain the benefits of your
|
||||||
|
idea, we'll come to that. Focus on functionality.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#description)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: related-links
|
||||||
|
attributes:
|
||||||
|
label: Related links
|
||||||
|
description: >-
|
||||||
|
Please list all links to open and closed [issues](https://github.com/squidfunk/mkdocs-material/issues),
|
||||||
|
[discussions](https://github.com/squidfunk/mkdocs-material/discussions),
|
||||||
|
or to [documentation sections](https://squidfunk.github.io/mkdocs-material/)
|
||||||
|
that are relevant to your idea. If you discussed your idea with the
|
||||||
|
community on our [discussion board](https://github.com/squidfunk/mkdocs-material/discussions)
|
||||||
|
prior to creating this change request, please link the discussion here as well.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#related-links)
|
||||||
|
value: |-
|
||||||
|
- [Requesting a change](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/)
|
||||||
|
-
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: use-cases
|
||||||
|
attributes:
|
||||||
|
label: Use Cases
|
||||||
|
description: >-
|
||||||
|
Please explain how your idea will work from an author's and user's
|
||||||
|
perspective. Elaborate on how the change would positively impact not only
|
||||||
|
you but our community and how it aligns with the goals and [philosophy](https://squidfunk.github.io/mkdocs-material/philosophy/)
|
||||||
|
of the project.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#use-cases)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: visuals
|
||||||
|
attributes:
|
||||||
|
label: Visuals
|
||||||
|
description: >-
|
||||||
|
This field is optional. You may provide sketches, screenshots, mockups,
|
||||||
|
or external assets to illustrate your idea. If you have seen this change,
|
||||||
|
feature, or improvement used in other static site generators or themes,
|
||||||
|
please describe how it is implemented and advertised.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#visuals)
|
||||||
|
placeholder: |-
|
||||||
|
Drag and drop images here or link external assets.
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Before submitting
|
||||||
|
description:
|
||||||
|
Please ensure your idea fulfills all of the following requirements. If
|
||||||
|
you need clarification on a specific requirement, follow the link to
|
||||||
|
learn about it and understand why it is necessary before ticking the box.
|
||||||
|
This will save the maintainers and you valuable time.
|
||||||
|
options:
|
||||||
|
- label: >-
|
||||||
|
I have read and followed the [change request guidelines](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have verified that [my idea is a change request and not a bug report](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#its-not-a-bug-its-a-feature).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have ensured that, to the best of my knowledge, [my idea will benefit the entire community](https://squidfunk.github.io/mkdocs-material/contributing/requesting-a-change/#benefit-for-the-community).
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I have included relevant links to [the documentation](https://squidfunk.github.io/mkdocs-material/), related [issues](https://github.com/squidfunk/mkdocs-material/issues),
|
||||||
|
and [discussions](https://github.com/squidfunk/mkdocs-material/discussions) to underline the need for my idea.
|
||||||
|
required: true
|
|
@ -0,0 +1,111 @@
|
||||||
|
name: Add a translation
|
||||||
|
description: Missing support for your language? Add a translation
|
||||||
|
title: Add translations for ...
|
||||||
|
labels:
|
||||||
|
- change request
|
||||||
|
body:
|
||||||
|
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: >-
|
||||||
|
**Important**: Before creating a new translation, please check if
|
||||||
|
Material for MkDocs already supports your language. Review the list of
|
||||||
|
[available languages](https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language),
|
||||||
|
pick your language to add new or improve existing translations.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: translations
|
||||||
|
attributes:
|
||||||
|
label: Translations
|
||||||
|
description: >-
|
||||||
|
Please translate the labels on the right. For new languages, translate
|
||||||
|
each line. For existing languages, only translate lines containing the
|
||||||
|
:arrow_left: icon and remove the icon before submitting.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/adding-translations/#translations_1)
|
||||||
|
value: |-
|
||||||
|
{% macro t(key) %}{{ {
|
||||||
|
"language": "en ⬅️",
|
||||||
|
"direction": "ltr ⬅️",
|
||||||
|
"action.edit": "Edit this page ⬅️",
|
||||||
|
"action.skip": "Skip to content ⬅️",
|
||||||
|
"action.view": "View source of this page ⬅️",
|
||||||
|
"announce.dismiss": "Don't show this again ⬅️",
|
||||||
|
"blog.archive": "Archive ⬅️",
|
||||||
|
"blog.categories": "Categories ⬅️",
|
||||||
|
"blog.categories.in": "in ⬅️",
|
||||||
|
"blog.continue": "Continue reading ⬅️",
|
||||||
|
"blog.draft": "Draft ⬅️",
|
||||||
|
"blog.index": "Back to index ⬅️",
|
||||||
|
"blog.meta": "Metadata ⬅️",
|
||||||
|
"blog.references": "Related links ⬅️",
|
||||||
|
"clipboard.copy": "Copy to clipboard ⬅️",
|
||||||
|
"clipboard.copied": "Copied to clipboard ⬅️",
|
||||||
|
"consent.accept": "Accept ⬅️",
|
||||||
|
"consent.manage": "Manage settings ⬅️",
|
||||||
|
"consent.reject": "Reject ⬅️",
|
||||||
|
"footer": "Footer ⬅️",
|
||||||
|
"footer.next": "Next ⬅️",
|
||||||
|
"footer.previous": "Previous ⬅️",
|
||||||
|
"header": "Header ⬅️",
|
||||||
|
"meta.comments": "Comments ⬅️",
|
||||||
|
"meta.source": "Source ⬅️",
|
||||||
|
"nav": "Navigation ⬅️",
|
||||||
|
"readtime.one": "1 min read ⬅️",
|
||||||
|
"readtime.other": "# min read ⬅️",
|
||||||
|
"rss.created": "RSS feed ⬅️",
|
||||||
|
"rss.updated": "RSS feed of updated content ⬅️",
|
||||||
|
"search": "Search ⬅️",
|
||||||
|
"search.placeholder": "Search ⬅️",
|
||||||
|
"search.share": "Share ⬅️",
|
||||||
|
"search.reset": "Clear ⬅️",
|
||||||
|
"search.result.initializer": "Initializing search ⬅️",
|
||||||
|
"search.result.placeholder": "Type to start searching ⬅️",
|
||||||
|
"search.result.none": "No matching documents ⬅️",
|
||||||
|
"search.result.one": "1 matching document ⬅️",
|
||||||
|
"search.result.other": "# matching documents ⬅️",
|
||||||
|
"search.result.more.one": "1 more on this page ⬅️",
|
||||||
|
"search.result.more.other": "# more on this page ⬅️",
|
||||||
|
"search.result.term.missing": "Missing ⬅️",
|
||||||
|
"select.language": "Select language ⬅️",
|
||||||
|
"select.version": "Select version ⬅️",
|
||||||
|
"source": "Go to repository ⬅️",
|
||||||
|
"source.file.contributors": "Contributors ⬅️",
|
||||||
|
"source.file.date.created": "Created ⬅️",
|
||||||
|
"source.file.date.updated": "Last update ⬅️",
|
||||||
|
"tabs": "Tabs ⬅️",
|
||||||
|
"toc": "Table of contents ⬅️",
|
||||||
|
"top": "Back to top ⬅️"
|
||||||
|
}[key] }}{% endmacro %}
|
||||||
|
render: Jinja
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: country-flag
|
||||||
|
attributes:
|
||||||
|
label: Country flag
|
||||||
|
description: >-
|
||||||
|
This field is optional. Please add the flag of the country when adding a
|
||||||
|
new language. Go to our [emoji search](https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/#search)
|
||||||
|
and enter `flag` to find all available shortcodes. If your flag is not
|
||||||
|
included, please choose the most appropriate available flag.
|
||||||
|
[More](https://squidfunk.github.io/mkdocs-material/contributing/adding-translations/#country-flag)
|
||||||
|
placeholder: |-
|
||||||
|
Country flag shortcode, e.g. :flag_en:
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Before submitting
|
||||||
|
description: >-
|
||||||
|
Please ensure that your translation fulfills the following requirements.
|
||||||
|
options:
|
||||||
|
- label: >-
|
||||||
|
I've checked the list of [available languages](https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language) for existing translations.
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
I assure that the translations are accurate to the best of my knowledge.
|
||||||
|
required: true
|
||||||
|
- label: >-
|
||||||
|
__Optional__: I want to integrate this translation myself and create a
|
||||||
|
pull request following the [contribution guide](https://github.com/squidfunk/mkdocs-material/blob/master/CONTRIBUTING.md).
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Ask a question
|
||||||
|
url: https://github.com/squidfunk/mkdocs-material/discussions
|
||||||
|
about: >
|
||||||
|
Have a question or need help? Connect with our community on the
|
||||||
|
discussion board
|
|
@ -0,0 +1,236 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320">
|
||||||
|
<foreignObject width="100%" height="100%">
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<style>
|
||||||
|
@keyframes backdrop {
|
||||||
|
0% {
|
||||||
|
transform: scale(0.9) rotateZ(45deg);
|
||||||
|
opacity: 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
10% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
15% {
|
||||||
|
transform: scale(1.1) rotateZ(35deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: scale(1) rotateZ(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
75% {
|
||||||
|
transform: scale(1.1) rotateZ(-35deg);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: scale(0.9) rotateZ(-45deg);
|
||||||
|
opacity: 0.1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 320px;
|
||||||
|
height: 320px;
|
||||||
|
font-family:
|
||||||
|
system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial,
|
||||||
|
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
||||||
|
letter-spacing: -1px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
position: relative;
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo svg {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
margin: 20%;
|
||||||
|
fill: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backdrop {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-image: linear-gradient(#22272e, #526cfe);
|
||||||
|
border-radius: 100%;
|
||||||
|
animation: backdrop infinite both 10s 1s cubic-bezier(0.7, 0, 0.3, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin: 24px 0 4px;
|
||||||
|
color: #526cfe;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #5E5E5E;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<div class="container">
|
||||||
|
<div class="logo">
|
||||||
|
<div class="backdrop"></div>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
|
||||||
|
<polygon id="p1">
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="1s;p1o.end+1s" id="p1i"
|
||||||
|
keyTimes="0;1" keySplines="0.16 1 0.3 1"
|
||||||
|
values="
|
||||||
|
3.136 17.387, 3.136 60.319, 3.136 60.319, 3.136 60.319;
|
||||||
|
3.136 17.387, 3.136 60.319, 46.068 81.786, 3.136 17.387
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="p1i.end+5s" id="p1o"
|
||||||
|
keyTimes="0;1" keySplines="0.7 0 0.84 0"
|
||||||
|
values="
|
||||||
|
3.136 17.387, 3.136 60.319, 46.068 81.786, 3.136 17.387;
|
||||||
|
3.136 17.387, 3.136 60.319, 3.136 60.319, 3.136 60.319
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="5s" begin="p1i.end"
|
||||||
|
from="1" to="0.5"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="0.1s" begin="p1o.end"
|
||||||
|
from="0.5" to="1"
|
||||||
|
/>
|
||||||
|
</polygon>
|
||||||
|
<polygon id="p2" style="fill-opacity: 0.5;">
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="1s;p2o.end+1s" id="p2i"
|
||||||
|
keyTimes="0;1" keySplines="0.16 1 0.3 1"
|
||||||
|
values="
|
||||||
|
21.910 50.932, 21.910 50.932, 3.136 60.319, 3.136 60.319;
|
||||||
|
21.910 8.000, 64.843 72.398, 46.068 81.786, 3.136 17.387
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="p2i.end+5s" id="p2o"
|
||||||
|
keyTimes="0;1" keySplines="0.7 0 0.84 0"
|
||||||
|
values="
|
||||||
|
21.910 8.000, 64.843 72.398, 46.068 81.786, 3.136 17.387;
|
||||||
|
21.910 50.932, 21.910 50.932, 3.136 60.319, 3.136 60.319
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="5s" begin="p1i.end"
|
||||||
|
from="0.5" to="1"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="0.1s" begin="p2o.end"
|
||||||
|
from="1" to="0.5"
|
||||||
|
/>
|
||||||
|
</polygon>
|
||||||
|
<clipPath id="clip">
|
||||||
|
<polygon id="p3">
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="1s;p3o.end+1s" id="p3i"
|
||||||
|
keyTimes="0;1" keySplines="0.16 1 0.3 1"
|
||||||
|
values="
|
||||||
|
21.910 50.932, 21.910 50.932, 89 89, 89 0;
|
||||||
|
21.910 8.000, 64.843 72.398, 89 89, 89 0
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="p3i.end+5s" id="p3o"
|
||||||
|
keyTimes="0;1" keySplines="0.7 0 0.84 0"
|
||||||
|
values="
|
||||||
|
21.910 8.000, 64.843 72.398, 89 89, 89 0;
|
||||||
|
21.910 50.932, 21.910 50.932, 89 89, 89 0
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</polygon>
|
||||||
|
</clipPath>
|
||||||
|
<polygon id="p4" clip-path="url(#clip)">
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="1.25s;p4o.end+1s" id="p4i"
|
||||||
|
keyTimes="0;1" keySplines="0.16 1 0.3 1"
|
||||||
|
values="
|
||||||
|
67.535 71.052, 67.535 71.052, 62.151 68.361, 67.535 71.052;
|
||||||
|
67.535 17.387, 21.509 48.04, 62.151 68.361, 67.535 71.052
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="p4i.end+5s" id="p4o"
|
||||||
|
keyTimes="0;1" keySplines="0.7 0 0.84 0"
|
||||||
|
values="
|
||||||
|
67.535 17.387, 21.509 48.04, 62.151 68.361, 67.535 71.052;
|
||||||
|
67.535 71.052, 67.535 71.052, 62.151 68.361, 67.535 71.052
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="5s" begin="p1i.end"
|
||||||
|
from="1" to="0.5"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="0.1s" begin="p4o.end"
|
||||||
|
from="0.5" to="1"
|
||||||
|
/>
|
||||||
|
</polygon>
|
||||||
|
<polygon id="p5" clip-path="url(#clip)" style="fill-opacity: 0.25;">
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="1.25s;p5o.end+1s" id="p5i"
|
||||||
|
keyTimes="0;1" keySplines="0.16 1 0.3 1"
|
||||||
|
values="
|
||||||
|
67.535 71.053, 86.309 61.665, 86.309 61.665, 67.535 71.053;
|
||||||
|
67.535 71.053, 86.309 61.665, 86.309 8.000, 67.535 17.387
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="points" calcMode="spline" fill="freeze"
|
||||||
|
dur="2s" begin="p5i.end+5s" id="p5o"
|
||||||
|
keyTimes="0;1" keySplines="0.7 0 0.84 0"
|
||||||
|
values="
|
||||||
|
67.535 71.053, 86.309 61.665, 86.309 8.000, 67.535 17.387;
|
||||||
|
67.535 71.053, 86.309 61.665, 86.309 61.665, 67.535 71.053
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="5s" begin="p1i.end"
|
||||||
|
from="0.25" to="1"
|
||||||
|
/>
|
||||||
|
<animate
|
||||||
|
attributeName="fill-opacity" fill="freeze"
|
||||||
|
dur="0.1s" begin="p5o.end"
|
||||||
|
from="1" to="0.25"
|
||||||
|
/>
|
||||||
|
</polygon>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<h1>Material for MkDocs</h1>
|
||||||
|
<h2>Documentation that simply works</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</foreignObject>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 119 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="107" height="47" viewBox="-20 -3 147 53" fill="none">
|
||||||
|
<style>
|
||||||
|
.letters {
|
||||||
|
fill: black;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.letters { fill: white; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<path d="M100.132 6.57446V0H97.2949V9.37779H97.3533V9.40282H106.723V6.57446H100.132Z" fill="#A71930"></path>
|
||||||
|
<path d="M100.139 40.3557H106.713V37.5273H97.3356V37.5857H97.3105V46.9552H100.139V40.3557Z" fill="#A71930"></path>
|
||||||
|
<path d="M6.59949 6.57446V0H9.42785V9.37779H9.36945V9.40282H0V6.57446H6.59949Z" fill="#A71930"></path>
|
||||||
|
<path d="M6.58228 40.3557H0.0078125V37.5273H9.3856V37.5857H9.41898V46.9552H6.58228V40.3557Z" fill="#A71930"></path>
|
||||||
|
<path class="letters" d="M79.7918 27.3835C79.3579 26.6576 78.9074 25.9401 78.4569 25.2226C78.3985 25.1308 78.3985 25.0974 78.5069 25.0474C78.9491 24.8305 79.2995 24.4967 79.5498 24.0879C80.2173 22.995 80.2256 21.3764 79.5916 20.2751C79.3413 19.8329 78.9575 19.5242 78.5236 19.2739C77.9229 18.9235 77.2388 18.8233 76.5713 18.8067C75.2614 18.7649 73.9432 18.7983 72.6333 18.79C72.4831 18.79 72.4414 18.8484 72.4414 18.9902C72.4414 22.0021 72.4414 25.0224 72.4414 28.0343C72.4414 28.1844 72.4998 28.2178 72.6333 28.2178C73.1923 28.2095 73.7429 28.2095 74.3019 28.2178C74.4605 28.2178 74.5022 28.1678 74.4938 28.0176C74.4855 27.3418 74.4938 26.6743 74.4938 25.9985C74.4938 24.2798 74.4938 22.5611 74.4938 20.8424C74.4938 20.7506 74.4438 20.6338 74.6273 20.6338C75.3365 20.6422 76.0457 20.6255 76.7549 20.6588C77.0886 20.6755 77.3973 20.8174 77.6643 21.0426C78.1148 21.4097 78.1982 22.3609 77.9479 22.9199C77.706 23.4622 77.2471 23.6791 76.6965 23.7292C76.4044 23.7542 76.1124 23.7458 75.8204 23.7458C75.6535 23.7458 75.6285 23.8126 75.6953 23.9544C75.9289 24.43 76.1792 24.8889 76.4295 25.3561C76.8883 26.2405 77.3723 27.1165 77.8395 28.0009C77.8812 28.0843 77.9062 28.2262 78.0647 28.2178C78.7489 28.2095 79.4414 28.2178 80.1255 28.2178C80.259 28.2178 80.259 28.1594 80.2006 28.0676C80.0755 27.8257 79.9253 27.6088 79.7918 27.3835Z" fill="white"></path>
|
||||||
|
<path class="letters" d="M95.3105 26.6484C95.3189 26.4398 95.2438 26.3981 95.0435 26.3981C93.5584 26.4064 92.0733 26.3981 90.5799 26.4064C90.363 26.4064 90.3213 26.348 90.3213 26.1394C90.3379 25.6305 90.3379 25.1299 90.3213 24.621C90.3129 24.4124 90.3713 24.3707 90.5716 24.379C91.8648 24.3874 93.158 24.379 94.4512 24.3874C94.6431 24.3874 94.7181 24.354 94.7098 24.1454C94.6931 23.7199 94.6931 23.2861 94.7098 22.8606C94.7181 22.677 94.6597 22.6269 94.4762 22.6269C93.158 22.6353 91.8397 22.6269 90.5132 22.6353C90.3713 22.6353 90.3213 22.6019 90.3213 22.4517C90.3296 21.9261 90.3296 21.4005 90.3213 20.8749C90.3213 20.6913 90.3546 20.6329 90.5549 20.6329C92.0316 20.6413 93.5 20.6329 94.9768 20.6413C95.152 20.6413 95.2104 20.5912 95.2021 20.416C95.1937 19.9488 95.1937 19.4899 95.2021 19.0227C95.2104 18.8391 95.152 18.7891 94.9684 18.7891C92.8326 18.7974 90.7051 18.7974 88.5692 18.7891C88.3689 18.7891 88.3105 18.8475 88.3105 19.0477C88.3189 20.5328 88.3189 22.0095 88.3189 23.4946C88.3189 24.9881 88.3189 26.4899 88.3189 27.9833C88.3189 28.1168 88.3105 28.2086 88.5108 28.2086C90.7134 28.2002 92.916 28.2002 95.1186 28.2086C95.2688 28.2086 95.3105 28.1669 95.3022 28.025C95.3022 27.5578 95.2938 27.0989 95.3105 26.6484Z" fill="white"></path>
|
||||||
|
<path class="letters" d="M33.9372 18.9726C33.9372 18.8224 33.8788 18.7807 33.737 18.7807C33.2197 18.789 32.6941 18.789 32.1768 18.7807C31.9766 18.7723 31.9182 18.8307 31.9182 19.031C31.9265 20.7914 31.9265 22.5518 31.9182 24.3122C31.9182 24.7127 31.8514 25.1049 31.6762 25.4636C31.3842 26.056 30.892 26.3897 30.2328 26.4481C29.9325 26.4731 29.6321 26.4731 29.3318 26.373C29.0648 26.2813 28.8228 26.1561 28.6226 25.9642C28.1888 25.547 28.0135 25.0131 28.0052 24.4291C27.9969 22.6269 27.9969 20.8248 28.0052 19.0226C28.0052 18.8141 27.9385 18.764 27.7466 18.7723C27.246 18.7807 26.7454 18.789 26.2448 18.7723C26.0112 18.764 25.9277 18.8391 25.9277 19.0894C25.9361 20.6579 25.9361 22.2264 25.9277 23.7866C25.9277 24.4708 25.9528 25.1549 26.1613 25.814C26.3032 26.2896 26.5284 26.7234 26.8538 27.0822C27.2543 27.516 27.7299 27.8498 28.3139 28.0584C28.8312 28.2419 29.3568 28.317 29.8908 28.342C30.2912 28.3587 30.675 28.292 31.0672 28.2085C31.3175 28.1585 31.5678 28.0917 31.8014 27.9916C32.327 27.7497 32.8026 27.4326 33.1446 26.9571C33.9289 25.8808 33.9122 24.7461 33.9122 23.4612C33.9289 21.9678 33.9289 20.466 33.9372 18.9726Z" fill="white"></path>
|
||||||
|
<path class="letters" d="M64.8753 18.972C64.8753 18.8218 64.8252 18.7801 64.675 18.7801C64.1661 18.7884 63.6572 18.7801 63.1566 18.7801C62.8562 18.7801 62.8562 18.7801 62.8562 19.0721C62.8562 20.8158 62.8646 22.5679 62.8562 24.3116C62.8562 24.7121 62.7978 25.1042 62.6143 25.4713C62.3139 26.0637 61.8216 26.3891 61.1625 26.4558C60.8622 26.4809 60.5618 26.4725 60.2615 26.3807C59.8526 26.2473 59.5106 26.0053 59.2853 25.6465C59.0267 25.2461 58.9349 24.7788 58.9349 24.2949C58.9432 22.5345 58.9349 20.7741 58.9432 19.0137C58.9432 18.8301 58.8932 18.7717 58.7096 18.7801C58.184 18.7884 57.65 18.7884 57.1244 18.7801C56.9492 18.7801 56.8741 18.8468 56.8741 19.022C56.8991 20.1734 56.8658 21.3247 56.8658 22.4761C56.8658 23.786 56.7907 24.9374 57.2579 26.1805C57.4581 26.7145 57.8002 27.1483 58.2341 27.4987C58.9599 28.0828 59.8276 28.2747 60.7454 28.3414C61.0541 28.3664 61.3628 28.2913 61.6715 28.2747C61.9551 28.258 62.2388 28.1829 62.4974 28.0828C63.0064 27.8909 63.4736 27.6239 63.8574 27.2151C64.8586 26.1388 64.8586 24.9207 64.8586 23.5441C64.8669 22.0256 64.8669 20.4988 64.8753 18.972Z" fill="white"></path>
|
||||||
|
<path class="letters" d="M17.7186 19.0379C17.727 18.8377 17.6686 18.7793 17.46 18.7793C15.491 18.7876 13.5137 18.7876 11.5447 18.7793C11.3277 18.7793 11.2777 18.8544 11.286 19.0546C11.2944 20.5397 11.286 22.0248 11.286 23.5016C11.286 24.995 11.286 26.4968 11.286 27.9902C11.286 28.1487 11.3277 28.1988 11.4946 28.1988C12.0202 28.1905 12.5542 28.1821 13.0798 28.1988C13.2634 28.2071 13.3134 28.1487 13.3134 27.9735C13.3051 26.9723 13.3134 25.9628 13.3134 24.9616C13.3134 24.6946 13.3134 24.6946 13.5887 24.6946C14.7568 24.6946 15.9248 24.6946 17.0929 24.6946C17.3349 24.6946 17.3766 24.6529 17.3766 24.4193C17.3766 24.0022 17.3766 23.585 17.3766 23.1678C17.3766 22.8758 17.3766 22.8758 17.1012 22.8758C15.9082 22.8758 14.7151 22.8758 13.5137 22.8758C13.3635 22.8758 13.3134 22.8424 13.3134 22.6839C13.3218 22.0999 13.3218 21.5159 13.3218 20.9402C13.3218 20.6231 13.3218 20.6231 13.6305 20.6231C14.9153 20.6231 16.2002 20.6148 17.485 20.6315C17.6769 20.6315 17.752 20.5981 17.7437 20.3895C17.702 19.939 17.702 19.4885 17.7186 19.0379Z" fill="white"></path>
|
||||||
|
<path class="letters" d="M49.214 19.056C49.214 18.8642 49.1389 18.7891 48.9387 18.7891C46.5943 18.7891 44.2582 18.7891 41.9137 18.7891C41.7302 18.7891 41.6467 18.8642 41.6551 19.0477C41.6634 19.5066 41.6634 19.9655 41.6551 20.416C41.6467 20.5995 41.7051 20.6579 41.8887 20.6496C42.6479 20.6413 43.3988 20.6496 44.158 20.6413C44.3416 20.6413 44.3916 20.683 44.3916 20.8665C44.3833 22.0513 44.3833 23.236 44.3833 24.4207C44.3833 25.6138 44.3833 26.8069 44.3833 28C44.3833 28.1585 44.4167 28.2169 44.5919 28.2086C45.1175 28.2002 45.6515 28.2002 46.1771 28.2002C46.4608 28.2002 46.4608 28.2002 46.4608 27.9166C46.4608 25.5805 46.4608 23.2443 46.4608 20.9082C46.4608 20.708 46.4941 20.6329 46.7194 20.6329C47.487 20.6496 48.2462 20.6329 49.0138 20.6413C49.164 20.6413 49.2224 20.5912 49.2224 20.441C49.2057 19.9821 49.2057 19.5149 49.214 19.056Z" fill="white"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 7.7 KiB |
|
@ -0,0 +1,45 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: npm
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
directory: "/"
|
||||||
|
labels: []
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
time: "04:00"
|
||||||
|
- package-ecosystem: pip
|
||||||
|
# We only want to bump versions of packages in case of security updates, as
|
||||||
|
# we want to keep maximum compatibility - see https://t.ly/INSR_
|
||||||
|
open-pull-requests-limit: 0
|
||||||
|
directory: "/"
|
||||||
|
labels: []
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
time: "04:00"
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
directory: "/"
|
||||||
|
labels: []
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
time: "04:00"
|
|
@ -0,0 +1,205 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
name: build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
env:
|
||||||
|
NODE_VERSION: 18.x
|
||||||
|
PYTHON_VERSION: 3.x
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
npm-build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js runtime
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: ${{ env.NODE_VERSION }}
|
||||||
|
|
||||||
|
- name: Set up Node.js dependency cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: cache
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
|
||||||
|
path: node_modules
|
||||||
|
|
||||||
|
- name: Set up Node.js dependencies
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
run: npm install
|
||||||
|
|
||||||
|
- name: Build project
|
||||||
|
run: |
|
||||||
|
npm run build
|
||||||
|
git diff --name-only
|
||||||
|
|
||||||
|
npm-check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node.js runtime
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: ${{ env.NODE_VERSION }}
|
||||||
|
|
||||||
|
- name: Set up Node.js dependency cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: cache
|
||||||
|
with:
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
|
||||||
|
path: node_modules
|
||||||
|
|
||||||
|
- name: Set up Node.js dependencies
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
run: npm install
|
||||||
|
|
||||||
|
- name: Check project
|
||||||
|
run: npm run check
|
||||||
|
|
||||||
|
python:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python runtime
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
cache: pip
|
||||||
|
cache-dependency-path: |
|
||||||
|
pyproject.toml
|
||||||
|
requirements.txt
|
||||||
|
|
||||||
|
- name: Set up Python dependencies
|
||||||
|
run: pip install --upgrade build twine
|
||||||
|
|
||||||
|
- name: Build Python package
|
||||||
|
run: python -m build
|
||||||
|
|
||||||
|
- name: Publish Python package
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
env:
|
||||||
|
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||||
|
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||||
|
run: twine upload --disable-progress-bar -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} dist/*
|
||||||
|
|
||||||
|
docker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to DockerHub
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GHCR_TOKEN }}
|
||||||
|
|
||||||
|
- name: Generate Docker tags and labels
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v5
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
${{ github.event.repository.full_name }}
|
||||||
|
ghcr.io/${{ github.event.repository.full_name }}
|
||||||
|
tags: |
|
||||||
|
type=semver,pattern={{version}}
|
||||||
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
|
type=semver,pattern={{major}}
|
||||||
|
type=ref,event=branch
|
||||||
|
type=ref,event=pr
|
||||||
|
flavor: |
|
||||||
|
latest=${{ github.event.release.prerelease == false }}
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
load: true
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
||||||
|
- name: Check Docker image
|
||||||
|
working-directory: /tmp
|
||||||
|
env:
|
||||||
|
REPO_FULL_NAME: '${{ github.event.repository.full_name }}'
|
||||||
|
run: |
|
||||||
|
docker run --rm -i -v ${PWD}:/docs ${REPO_FULL_NAME,,}:${{ steps.meta.outputs.version }} new .
|
||||||
|
docker run --rm -i -v ${PWD}:/docs ${REPO_FULL_NAME,,}:${{ steps.meta.outputs.version }} build
|
||||||
|
|
||||||
|
- name: Set platforms
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
echo "PLATFORMS=linux/amd64,linux/arm64,linux/arm/v7" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Publish Docker image
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
platforms: ${{ env.PLATFORMS }}
|
||||||
|
push: ${{ github.event_name == 'release' }}
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
||||||
|
- name: Check manifest
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect ${{ github.event.repository.full_name }}:${{ steps.meta.outputs.version }}
|
||||||
|
|
||||||
|
- name: Inspect image
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
run: |
|
||||||
|
docker pull ${{ github.event.repository.full_name }}:${{ steps.meta.outputs.version }}
|
||||||
|
docker image inspect ${{ github.event.repository.full_name }}:${{ steps.meta.outputs.version }}
|
|
@ -0,0 +1,118 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
name: documentation
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
env:
|
||||||
|
PYTHON_VERSION: 3.x
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
id-token: write
|
||||||
|
pages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
documentation:
|
||||||
|
name: Build documentation
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
sparse-checkout: |
|
||||||
|
docs
|
||||||
|
includes
|
||||||
|
material/overrides
|
||||||
|
src/templates/partials/languages
|
||||||
|
|
||||||
|
- name: Set up Python runtime
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
cache: pip
|
||||||
|
cache-dependency-path: |
|
||||||
|
pyproject.toml
|
||||||
|
requirements.txt
|
||||||
|
|
||||||
|
- name: Set up build cache
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
key: mkdocs-material-${{ hashfiles('.cache/**') }}
|
||||||
|
path: .cache
|
||||||
|
restore-keys: |
|
||||||
|
mkdocs-material-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: sudo apt-get install pngquant
|
||||||
|
|
||||||
|
- name: Install Python dependencies
|
||||||
|
run: |
|
||||||
|
pip install mkdocs-material
|
||||||
|
pip install .[recommended,git,imaging]
|
||||||
|
|
||||||
|
- name: Install Insiders build
|
||||||
|
if: github.event.repository.fork == false
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
run: |
|
||||||
|
# Warning: please don't use this method when installing Insiders from
|
||||||
|
# CI! We have to do it this way in order to allow for overrides on our
|
||||||
|
# own documentation, but you should stick to the method we recommend
|
||||||
|
# in the publishing guide – see https://bit.ly/3zjdJtw
|
||||||
|
git clone --depth 1 https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
|
||||||
|
pip install -e mkdocs-material-insiders
|
||||||
|
cp mkdocs-material-insiders/mkdocs.yml mkdocs.yml
|
||||||
|
# echo 'extra_javascript: [${{ vars.CHAT_CLIENT_URL }}]' >> mkdocs.yml
|
||||||
|
rm -rf material
|
||||||
|
cp -r mkdocs-material-insiders/material material
|
||||||
|
|
||||||
|
- name: Build documentation
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||||
|
GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS_KEY }}
|
||||||
|
run: |
|
||||||
|
mkdocs build --clean
|
||||||
|
mkdocs --version
|
||||||
|
|
||||||
|
- name: Adjust permissions
|
||||||
|
run: |
|
||||||
|
chmod -c -R +rX site/ | while read line; do
|
||||||
|
echo "::warning title=Invalid file permissions automatically fixed::$line"
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Upload to GitHub Pages
|
||||||
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: site
|
||||||
|
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
|
|
||||||
|
- name: Save build cache
|
||||||
|
uses: actions/cache/save@v4
|
||||||
|
with:
|
||||||
|
key: mkdocs-material-${{ hashfiles('.cache/**') }}
|
||||||
|
path: .cache
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Node, TypeScript, Python
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
node_modules
|
||||||
|
__pycache__
|
||||||
|
venv
|
||||||
|
.venv
|
||||||
|
|
||||||
|
# Build files
|
||||||
|
build
|
||||||
|
site
|
||||||
|
|
||||||
|
# Distribution files
|
||||||
|
dist
|
||||||
|
mkdocs_material.egg-info
|
||||||
|
|
||||||
|
# Caches and logs
|
||||||
|
*.cpuprofile
|
||||||
|
*.log
|
||||||
|
*.tsbuildinfo
|
||||||
|
.cache
|
||||||
|
.eslintcache
|
||||||
|
__pycache__
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
example
|
||||||
|
example.zip
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# General
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Never ignore .gitkeep files
|
||||||
|
!**/.gitkeep
|
||||||
|
|
||||||
|
# macOS internals
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
TODO
|
||||||
|
tmp
|
||||||
|
|
||||||
|
# IDEs
|
||||||
|
.vscode
|
||||||
|
.idea
|
||||||
|
*~
|
||||||
|
|
||||||
|
# Vendor resources
|
||||||
|
/material/assets/vendor
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
# Distribution files
|
||||||
|
docs
|
||||||
|
material
|
||||||
|
src/**/*.html
|
||||||
|
|
||||||
|
# Prevent stylelint from constantly complaining
|
||||||
|
*.css
|
||||||
|
*.ts
|
|
@ -0,0 +1,166 @@
|
||||||
|
{
|
||||||
|
"extends": [
|
||||||
|
"@stylistic/stylelint-config",
|
||||||
|
"stylelint-config-recess-order",
|
||||||
|
"stylelint-config-recommended",
|
||||||
|
"stylelint-config-standard-scss"
|
||||||
|
],
|
||||||
|
"plugins": [
|
||||||
|
"@stylistic/stylelint-plugin",
|
||||||
|
"stylelint-scss"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"alpha-value-notation": "number",
|
||||||
|
"annotation-no-unknown": null,
|
||||||
|
"at-rule-empty-line-before": [
|
||||||
|
"always",
|
||||||
|
{
|
||||||
|
"except": [
|
||||||
|
"blockless-after-same-name-blockless",
|
||||||
|
"first-nested"
|
||||||
|
],
|
||||||
|
"ignore": [
|
||||||
|
"after-comment"
|
||||||
|
],
|
||||||
|
"ignoreAtRules": [
|
||||||
|
"if",
|
||||||
|
"each",
|
||||||
|
"else",
|
||||||
|
"elseif",
|
||||||
|
"for",
|
||||||
|
"import",
|
||||||
|
"return"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"at-rule-no-unknown": null,
|
||||||
|
"color-function-notation": null,
|
||||||
|
"color-hex-length": "long",
|
||||||
|
"color-named": "never",
|
||||||
|
"comment-empty-line-before": [
|
||||||
|
"always",
|
||||||
|
{
|
||||||
|
"ignore": [
|
||||||
|
"stylelint-commands"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"custom-property-empty-line-before": null,
|
||||||
|
"custom-property-pattern": null,
|
||||||
|
"declaration-no-important": true,
|
||||||
|
"declaration-block-single-line-max-declarations": 0,
|
||||||
|
"font-family-name-quotes": "always-where-recommended",
|
||||||
|
"font-weight-notation": "numeric",
|
||||||
|
"function-calc-no-unspaced-operator": null,
|
||||||
|
"function-no-unknown": null,
|
||||||
|
"function-url-no-scheme-relative": true,
|
||||||
|
"function-url-quotes": "always",
|
||||||
|
"hue-degree-notation": "number",
|
||||||
|
"length-zero-no-unit": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"ignore": ["custom-properties"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"media-feature-name-no-unknown": null,
|
||||||
|
"media-feature-range-notation": null,
|
||||||
|
"media-query-no-invalid": null,
|
||||||
|
"no-descending-specificity": null,
|
||||||
|
"no-unknown-animations": true,
|
||||||
|
"property-no-unknown": null,
|
||||||
|
"property-no-vendor-prefix": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"ignoreProperties": [
|
||||||
|
"line-clamp",
|
||||||
|
"box-orient"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"selector-class-pattern": null,
|
||||||
|
"selector-id-pattern": null,
|
||||||
|
"selector-max-id": 0,
|
||||||
|
"selector-no-qualifying-type": null,
|
||||||
|
"selector-pseudo-class-no-unknown": null,
|
||||||
|
"selector-pseudo-element-no-unknown": null,
|
||||||
|
"unit-allowed-list": [
|
||||||
|
"%",
|
||||||
|
"ch",
|
||||||
|
"dppx",
|
||||||
|
"deg",
|
||||||
|
"em",
|
||||||
|
"fr",
|
||||||
|
"mm",
|
||||||
|
"ms",
|
||||||
|
"px",
|
||||||
|
"vh",
|
||||||
|
"vw"
|
||||||
|
],
|
||||||
|
"value-keyword-case": [
|
||||||
|
"lower",
|
||||||
|
{
|
||||||
|
"ignoreProperties": [
|
||||||
|
"/^--/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"value-no-vendor-prefix": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"ignoreValues": [
|
||||||
|
"box"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scss/at-each-key-value-single-line": true,
|
||||||
|
"scss/at-else-closing-brace-newline-after": "always-last-in-chain",
|
||||||
|
"scss/at-function-parentheses-space-before": "never",
|
||||||
|
"scss/at-function-pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$",
|
||||||
|
"scss/at-if-closing-brace-newline-after": "always-last-in-chain",
|
||||||
|
"scss/at-if-no-null": true,
|
||||||
|
"scss/at-mixin-argumentless-call-parentheses": "always",
|
||||||
|
"scss/at-mixin-parentheses-space-before": "never",
|
||||||
|
"scss/at-mixin-pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$",
|
||||||
|
"scss/at-rule-conditional-no-parentheses": true,
|
||||||
|
"scss/comment-no-empty": null,
|
||||||
|
"scss/comment-no-loud": true,
|
||||||
|
"scss/declaration-nested-properties": "never",
|
||||||
|
"scss/dimension-no-non-numeric-values": true,
|
||||||
|
"scss/dollar-variable-colon-newline-after": "always-multi-line",
|
||||||
|
"scss/dollar-variable-colon-space-after": "always-single-line",
|
||||||
|
"scss/dollar-variable-colon-space-before": "never",
|
||||||
|
"scss/dollar-variable-first-in-block": null,
|
||||||
|
"scss/dollar-variable-no-missing-interpolation": true,
|
||||||
|
"scss/dollar-variable-pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$",
|
||||||
|
"scss/double-slash-comment-empty-line-before": null,
|
||||||
|
"scss/double-slash-comment-whitespace-inside": "always",
|
||||||
|
"scss/at-extend-no-missing-placeholder": null,
|
||||||
|
"scss/load-partial-extension": "never",
|
||||||
|
"scss/no-duplicate-mixins": true,
|
||||||
|
"scss/no-global-function-names": null,
|
||||||
|
"scss/operator-no-newline-after": null,
|
||||||
|
"scss/operator-no-unspaced": true,
|
||||||
|
"scss/partial-no-import": true,
|
||||||
|
"scss/percent-placeholder-pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$",
|
||||||
|
"scss/selector-no-redundant-nesting-selector": true,
|
||||||
|
"@stylistic/block-closing-brace-newline-after": [
|
||||||
|
"always",
|
||||||
|
{
|
||||||
|
"ignoreAtRules": [
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"elseif"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@stylistic/declaration-colon-space-after": null,
|
||||||
|
"@stylistic/no-empty-first-line": true,
|
||||||
|
"@stylistic/linebreaks": "unix",
|
||||||
|
"@stylistic/selector-combinator-space-before": null,
|
||||||
|
"@stylistic/selector-descendant-combinator-no-non-space": null,
|
||||||
|
"@stylistic/selector-max-empty-lines": 0,
|
||||||
|
"@stylistic/string-quotes": "double",
|
||||||
|
"@stylistic/unicode-bom": "never",
|
||||||
|
"@stylistic/value-list-comma-newline-after": null
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,74 @@
|
||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to making participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity and
|
||||||
|
orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for our community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or reject
|
||||||
|
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||||
|
not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
||||||
|
contributor for other behaviors that they deem inappropriate, threatening,
|
||||||
|
offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces
|
||||||
|
when an individual is representing the project or its community. Examples of
|
||||||
|
representing a project or community include using an official project e-mail
|
||||||
|
address, posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event. Representation of a project may be
|
||||||
|
further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting the project team privately at hello@squidfunk.com. The
|
||||||
|
project team will review and investigate all complaints, and will respond in a
|
||||||
|
way that it deems appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an
|
||||||
|
incident. Further details of specific enforcement policies may be posted
|
||||||
|
separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
|
version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
|
[homepage]: http://contributor-covenant.org
|
||||||
|
[version]: http://contributor-covenant.org/version/1/4/
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
Material for MkDocs is an actively maintained and constantly improved project
|
||||||
|
that serves a diverse user base with varying backgrounds and needs. In order to
|
||||||
|
effectively address the needs of all our users, evaluate change requests, and
|
||||||
|
fix bugs, we maintainers need to put in a lot of work. We have devoted
|
||||||
|
significant effort to creating better templates for our issue tracker,
|
||||||
|
optimizing the processes for our users to report bugs, request features or
|
||||||
|
changes, contribute to the project, or exchange with our community.
|
||||||
|
|
||||||
|
Given the wealth of valuable knowledge contained in numerous issues and
|
||||||
|
discussions, we consider our [issue tracker] and [discussion board] to serve as
|
||||||
|
a crucial __knowledge base__ that is an important addition to our [documentation]
|
||||||
|
and brings value to both new and experienced users of Material for MkDocs.
|
||||||
|
|
||||||
|
[discussion board]: https://github.com/squidfunk/mkdocs-material/discussions
|
||||||
|
[issue tracker]: https://github.com/squidfunk/mkdocs-material/issues
|
||||||
|
[documentation]: https://squidfunk.github.io/mkdocs-material/
|
||||||
|
|
||||||
|
## How to contribute
|
||||||
|
|
||||||
|
### Creating an issue
|
||||||
|
|
||||||
|
- #### [Report a bug]
|
||||||
|
|
||||||
|
__Something is not working?__ Report a bug in Material for MkDocs by
|
||||||
|
creating an issue with a reproduction
|
||||||
|
|
||||||
|
- #### [Report a docs issue]
|
||||||
|
|
||||||
|
__Missing information in our docs?__ Report missing information or
|
||||||
|
potential inconsistencies in our documentation
|
||||||
|
|
||||||
|
- #### [Request a change]
|
||||||
|
|
||||||
|
__Want to submit an idea?__ Propose a change, feature request, or
|
||||||
|
suggest an improvement
|
||||||
|
|
||||||
|
- #### [Ask a question]
|
||||||
|
|
||||||
|
__Have a question or need help?__ Ask a question on our [discussion board]
|
||||||
|
and get in touch with our community
|
||||||
|
|
||||||
|
### Contributing
|
||||||
|
|
||||||
|
- #### [Add a translation]
|
||||||
|
|
||||||
|
__Missing support for your language?__ Add missing translations for a new
|
||||||
|
or already supported language
|
||||||
|
|
||||||
|
- #### [Create a pull request]
|
||||||
|
|
||||||
|
__Want to create a pull request?__ Learn how to create a comprehensive
|
||||||
|
and useful pull request (PR)s
|
||||||
|
|
||||||
|
[Report a bug]: docs/contributing/reporting-a-bug.md
|
||||||
|
[Report a docs issue]: docs/contributing/reporting-a-docs-issue.md
|
||||||
|
[Request a change]: docs/contributing/requesting-a-change.md
|
||||||
|
[Ask a question]: https://github.com/squidfunk/mkdocs-material/discussions
|
||||||
|
[Add a translation]: docs/contributing/adding-translations
|
||||||
|
[Create a pull request]: docs/contributing/making-a-pull-request.md
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
# Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
# 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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
|
FROM python:3.11-alpine3.19
|
||||||
|
|
||||||
|
# Build-time flags
|
||||||
|
ARG WITH_PLUGINS=true
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
ENV PACKAGES=/usr/local/lib/python3.11/site-packages
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE=1
|
||||||
|
|
||||||
|
# Set build directory
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
# Copy files necessary for build
|
||||||
|
COPY material material
|
||||||
|
COPY package.json package.json
|
||||||
|
COPY README.md README.md
|
||||||
|
COPY *requirements.txt ./
|
||||||
|
COPY pyproject.toml pyproject.toml
|
||||||
|
|
||||||
|
# Perform build and cleanup artifacts and caches
|
||||||
|
RUN \
|
||||||
|
apk upgrade --update-cache -a \
|
||||||
|
&& \
|
||||||
|
apk add --no-cache \
|
||||||
|
cairo \
|
||||||
|
freetype-dev \
|
||||||
|
git \
|
||||||
|
git-fast-import \
|
||||||
|
jpeg-dev \
|
||||||
|
openssh \
|
||||||
|
tini \
|
||||||
|
zlib-dev \
|
||||||
|
&& \
|
||||||
|
apk add --no-cache --virtual .build \
|
||||||
|
gcc \
|
||||||
|
g++ \
|
||||||
|
libffi-dev \
|
||||||
|
musl-dev \
|
||||||
|
&& \
|
||||||
|
pip install --no-cache-dir --upgrade pip \
|
||||||
|
&& \
|
||||||
|
pip install --no-cache-dir . \
|
||||||
|
&& \
|
||||||
|
if [ "${WITH_PLUGINS}" = "true" ]; then \
|
||||||
|
pip install --no-cache-dir \
|
||||||
|
mkdocs-material[recommended] \
|
||||||
|
mkdocs-material[imaging]; \
|
||||||
|
fi \
|
||||||
|
&& \
|
||||||
|
if [ -e user-requirements.txt ]; then \
|
||||||
|
pip install -U -r user-requirements.txt; \
|
||||||
|
fi \
|
||||||
|
&& \
|
||||||
|
apk del .build \
|
||||||
|
&& \
|
||||||
|
for theme in mkdocs readthedocs; do \
|
||||||
|
rm -rf ${PACKAGES}/mkdocs/themes/$theme; \
|
||||||
|
ln -s \
|
||||||
|
${PACKAGES}/material/templates \
|
||||||
|
${PACKAGES}/mkdocs/themes/$theme; \
|
||||||
|
done \
|
||||||
|
&& \
|
||||||
|
rm -rf /tmp/* /root/.cache \
|
||||||
|
&& \
|
||||||
|
find ${PACKAGES} \
|
||||||
|
-type f \
|
||||||
|
-path "*/__pycache__/*" \
|
||||||
|
-exec rm -f {} \; \
|
||||||
|
&& \
|
||||||
|
git config --system --add safe.directory /docs \
|
||||||
|
&& \
|
||||||
|
git config --system --add safe.directory /site
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /docs
|
||||||
|
|
||||||
|
# Expose MkDocs development server port
|
||||||
|
EXPOSE 8000
|
||||||
|
|
||||||
|
# Start development server by default
|
||||||
|
ENTRYPOINT ["/sbin/tini", "--", "mkdocs"]
|
||||||
|
CMD ["serve", "--dev-addr=0.0.0.0:8000"]
|
|
@ -0,0 +1,19 @@
|
||||||
|
Copyright (c) 2016-2024 Martin Donath <martin.donath@squidfunk.com>
|
||||||
|
|
||||||
|
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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
|
@ -0,0 +1,349 @@
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://squidfunk.github.io/mkdocs-material/">
|
||||||
|
<img src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/logo.svg" width="320" alt="Material for MkDocs">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<strong>
|
||||||
|
A powerful documentation framework on top of
|
||||||
|
<a href="https://www.mkdocs.org/">MkDocs</a>
|
||||||
|
</strong>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/squidfunk/mkdocs-material/actions"><img
|
||||||
|
src="https://github.com/squidfunk/mkdocs-material/workflows/build/badge.svg?branch=master"
|
||||||
|
alt="Build"
|
||||||
|
/></a>
|
||||||
|
<a href="https://pypistats.org/packages/mkdocs-material"><img
|
||||||
|
src="https://img.shields.io/pypi/dm/mkdocs-material.svg"
|
||||||
|
alt="Downloads"
|
||||||
|
/></a>
|
||||||
|
<a href="https://pypi.org/project/mkdocs-material"><img
|
||||||
|
src="https://img.shields.io/pypi/v/mkdocs-material.svg"
|
||||||
|
alt="Python Package Index"
|
||||||
|
/></a>
|
||||||
|
<a href="https://hub.docker.com/r/squidfunk/mkdocs-material/"><img
|
||||||
|
src="https://img.shields.io/docker/pulls/squidfunk/mkdocs-material"
|
||||||
|
alt="Docker Pulls"
|
||||||
|
/></a>
|
||||||
|
<a href="https://github.com/sponsors/squidfunk"><img
|
||||||
|
src="https://img.shields.io/github/sponsors/squidfunk"
|
||||||
|
alt="Sponsors"
|
||||||
|
/></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
Write your documentation in Markdown and create a professional static site for
|
||||||
|
your Open Source or commercial project in minutes – searchable, customizable,
|
||||||
|
more than 60 languages, for all devices.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://squidfunk.github.io/mkdocs-material/getting-started/">
|
||||||
|
<img src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/screenshot.png" width="700" />
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<em>
|
||||||
|
Check out the demo –
|
||||||
|
<a
|
||||||
|
href="https://squidfunk.github.io/mkdocs-material/"
|
||||||
|
>squidfunk.github.io/mkdocs-material</a>.
|
||||||
|
</em>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2></h2>
|
||||||
|
<p id="premium-sponsors"> </p>
|
||||||
|
<p align="center"><strong>Silver sponsors</strong></p>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://fastapi.tiangolo.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-fastapi.png" height="120"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.trendpop.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-trendpop.png" height="120"
|
||||||
|
/></a>
|
||||||
|
<a href="https://documentation.sailpoint.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-sailpoint.png" height="120"
|
||||||
|
/></a>
|
||||||
|
<a href="https://futureplc.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-future.svg" height="120"
|
||||||
|
/></a>
|
||||||
|
<a href="https://opensource.siemens.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-siemens.png" height="120"
|
||||||
|
/></a>
|
||||||
|
</p>
|
||||||
|
<p> </p>
|
||||||
|
<p align="center"><strong>Bronze sponsors</strong></p>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://cirrus-ci.org/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-cirrus-ci.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://docs.baslerweb.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-basler.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://kx.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-kx.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://orion-docs.prefect.io/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-prefect.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.zenoss.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-zenoss.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://docs.posit.co" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-posit.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://n8n.io" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-n8n.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.dogado.de" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-dogado.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://wwt.com" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-wwt.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://coda.io" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-coda.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://elastic.co" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-elastic.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://ipfabric.io/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-ip-fabric.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.apex.ai/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-apex-ai.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://jitterbit.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-jitterbit.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://sparkfun.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-sparkfun.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://eccenca.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-eccenca.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://neptune.ai/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-neptune-ai.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<!-- <a href="https://cash.app/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-cashapp.png" height="58"
|
||||||
|
/></a> -->
|
||||||
|
<a href="https://rackn.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-rackn.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://civicactions.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-civic-actions.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://bitcrowd.net/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-bitcrowd.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://getscreen.me/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-getscreenme.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://botcity.dev/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-botcity.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.springernature.com/gp" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-sn-technology.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://kolena.io/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-kolena.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.evergiving.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-evergiving.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://koor.tech/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-koor.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://astral.sh/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-astral.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://oikolab.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-oikolab.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.buhlergroup.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-buhler.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://3dr.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-3dr.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://spotware.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-spotware.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://milfordasset.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-milford.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.lechler.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-lechler.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://invers.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-invers.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://maxar.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-maxar.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://www.equipmentshare.com/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-equipmentshare.png" height="58"
|
||||||
|
/></a>
|
||||||
|
<a href="https://hummingbot.org/" target=_blank><img
|
||||||
|
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-hummingbot.png" height="58"
|
||||||
|
/></a>
|
||||||
|
</p>
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
|
## Everything you would expect
|
||||||
|
|
||||||
|
### It's just Markdown
|
||||||
|
|
||||||
|
Focus on the content of your documentation and create a professional static site
|
||||||
|
in minutes. No need to know HTML, CSS or JavaScript – let Material for MkDocs do
|
||||||
|
the heavy lifting for you.
|
||||||
|
|
||||||
|
### Works on all devices
|
||||||
|
|
||||||
|
Serve your documentation with confidence – Material for MkDocs automatically
|
||||||
|
adapts to perfectly fit the available screen estate, no matter the type or size
|
||||||
|
of the viewing device. Desktop. Tablet. Mobile. All great.
|
||||||
|
|
||||||
|
### Made to measure
|
||||||
|
|
||||||
|
Make it yours – change the colors, fonts, language, icons, logo, and more with
|
||||||
|
a few lines of configuration. Material for MkDocs can be easily extended and
|
||||||
|
provides many options to alter appearance and behavior.
|
||||||
|
|
||||||
|
### Fast and lightweight
|
||||||
|
|
||||||
|
Don't let your users wait – get incredible value with a small footprint by using
|
||||||
|
one of the fastest themes available with excellent performance, yielding optimal
|
||||||
|
search engine rankings and happy users that return.
|
||||||
|
|
||||||
|
### Built for everyone
|
||||||
|
|
||||||
|
Make accessibility a priority – users can navigate your documentation with touch
|
||||||
|
devices, keyboards, and screen readers. Semantic markup ensures that your
|
||||||
|
documentation works for everyone.
|
||||||
|
|
||||||
|
### Open Source
|
||||||
|
|
||||||
|
Trust 20,000+ users – choose a mature and actively maintained solution built
|
||||||
|
with state-of-the-art Open Source technologies. Keep ownership of your content
|
||||||
|
without fear of vendor lock-in. Licensed under MIT.
|
||||||
|
|
||||||
|
## Quick start
|
||||||
|
|
||||||
|
Material for MkDocs can be installed with `pip`:
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
pip install mkdocs-material
|
||||||
|
```
|
||||||
|
|
||||||
|
Add the following lines to `mkdocs.yml`:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
```
|
||||||
|
|
||||||
|
For detailed installation instructions, configuration options, and a demo, visit
|
||||||
|
[squidfunk.github.io/mkdocs-material][Material for MkDocs]
|
||||||
|
|
||||||
|
[Material for MkDocs]: https://squidfunk.github.io/mkdocs-material/
|
||||||
|
|
||||||
|
## Trusted by ...
|
||||||
|
|
||||||
|
### ... industry leaders
|
||||||
|
|
||||||
|
[ArXiv](https://info.arxiv.org),
|
||||||
|
[Atlassian](https://atlassian.github.io/data-center-helm-charts/),
|
||||||
|
[AWS](https://aws.github.io/copilot-cli/),
|
||||||
|
[Bloomberg](https://bloomberg.github.io/selekt/),
|
||||||
|
[CERN](http://abpcomputing.web.cern.ch/),
|
||||||
|
[CloudFlare](https://cloudflare.github.io/itty-router-openapi/),
|
||||||
|
[Datadog](https://datadoghq.dev/integrations-core/),
|
||||||
|
[Google](https://google.github.io/accompanist/),
|
||||||
|
[Harvard](https://informatics.fas.harvard.edu/),
|
||||||
|
[Hewlett Packard](https://hewlettpackard.github.io/squest/),
|
||||||
|
[HSBC](https://hsbc.github.io/pyratings/),
|
||||||
|
[ING](https://ing-bank.github.io/baker/),
|
||||||
|
[Intel](https://open-amt-cloud-toolkit.github.io/docs/),
|
||||||
|
[JetBrains](https://jetbrains.github.io/projector-client/mkdocs/),
|
||||||
|
[LinkedIn](https://linkedin.github.io/school-of-sre/),
|
||||||
|
[Microsoft](https://microsoft.github.io/code-with-engineering-playbook/),
|
||||||
|
[Mozilla](https://mozillafoundation.github.io/engineering-handbook/),
|
||||||
|
[Netflix](https://netflix.github.io/titus/),
|
||||||
|
[Red Hat](https://ansible.readthedocs.io/projects/lint/),
|
||||||
|
[Roboflow](https://inference.roboflow.com/),
|
||||||
|
[Salesforce](https://policy-sentry.readthedocs.io/),
|
||||||
|
[SIEMENS](https://opensource.siemens.com/),
|
||||||
|
[Slack](https://slackhq.github.io/circuit/),
|
||||||
|
[Square](https://square.github.io/okhttp/),
|
||||||
|
[Uber](https://uber-go.github.io/fx/),
|
||||||
|
[Zalando](https://opensource.zalando.com/skipper/)
|
||||||
|
|
||||||
|
### ... and successful Open Source projects
|
||||||
|
|
||||||
|
[Amp](https://amp.rs/docs/),
|
||||||
|
[Arduino](https://arduino.github.io/arduino-cli/),
|
||||||
|
[Auto-GPT](https://docs.agpt.co/),
|
||||||
|
[AutoKeras](https://autokeras.com/),
|
||||||
|
[BFE](https://www.bfe-networks.net/),
|
||||||
|
[CentOS](https://docs.infra.centos.org/),
|
||||||
|
[Crystal](https://crystal-lang.org/reference/),
|
||||||
|
[eBPF](https://ebpf-go.dev/),
|
||||||
|
[Electron](https://www.electron.build/),
|
||||||
|
[FastAPI](https://fastapi.tiangolo.com/),
|
||||||
|
[Freqtrade](https://www.freqtrade.io/en/stable/),
|
||||||
|
[GoReleaser](https://goreleaser.com/),
|
||||||
|
[HedgeDoc](https://docs.hedgedoc.org/),
|
||||||
|
[Hummingbot](https://hummingbot.org/),
|
||||||
|
[Knative](https://knative.dev/docs/),
|
||||||
|
[Kubernetes](https://kops.sigs.k8s.io/),
|
||||||
|
[kSQL](https://docs.ksqldb.io/),
|
||||||
|
[NetBox](https://netboxlabs.com/docs/netbox/en/stable/),
|
||||||
|
[Nokogiri](https://nokogiri.org/),
|
||||||
|
[OpenFaaS](https://docs.openfaas.com/),
|
||||||
|
[Orchard Core](https://docs.orchardcore.net/en/latest/),
|
||||||
|
[Percona](https://docs.percona.com/percona-monitoring-and-management/),
|
||||||
|
[Pi-Hole](https://docs.pi-hole.net/),
|
||||||
|
[Pydantic](https://pydantic-docs.helpmanual.io/),
|
||||||
|
[PyPI](https://docs.pypi.org/),
|
||||||
|
[Renovate](https://docs.renovatebot.com/),
|
||||||
|
[RetroPie](https://retropie.org.uk/docs/),
|
||||||
|
[Supervision](https://supervision.roboflow.com/latest/),
|
||||||
|
[Traefik](https://docs.traefik.io/),
|
||||||
|
[Trivy](https://aquasecurity.github.io/trivy/),
|
||||||
|
[Typer](https://typer.tiangolo.com/),
|
||||||
|
[tinygrad](https://docs.tinygrad.org/),
|
||||||
|
[Ultralytics](https://docs.ultralytics.com/),
|
||||||
|
[Vapor](https://docs.vapor.codes/),
|
||||||
|
[WebKit](https://docs.webkit.org/),
|
||||||
|
[WTF](https://wtfutil.com/),
|
||||||
|
[ZeroNet](https://zeronet.io/docs/)
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
**MIT License**
|
||||||
|
|
||||||
|
Copyright (c) 2016-2024 Martin Donath
|
||||||
|
|
||||||
|
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 NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
|
@ -0,0 +1,112 @@
|
||||||
|
# Alternatives
|
||||||
|
|
||||||
|
There are tons of static site generators and themes out there and choosing the
|
||||||
|
right one for your tech stack is a tough decision. If you're unsure if Material
|
||||||
|
for MkDocs is the right solution for you, this section should help you evaluate
|
||||||
|
alternative solutions.
|
||||||
|
|
||||||
|
## Docusaurus
|
||||||
|
|
||||||
|
[Docusaurus] by Facebook is a very popular documentation generator and a good
|
||||||
|
choice if you or your company are already using [React] to build your site.
|
||||||
|
It will generate a [single page application] which is fundamentally different
|
||||||
|
from the site Material for MkDocs generates for you.
|
||||||
|
|
||||||
|
__Advantages__
|
||||||
|
|
||||||
|
- Very powerful, customizable and extendable
|
||||||
|
- Provides many components that aid in technical writing
|
||||||
|
- Large and rich ecosystem, backed by Facebook
|
||||||
|
|
||||||
|
__Challenges__
|
||||||
|
|
||||||
|
- High learning curve, JavaScript knowledge mandatory
|
||||||
|
- JavaScript ecosystem is very volatile, rather high maintenance
|
||||||
|
- More time needed to get up and running
|
||||||
|
|
||||||
|
While [Docusaurus] is one of the best choices when it comes to documentation
|
||||||
|
sites that output a single page application, there are many more solutions,
|
||||||
|
including [Docz], [Gatsby], [Vuepress] and [Docsify] that approach
|
||||||
|
this problem similarly.
|
||||||
|
|
||||||
|
[Docusaurus]: https://docusaurus.io/
|
||||||
|
[React]: https://reactjs.org/
|
||||||
|
[single page application]: https://en.wikipedia.org/wiki/Single-page_application
|
||||||
|
[Docz]: https://www.docz.site/
|
||||||
|
[Gatsby]: https://www.gatsbyjs.com/
|
||||||
|
[VuePress]: https://vuepress.vuejs.org/
|
||||||
|
[Docsify]: https://docsify.js.org/
|
||||||
|
|
||||||
|
## Jekyll
|
||||||
|
|
||||||
|
[Jekyll] is probably one of the most mature and widespread static site
|
||||||
|
generators and is written in [Ruby]. It is not specifically geared towards
|
||||||
|
technical project documentation and has many themes to choose from, which
|
||||||
|
can be challenging.
|
||||||
|
|
||||||
|
__Advantages__
|
||||||
|
|
||||||
|
- Battle-tested, rich ecosystem, many themes to choose from
|
||||||
|
- Brings great capabilities for blogging (permalinks, tags, etc.)
|
||||||
|
- Generates a SEO-friendly site, similar to Material for MkDocs
|
||||||
|
|
||||||
|
__Challenges__
|
||||||
|
|
||||||
|
- Not specifically geared towards technical project documentation
|
||||||
|
- Limited Markdown capabilities, not as advanced as Python Markdown
|
||||||
|
- More time needed to get up and running
|
||||||
|
|
||||||
|
[Jekyll]: https://jekyllrb.com/
|
||||||
|
[Ruby]: https://www.ruby-lang.org/de/
|
||||||
|
|
||||||
|
## Sphinx
|
||||||
|
|
||||||
|
[Sphinx] is an alternative static site generator specifically geared towards
|
||||||
|
generating reference documentation, offering powerful capabilities that are
|
||||||
|
lacking in MkDocs. It uses [reStructured text], a format similar to Markdown,
|
||||||
|
which some users find harder to use.
|
||||||
|
|
||||||
|
__Advantages__
|
||||||
|
|
||||||
|
- Very powerful, customizable and extendable
|
||||||
|
- Generates reference documentation from [Python docstrings]
|
||||||
|
- Large and rich ecosystem, used by many Python projects
|
||||||
|
|
||||||
|
__Challenges__
|
||||||
|
|
||||||
|
- High learning curve, [reStructured text] syntax might be challenging
|
||||||
|
- Search is less powerful than the one provided by MkDocs
|
||||||
|
- More time needed to get up and running
|
||||||
|
|
||||||
|
If you're considering using Sphinx because you need to generate reference
|
||||||
|
documentation, you should give [mkdocstrings] a try – an actively maintained
|
||||||
|
and popular framework building on top of MkDocs, implementing Sphinx-like
|
||||||
|
functionality.
|
||||||
|
|
||||||
|
[Sphinx]: https://www.sphinx-doc.org/
|
||||||
|
[reStructured text]: https://en.wikipedia.org/wiki/ReStructuredText
|
||||||
|
[Python docstrings]: https://www.python.org/dev/peps/pep-0257/
|
||||||
|
[mkdocstrings]: https://github.com/mkdocstrings/mkdocstrings
|
||||||
|
|
||||||
|
## GitBook
|
||||||
|
|
||||||
|
[GitBook] offers a hosted documentation solution that generates a beautiful and
|
||||||
|
functional site from Markdown files in your GitHub repository. However, it was
|
||||||
|
once Open Source, but turned into a closed source solution some time ago.
|
||||||
|
|
||||||
|
__Advantages__
|
||||||
|
|
||||||
|
- Hosted solution, minimal technical knowledge required
|
||||||
|
- Custom domains, authentication and other enterprise features
|
||||||
|
- Great collaboration features for teams
|
||||||
|
|
||||||
|
__Challenges__
|
||||||
|
|
||||||
|
- Closed source, not free for proprietary projects
|
||||||
|
- Limited Markdown capabilities, not as advanced as Python Markdown
|
||||||
|
- Many Open Source projects moved away from GitBook
|
||||||
|
|
||||||
|
Many users switched from [GitBook] to Material for MkDocs, as they want to keep
|
||||||
|
control and ownership of their documentation, favoring an Open Source solution.
|
||||||
|
|
||||||
|
[GitBook]: https://www.gitbook.com/
|
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 193 KiB |
After Width: | Height: | Size: 170 KiB |
After Width: | Height: | Size: 182 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 235 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 319 KiB |
After Width: | Height: | Size: 153 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 139 KiB |
After Width: | Height: | Size: 135 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 141 KiB |
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 158 KiB |