Signed-off-by: sairate <sairate@sina.cn>
|
@ -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-2023 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-2023 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-2023 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,350 @@
|
|||
{
|
||||
"root": true,
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"project": "tsconfig.json"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"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/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
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/member-delimiter-style": [
|
||||
"error",
|
||||
{
|
||||
"multiline": {
|
||||
"delimiter": "none"
|
||||
},
|
||||
"singleline": {
|
||||
"delimiter": "comma",
|
||||
"requireLast": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": "enumMember",
|
||||
"format": [
|
||||
"UPPER_CASE"
|
||||
]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-empty-interface": "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-throw-literal": "error",
|
||||
"@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/prefer-for-of": "off",
|
||||
"@typescript-eslint/prefer-function-type": "error",
|
||||
"@typescript-eslint/semi": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"@typescript-eslint/triple-slash-reference": "off",
|
||||
"@typescript-eslint/type-annotation-spacing": "error",
|
||||
"@typescript-eslint/unbound-method": "error",
|
||||
"@typescript-eslint/unified-signatures": "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/).
|
||||
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-2023 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: 10 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: 12 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 9.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 |
BIN
notebook/mkdocs-material/.github/assets/sponsors/sponsor-manticore-games.png
vendored
Normal file
After Width: | Height: | Size: 11 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: 9.8 KiB |
After Width: | Height: | Size: 10 KiB |
BIN
notebook/mkdocs-material/.github/assets/sponsors/sponsor-transformationflow.png
vendored
Normal file
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 7.7 KiB |
|
@ -0,0 +1,45 @@
|
|||
# Copyright (c) 2016-2023 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-2023 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@v3
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
|
||||
- name: Set up Node.js dependency cache
|
||||
uses: actions/cache@v3
|
||||
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@v3
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
|
||||
- name: Set up Node.js dependency cache
|
||||
uses: actions/cache@v3
|
||||
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@v4
|
||||
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@v5
|
||||
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@v5
|
||||
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-2023 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@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
cache: pip
|
||||
cache-dependency-path: |
|
||||
pyproject.toml
|
||||
requirements.txt
|
||||
|
||||
- name: Set up build cache
|
||||
uses: actions/cache/restore@v3
|
||||
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 mkdocs-material[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@v2
|
||||
with:
|
||||
path: site
|
||||
|
||||
- name: Deploy to GitHub Pages
|
||||
uses: actions/deploy-pages@v2
|
||||
|
||||
- name: Save build cache
|
||||
uses: actions/cache/save@v3
|
||||
with:
|
||||
key: mkdocs-material-${{ hashfiles('.cache/**') }}
|
||||
path: .cache
|
|
@ -0,0 +1,71 @@
|
|||
# Copyright (c) 2016-2023 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-2023 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,168 @@
|
|||
{
|
||||
"extends": [
|
||||
"stylelint-config-recess-order",
|
||||
"stylelint-config-recommended",
|
||||
"stylelint-config-standard-scss",
|
||||
"stylelint-stylistic/config"
|
||||
],
|
||||
"plugins": [
|
||||
"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-colon-space-after": 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-combinator-space-before": null,
|
||||
"selector-descendant-combinator-no-non-space": 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-list-comma-newline-after": null,
|
||||
"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-import-no-partial-leading-underscore": true,
|
||||
"scss/at-import-partial-extension": "never",
|
||||
"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/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-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,61 @@
|
|||
# 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]: reporting-a-bug.md
|
||||
[Report a docs issue]: reporting-a-docs-issue.md
|
||||
[Request a change]: requesting-a-change.md
|
||||
[Ask a question]: https://github.com/squidfunk/mkdocs-material/discussions
|
||||
[Add translations]: https://github.com/squidfunk/mkdocs-material/adding-translations
|
||||
[Create a pull request]: https://github.com/squidfunk/mkdocs-material/pulls
|
|
@ -0,0 +1,100 @@
|
|||
# Copyright (c) 2016-2023 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.18
|
||||
|
||||
# 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 \
|
||||
zlib-dev \
|
||||
&& \
|
||||
apk add --no-cache --virtual .build \
|
||||
gcc \
|
||||
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 {} \;
|
||||
|
||||
# Trust directory, required for git >= 2.35.2
|
||||
RUN git config --global --add safe.directory /docs &&\
|
||||
git config --global --add safe.directory /site
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /docs
|
||||
|
||||
# Expose MkDocs development server port
|
||||
EXPOSE 8000
|
||||
|
||||
# Start development server by default
|
||||
ENTRYPOINT ["mkdocs"]
|
||||
CMD ["serve", "--dev-addr=0.0.0.0:8000"]
|
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2016-2023 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,305 @@
|
|||
<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>
|
||||
</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>
|
||||
</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://www.manticoregames.com/" target=_blank><img
|
||||
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-manticore-games.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://datadoghq.com/" target=_blank><img
|
||||
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-datadog.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://transformationflow.io/" target=_blank><img
|
||||
src="https://raw.githubusercontent.com/squidfunk/mkdocs-material/master/.github/assets/sponsors/sponsor-transformationflow.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>
|
||||
</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/),
|
||||
[Hewlett Packard](https://hewlettpackard.github.io/squest/),
|
||||
[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/),
|
||||
[Salesforce](https://policy-sentry.readthedocs.io/en/latest/),
|
||||
[SIEMENS](https://opensource.siemens.com/),
|
||||
[Slack](https://slackhq.github.io/circuit/),
|
||||
[Square](https://square.github.io/okhttp/),
|
||||
[Zalando](https://opensource.zalando.com/skipper/)
|
||||
|
||||
### ... and successful Open Source projects
|
||||
|
||||
[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/),
|
||||
[Electron](https://www.electron.build/),
|
||||
[FastAPI](https://fastapi.tiangolo.com/),
|
||||
[GoReleaser](https://goreleaser.com/),
|
||||
[Knative](https://knative.dev/docs/),
|
||||
[Kubernetes](https://kops.sigs.k8s.io/),
|
||||
[kSQL](https://docs.ksqldb.io/),
|
||||
[Nokogiri](https://nokogiri.org/),
|
||||
[OpenFaaS](https://docs.openfaas.com/),
|
||||
[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/),
|
||||
[Traefik](https://docs.traefik.io/),
|
||||
[Trivy](https://aquasecurity.github.io/trivy/),
|
||||
[Vapor](https://docs.vapor.codes/),
|
||||
[ZeroNet](https://zeronet.io/docs/),
|
||||
[WebKit](https://docs.webkit.org/),
|
||||
[WTF](https://wtfutil.com/)
|
||||
|
||||
## License
|
||||
|
||||
**MIT License**
|
||||
|
||||
Copyright (c) 2016-2023 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 |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 203 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 177 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 141 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 6.3 KiB |