]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
✨ Refactor docs for building scripts, use MkDocs hooks, simplify (remove) configs...
authorSebastián Ramírez <tiangolo@gmail.com>
Sun, 25 Jun 2023 12:33:58 +0000 (14:33 +0200)
committerGitHub <noreply@github.com>
Sun, 25 Jun 2023 12:33:58 +0000 (14:33 +0200)
* ✨ Add MkDocs hooks to re-use all config from en, and auto-generate missing docs files form en

* 🔧 Update MkDocs config for es

* 🔧 Simplify configs for all languages

* ✨ Compute available languages from MkDocs Material for config overrides in hooks

* 🔧 Update config for MkDocs for en, to make paths compatible for other languages

* ♻️ Refactor scripts/docs.py to remove all custom logic that is now handled by the MkDocs hooks

* 🔧 Remove ta language as it's incomplete (no translations and causing errors)

* 🔥 Remove ta lang, no translations available

* 🔥 Remove dummy overrides directories, no longer needed

* ✨ Use the same missing-translation.md file contents for hooks

* ⏪️ Restore and refactor new-lang command

* 📝 Update docs for contributing with new simplified workflow for translations

* 🔊 Enable logs so that MkDocs can show its standard output on the docs.py script

52 files changed:
docs/az/mkdocs.yml
docs/az/overrides/.gitignore [deleted file]
docs/cs/mkdocs.yml
docs/cs/overrides/.gitignore [deleted file]
docs/de/mkdocs.yml
docs/de/overrides/.gitignore [deleted file]
docs/em/mkdocs.yml
docs/em/overrides/.gitignore [deleted file]
docs/en/docs/contributing.md
docs/en/mkdocs.yml
docs/es/mkdocs.yml
docs/es/overrides/.gitignore [deleted file]
docs/fa/mkdocs.yml
docs/fa/overrides/.gitignore [deleted file]
docs/fr/mkdocs.yml
docs/fr/overrides/.gitignore [deleted file]
docs/he/mkdocs.yml
docs/he/overrides/.gitignore [deleted file]
docs/hy/mkdocs.yml
docs/hy/overrides/.gitignore [deleted file]
docs/id/mkdocs.yml
docs/id/overrides/.gitignore [deleted file]
docs/it/mkdocs.yml
docs/it/overrides/.gitignore [deleted file]
docs/ja/mkdocs.yml
docs/ja/overrides/.gitignore [deleted file]
docs/ko/mkdocs.yml
docs/ko/overrides/.gitignore [deleted file]
docs/lo/mkdocs.yml
docs/lo/overrides/.gitignore [deleted file]
docs/nl/mkdocs.yml
docs/nl/overrides/.gitignore [deleted file]
docs/pl/mkdocs.yml
docs/pl/overrides/.gitignore [deleted file]
docs/pt/mkdocs.yml
docs/pt/overrides/.gitignore [deleted file]
docs/ru/mkdocs.yml
docs/ru/overrides/.gitignore [deleted file]
docs/sq/mkdocs.yml
docs/sq/overrides/.gitignore [deleted file]
docs/sv/mkdocs.yml
docs/sv/overrides/.gitignore [deleted file]
docs/ta/mkdocs.yml [deleted file]
docs/ta/overrides/.gitignore [deleted file]
docs/tr/mkdocs.yml
docs/tr/overrides/.gitignore [deleted file]
docs/uk/mkdocs.yml
docs/uk/overrides/.gitignore [deleted file]
docs/zh/mkdocs.yml
docs/zh/overrides/.gitignore [deleted file]
scripts/docs.py
scripts/mkdocs_hooks.py

index c9f467768bfca08c3e8dc325900180dfeb81eced..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/az/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/az/overrides/.gitignore b/docs/az/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 358f0ccf298cb2f5e0b019cbe5b320ec5a382c54..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/cs/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: cs
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/cs/overrides/.gitignore b/docs/cs/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index bdbaa36e3d71a9e96512abdee8d067459778c2f7..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,164 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/de/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: de
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/de/overrides/.gitignore b/docs/de/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 8b6b3997ce368049ff80960295eb53854c5dedf1..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,270 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/em/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- python-types.md
-- 🔰 - 👩‍💻 🦮:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/body.md
-  - tutorial/query-params-str-validations.md
-  - tutorial/path-params-numeric-validations.md
-  - tutorial/body-multiple-params.md
-  - tutorial/body-fields.md
-  - tutorial/body-nested-models.md
-  - tutorial/schema-extra-example.md
-  - tutorial/extra-data-types.md
-  - tutorial/cookie-params.md
-  - tutorial/header-params.md
-  - tutorial/response-model.md
-  - tutorial/extra-models.md
-  - tutorial/response-status-code.md
-  - tutorial/request-forms.md
-  - tutorial/request-files.md
-  - tutorial/request-forms-and-files.md
-  - tutorial/handling-errors.md
-  - tutorial/path-operation-configuration.md
-  - tutorial/encoder.md
-  - tutorial/body-updates.md
-  - 🔗:
-    - tutorial/dependencies/index.md
-    - tutorial/dependencies/classes-as-dependencies.md
-    - tutorial/dependencies/sub-dependencies.md
-    - tutorial/dependencies/dependencies-in-path-operation-decorators.md
-    - tutorial/dependencies/global-dependencies.md
-    - tutorial/dependencies/dependencies-with-yield.md
-  - 💂‍♂:
-    - tutorial/security/index.md
-    - tutorial/security/first-steps.md
-    - tutorial/security/get-current-user.md
-    - tutorial/security/simple-oauth2.md
-    - tutorial/security/oauth2-jwt.md
-  - tutorial/middleware.md
-  - tutorial/cors.md
-  - tutorial/sql-databases.md
-  - tutorial/bigger-applications.md
-  - tutorial/background-tasks.md
-  - tutorial/metadata.md
-  - tutorial/static-files.md
-  - tutorial/testing.md
-  - tutorial/debugging.md
-- 🏧 👩‍💻 🦮:
-  - advanced/index.md
-  - advanced/path-operation-advanced-configuration.md
-  - advanced/additional-status-codes.md
-  - advanced/response-directly.md
-  - advanced/custom-response.md
-  - advanced/additional-responses.md
-  - advanced/response-cookies.md
-  - advanced/response-headers.md
-  - advanced/response-change-status-code.md
-  - advanced/advanced-dependencies.md
-  - 🏧 💂‍♂:
-    - advanced/security/index.md
-    - advanced/security/oauth2-scopes.md
-    - advanced/security/http-basic-auth.md
-  - advanced/using-request-directly.md
-  - advanced/dataclasses.md
-  - advanced/middleware.md
-  - advanced/sql-databases-peewee.md
-  - advanced/async-sql-databases.md
-  - advanced/nosql-databases.md
-  - advanced/sub-applications.md
-  - advanced/behind-a-proxy.md
-  - advanced/templates.md
-  - advanced/graphql.md
-  - advanced/websockets.md
-  - advanced/events.md
-  - advanced/custom-request-and-route.md
-  - advanced/testing-websockets.md
-  - advanced/testing-events.md
-  - advanced/testing-dependencies.md
-  - advanced/testing-database.md
-  - advanced/async-tests.md
-  - advanced/settings.md
-  - advanced/conditional-openapi.md
-  - advanced/extending-openapi.md
-  - advanced/openapi-callbacks.md
-  - advanced/wsgi.md
-  - advanced/generate-clients.md
-- async.md
-- 🛠️:
-  - deployment/index.md
-  - deployment/versions.md
-  - deployment/https.md
-  - deployment/manually.md
-  - deployment/concepts.md
-  - deployment/deta.md
-  - deployment/server-workers.md
-  - deployment/docker.md
-- project-generation.md
-- alternatives.md
-- history-design-future.md
-- external-links.md
-- benchmarks.md
-- help-fastapi.md
-- contributing.md
-- release-notes.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/em/overrides/.gitignore b/docs/em/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 660914a08864163eb59f796bd8496d3f7f2e8d77..f968489aed90b0635f9962031d929a79b34cd171 100644 (file)
@@ -195,6 +195,21 @@ It will serve the documentation on `http://127.0.0.1:8008`.
 
 That way, you can edit the documentation/source files and see the changes live.
 
+!!! tip
+    Alternatively, you can perform the same steps that scripts does manually.
+
+    Go into the language directory, for the main docs in English it's at `docs/en/`:
+
+    ```console
+    $ cd docs/en/
+    ```
+
+    Then run `mkdocs` in that directory:
+
+    ```console
+    $ mkdocs serve --dev-addr 8008
+    ```
+
 #### Typer CLI (optional)
 
 The instructions here show you how to use the script at `./scripts/docs.py` with the `python` program directly.
@@ -245,13 +260,15 @@ Here are the steps to help with translations.
 
     Check the docs about <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews" class="external-link" target="_blank">adding a pull request review</a> to approve it or request changes.
 
-* Check in the <a href="https://github.com/tiangolo/fastapi/issues" class="external-link" target="_blank">issues</a> to see if there's one coordinating translations for your language.
+* Check if there's a <a href="https://github.com/tiangolo/fastapi/discussions/categories/translations" class="external-link" target="_blank">GitHub Discussion</a> to coordinate translations for your language. You can subscribe to it, and when there's a new pull request to review, an automatic comment will be added to the discussion.
 
 * Add a single pull request per page translated. That will make it much easier for others to review it.
 
 For the languages I don't speak, I'll wait for several others to review the translation before merging.
 
 * You can also check if there are translations for your language and add a review to them, that will help me know that the translation is correct and I can merge it.
+    * You could check in the <a href="https://github.com/tiangolo/fastapi/discussions/categories/translations" class="external-link" target="_blank">GitHub Discussions</a> for your language.
+    * Or you can filter the existing PRs by the ones with the label for your language, for example, for Spanish, the label is <a href="https://github.com/tiangolo/fastapi/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+label%3Alang-es+label%3A%22awaiting+review%22" class="external-link" target="_blank">`lang-es`</a>.
 
 * Use the same Python examples and only translate the text in the docs. You don't have to change anything for this to work.
 
@@ -283,11 +300,24 @@ $ python ./scripts/docs.py live es
 
 </div>
 
-Now you can go to <a href="http://127.0.0.1:8008" class="external-link" target="_blank">http://127.0.0.1:8008</a> and see your changes live.
+!!! tip
+    Alternatively, you can perform the same steps that scripts does manually.
 
-If you look at the FastAPI docs website, you will see that every language has all the pages. But some pages are not translated and have a notification about the missing translation.
+    Go into the language directory, for the Spanish translations it's at `docs/es/`:
 
-But when you run it locally like this, you will only see the pages that are already translated.
+    ```console
+    $ cd docs/es/
+    ```
+
+    Then run `mkdocs` in that directory:
+
+    ```console
+    $ mkdocs serve --dev-addr 8008
+    ```
+
+Now you can go to <a href="http://127.0.0.1:8008" class="external-link" target="_blank">http://127.0.0.1:8008</a> and see your changes live.
+
+You will see that every language has all the pages. But some pages are not translated and have a notification about the missing translation.
 
 Now let's say that you want to add a translation for the section [Features](features.md){.internal-link target=_blank}.
 
@@ -306,46 +336,6 @@ docs/es/docs/features.md
 !!! tip
     Notice that the only change in the path and file name is the language code, from `en` to `es`.
 
-* Now open the MkDocs config file for English at:
-
-```
-docs/en/mkdocs.yml
-```
-
-* Find the place where that `docs/features.md` is located in the config file. Somewhere like:
-
-```YAML hl_lines="8"
-site_name: FastAPI
-# More stuff
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - es: /es/
-- features.md
-```
-
-* Open the MkDocs config file for the language you are editing, e.g.:
-
-```
-docs/es/mkdocs.yml
-```
-
-* Add it there at the exact same location it was for English, e.g.:
-
-```YAML hl_lines="8"
-site_name: FastAPI
-# More stuff
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - es: /es/
-- features.md
-```
-
-Make sure that if there are other entries, the new entry with your translation is exactly in the same order as in the English version.
-
 If you go to your browser you will see that now the docs show your new section. 🎉
 
 Now you can translate it all and see how it looks as you save the file.
@@ -367,55 +357,32 @@ The next step is to run the script to generate a new translation directory:
 $ python ./scripts/docs.py new-lang ht
 
 Successfully initialized: docs/ht
-Updating ht
-Updating en
 ```
 
 </div>
 
 Now you can check in your code editor the newly created directory `docs/ht/`.
 
-!!! tip
-    Create a first pull request with just this, to set up the configuration for the new language, before adding translations.
+That command created a file `docs/ht/mkdocs.yml` with a simple config that inherits everything from the `en` version:
 
-    That way others can help with other pages while you work on the first one. 🚀
-
-Start by translating the main page, `docs/ht/index.md`.
-
-Then you can continue with the previous instructions, for an "Existing Language".
-
-##### New Language not supported
-
-If when running the live server script you get an error about the language not being supported, something like:
-
-```
- raise TemplateNotFound(template)
-jinja2.exceptions.TemplateNotFound: partials/language/xx.html
+```yaml
+INHERIT: ../en/mkdocs.yml
 ```
 
-That means that the theme doesn't support that language (in this case, with a fake 2-letter code of `xx`).
-
-But don't worry, you can set the theme language to English and then translate the content of the docs.
+!!! tip
+    You could also simply create that file with those contents manually.
 
-If you need to do that, edit the `mkdocs.yml` for your new language, it will have something like:
+That command also created a dummy file `docs/ht/index.md` for the main page, you can start by translating that one.
 
-```YAML hl_lines="5"
-site_name: FastAPI
-# More stuff
-theme:
-  # More stuff
-  language: xx
-```
+You can continue with the previous instructions for an "Existing Language" for that process.
 
-Change that language from `xx` (from your language code) to `en`.
-
-Then you can start the live server again.
+You can make the first pull request with those two files, `docs/ht/mkdocs.yml` and `docs/ht/index.md`. 🎉
 
 #### Preview the result
 
-When you use the script at `./scripts/docs.py` with the `live` command it only shows the files and translations available for the current language.
+You can use the `./scripts/docs.py` with the `live` command to preview the results (or `mkdocs serve`).
 
-But once you are done, you can test it all as it would look online.
+Once you are done, you can also test it all as it would look online, including all the other languages.
 
 To do that, first build all the docs:
 
@@ -425,19 +392,14 @@ To do that, first build all the docs:
 // Use the command "build-all", this will take a bit
 $ python ./scripts/docs.py build-all
 
-Updating es
-Updating en
 Building docs for: en
 Building docs for: es
 Successfully built docs for: es
-Copying en index.md to README.md
 ```
 
 </div>
 
-That generates all the docs at `./docs_build/` for each language. This includes adding any files with missing translations, with a note saying that "this file doesn't have a translation yet". But you don't have to do anything with that directory.
-
-Then it builds all those independent MkDocs sites for each language, combines them, and generates the final output at `./site/`.
+This builds all those independent MkDocs sites for each language, combines them, and generates the final output at `./site/`.
 
 Then you can serve that with the command `serve`:
 
index 40dfb1661c717187b7c072635c5476fdadeeb915..a21848a6637d905c82b84f05221c381008ac7762 100644 (file)
@@ -3,7 +3,7 @@ site_description: FastAPI framework, high performance, easy to learn, fast to co
 site_url: https://fastapi.tiangolo.com/
 theme:
   name: material
-  custom_dir: overrides
+  custom_dir: ../en/overrides
   palette:
   - media: '(prefers-color-scheme: light)'
     scheme: default
@@ -35,7 +35,7 @@ edit_uri: ''
 plugins:
 - search
 - markdownextradata:
-    data: data
+    data: ../en/data
 nav:
 - FastAPI: index.md
 - Languages:
@@ -60,7 +60,6 @@ nav:
   - ru: /ru/
   - sq: /sq/
   - sv: /sv/
-  - ta: /ta/
   - tr: /tr/
   - uk: /uk/
   - zh: /zh/
@@ -252,8 +251,6 @@ extra:
     name: sq - shqip
   - link: /sv/
     name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
   - link: /tr/
     name: tr - Türkçe
   - link: /uk/
index d8aa9c494dd090e4fc0d0957b69ffc0aa2f77d0b..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,173 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/es/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: es
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- python-types.md
-- Tutorial - Guía de Usuario:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-- Guía de Usuario Avanzada:
-  - advanced/index.md
-- async.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/es/overrides/.gitignore b/docs/es/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 287521ab3651a442fcf7e99764a774a0b0245989..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/fa/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: fa
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/fa/overrides/.gitignore b/docs/fa/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 67e5383ed925e5caab649b5c3be54724e15d3494..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,192 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/fr/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: fr
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- python-types.md
-- Tutoriel - Guide utilisateur:
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/body.md
-  - tutorial/background-tasks.md
-  - tutorial/debugging.md
-- Guide utilisateur avancé:
-  - advanced/index.md
-  - advanced/path-operation-advanced-configuration.md
-  - advanced/additional-status-codes.md
-  - advanced/response-directly.md
-  - advanced/additional-responses.md
-- async.md
-- Déploiement:
-  - deployment/index.md
-  - deployment/versions.md
-  - deployment/https.md
-  - deployment/deta.md
-  - deployment/docker.md
-  - deployment/manually.md
-- project-generation.md
-- alternatives.md
-- history-design-future.md
-- external-links.md
-- help-fastapi.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/fr/overrides/.gitignore b/docs/fr/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index b390875ea100e595bcf8e7d677846727ecdefff3..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/he/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: he
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/he/overrides/.gitignore b/docs/he/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index e5af7dd3090dbb0ef796e41facb8a2ad8e309725..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/hy/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: hy
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/hy/overrides/.gitignore b/docs/hy/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 6cc2cf0458bc395deb562226f542fb137a9911de..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/id/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: id
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/id/overrides/.gitignore b/docs/id/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index f7de769eef9553702720ddc3c312e1c2796ec8fa..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/it/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: it
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/it/overrides/.gitignore b/docs/it/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index f21d731f9598102ba2a91cd6956af9752894fa27..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,207 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/ja/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: ja
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- チュートリアル - ユーザーガイド:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/body.md
-  - tutorial/query-params-str-validations.md
-  - tutorial/cookie-params.md
-  - tutorial/header-params.md
-  - tutorial/request-forms.md
-  - tutorial/body-updates.md
-  - セキュリティ:
-    - tutorial/security/first-steps.md
-    - tutorial/security/oauth2-jwt.md
-  - tutorial/middleware.md
-  - tutorial/cors.md
-  - tutorial/static-files.md
-  - tutorial/testing.md
-  - tutorial/debugging.md
-- 高度なユーザーガイド:
-  - advanced/index.md
-  - advanced/path-operation-advanced-configuration.md
-  - advanced/additional-status-codes.md
-  - advanced/response-directly.md
-  - advanced/custom-response.md
-  - advanced/nosql-databases.md
-  - advanced/websockets.md
-  - advanced/conditional-openapi.md
-- async.md
-- デプロイ:
-  - deployment/index.md
-  - deployment/versions.md
-  - deployment/deta.md
-  - deployment/docker.md
-  - deployment/manually.md
-- project-generation.md
-- alternatives.md
-- history-design-future.md
-- external-links.md
-- benchmarks.md
-- help-fastapi.md
-- contributing.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/ja/overrides/.gitignore b/docs/ja/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 0a1e6b639add63f9ce0b8508873853b7c842081c..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,177 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/ko/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- 자습서 - 사용자 안내서:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/header-params.md
-  - tutorial/path-params-numeric-validations.md
-  - tutorial/response-status-code.md
-  - tutorial/request-files.md
-  - tutorial/request-forms-and-files.md
-  - tutorial/encoder.md
-  - tutorial/cors.md
-  - 의존성:
-    - tutorial/dependencies/classes-as-dependencies.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/ko/overrides/.gitignore b/docs/ko/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 7f9253d6c645c57e4ded5ee7b489fd0fbd742637..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/lo/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/lo/overrides/.gitignore b/docs/lo/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index e74e1a6e339655f56161da1f54de6aa3bc957cc0..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/nl/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: nl
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/nl/overrides/.gitignore b/docs/nl/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 588eddf97a2998c45a897feda0abcdad0dc003ad..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,167 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/pl/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: pl
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- Samouczek:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/pl/overrides/.gitignore b/docs/pl/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 54520642ef66a90483a1e66f0aac6472db2467af..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,204 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/pt/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: pt
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- Tutorial - Guia de Usuário:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/body.md
-  - tutorial/body-multiple-params.md
-  - tutorial/body-fields.md
-  - tutorial/body-nested-models.md
-  - tutorial/extra-data-types.md
-  - tutorial/extra-models.md
-  - tutorial/query-params-str-validations.md
-  - tutorial/path-params-numeric-validations.md
-  - tutorial/path-operation-configuration.md
-  - tutorial/cookie-params.md
-  - tutorial/header-params.md
-  - tutorial/response-status-code.md
-  - tutorial/request-forms.md
-  - tutorial/request-forms-and-files.md
-  - tutorial/handling-errors.md
-  - tutorial/encoder.md
-  - Segurança:
-    - tutorial/security/index.md
-  - tutorial/background-tasks.md
-  - tutorial/static-files.md
-  - Guia de Usuário Avançado:
-    - advanced/index.md
-    - advanced/events.md
-- Implantação:
-  - deployment/index.md
-  - deployment/versions.md
-  - deployment/https.md
-  - deployment/deta.md
-  - deployment/docker.md
-- alternatives.md
-- history-design-future.md
-- external-links.md
-- benchmarks.md
-- help-fastapi.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/pt/overrides/.gitignore b/docs/pt/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 66c7687b00c1ec29076693334b5a5fcbf9040e63..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,202 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/ru/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: ru
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- python-types.md
-- Учебник - руководство пользователя:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params-str-validations.md
-  - tutorial/path-params-numeric-validations.md
-  - tutorial/body-fields.md
-  - tutorial/background-tasks.md
-  - tutorial/extra-data-types.md
-  - tutorial/cookie-params.md
-  - tutorial/testing.md
-  - tutorial/extra-models.md
-  - tutorial/response-status-code.md
-  - tutorial/query-params.md
-  - tutorial/body-multiple-params.md
-  - tutorial/metadata.md
-  - tutorial/path-operation-configuration.md
-  - tutorial/cors.md
-  - tutorial/static-files.md
-  - tutorial/debugging.md
-  - tutorial/schema-extra-example.md
-  - tutorial/body-nested-models.md
-- async.md
-- Развёртывание:
-  - deployment/index.md
-  - deployment/versions.md
-  - deployment/concepts.md
-  - deployment/https.md
-  - deployment/manually.md
-- project-generation.md
-- alternatives.md
-- history-design-future.md
-- external-links.md
-- benchmarks.md
-- help-fastapi.md
-- contributing.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/ru/overrides/.gitignore b/docs/ru/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 64f3dec2e33ed0829b30ac841120da75133bc6b6..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/sq/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/sq/overrides/.gitignore b/docs/sq/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 8604a06f6ce9ccaef5e2399803fcd806f709862e..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/sv/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: sv
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/sv/overrides/.gitignore b/docs/sv/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/docs/ta/mkdocs.yml b/docs/ta/mkdocs.yml
deleted file mode 100644 (file)
index 4000d9a..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/ta/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: en
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
diff --git a/docs/ta/overrides/.gitignore b/docs/ta/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 408b3ec2982e13a5c7f6a5e75327c4f9631bb19e..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,168 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/tr/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: tr
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- python-types.md
-- Tutorial - User Guide:
-  - tutorial/first-steps.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/tr/overrides/.gitignore b/docs/tr/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 49516cebf048f3eb34086dc7063132940100bbc9..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,163 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/uk/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: uk
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/uk/overrides/.gitignore b/docs/uk/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index 39f989790e409560e5371aeea915a216773b1799..de18856f445aaec2cb2deab3fc4547df7af75def 100644 (file)
@@ -1,228 +1 @@
-site_name: FastAPI
-site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
-site_url: https://fastapi.tiangolo.com/zh/
-theme:
-  name: material
-  custom_dir: overrides
-  palette:
-  - media: '(prefers-color-scheme: light)'
-    scheme: default
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb
-      name: Switch to dark mode
-  - media: '(prefers-color-scheme: dark)'
-    scheme: slate
-    primary: teal
-    accent: amber
-    toggle:
-      icon: material/lightbulb-outline
-      name: Switch to light mode
-  features:
-  - search.suggest
-  - search.highlight
-  - content.tabs.link
-  - navigation.indexes
-  icon:
-    repo: fontawesome/brands/github-alt
-  logo: https://fastapi.tiangolo.com/img/icon-white.svg
-  favicon: https://fastapi.tiangolo.com/img/favicon.png
-  language: zh
-repo_name: tiangolo/fastapi
-repo_url: https://github.com/tiangolo/fastapi
-edit_uri: ''
-plugins:
-- search
-- markdownextradata:
-    data: data
-nav:
-- FastAPI: index.md
-- Languages:
-  - en: /
-  - az: /az/
-  - cs: /cs/
-  - de: /de/
-  - em: /em/
-  - es: /es/
-  - fa: /fa/
-  - fr: /fr/
-  - he: /he/
-  - hy: /hy/
-  - id: /id/
-  - it: /it/
-  - ja: /ja/
-  - ko: /ko/
-  - lo: /lo/
-  - nl: /nl/
-  - pl: /pl/
-  - pt: /pt/
-  - ru: /ru/
-  - sq: /sq/
-  - sv: /sv/
-  - ta: /ta/
-  - tr: /tr/
-  - uk: /uk/
-  - zh: /zh/
-- features.md
-- fastapi-people.md
-- python-types.md
-- 教程 - 用户指南:
-  - tutorial/index.md
-  - tutorial/first-steps.md
-  - tutorial/path-params.md
-  - tutorial/query-params.md
-  - tutorial/body.md
-  - tutorial/query-params-str-validations.md
-  - tutorial/path-params-numeric-validations.md
-  - tutorial/body-multiple-params.md
-  - tutorial/body-fields.md
-  - tutorial/middleware.md
-  - tutorial/body-nested-models.md
-  - tutorial/header-params.md
-  - tutorial/response-model.md
-  - tutorial/extra-models.md
-  - tutorial/response-status-code.md
-  - tutorial/schema-extra-example.md
-  - tutorial/extra-data-types.md
-  - tutorial/cookie-params.md
-  - tutorial/request-forms.md
-  - tutorial/request-files.md
-  - tutorial/request-forms-and-files.md
-  - tutorial/handling-errors.md
-  - tutorial/path-operation-configuration.md
-  - tutorial/encoder.md
-  - tutorial/body-updates.md
-  - 依赖项:
-    - tutorial/dependencies/index.md
-    - tutorial/dependencies/classes-as-dependencies.md
-    - tutorial/dependencies/sub-dependencies.md
-    - tutorial/dependencies/dependencies-in-path-operation-decorators.md
-    - tutorial/dependencies/global-dependencies.md
-  - 安全性:
-    - tutorial/security/index.md
-    - tutorial/security/first-steps.md
-    - tutorial/security/get-current-user.md
-    - tutorial/security/simple-oauth2.md
-    - tutorial/security/oauth2-jwt.md
-  - tutorial/cors.md
-  - tutorial/sql-databases.md
-  - tutorial/bigger-applications.md
-  - tutorial/metadata.md
-  - tutorial/static-files.md
-  - tutorial/testing.md
-  - tutorial/debugging.md
-- 高级用户指南:
-  - advanced/index.md
-  - advanced/path-operation-advanced-configuration.md
-  - advanced/additional-status-codes.md
-  - advanced/response-directly.md
-  - advanced/custom-response.md
-  - advanced/response-cookies.md
-  - advanced/response-change-status-code.md
-  - advanced/settings.md
-  - advanced/response-headers.md
-  - advanced/websockets.md
-  - advanced/wsgi.md
-  - 高级安全:
-    - advanced/security/index.md
-- contributing.md
-- help-fastapi.md
-- benchmarks.md
-markdown_extensions:
-- toc:
-    permalink: true
-- markdown.extensions.codehilite:
-    guess_lang: false
-- mdx_include:
-    base_path: docs
-- admonition
-- codehilite
-- extra
-- pymdownx.superfences:
-    custom_fences:
-    - name: mermaid
-      class: mermaid
-      format: !!python/name:pymdownx.superfences.fence_code_format ''
-- pymdownx.tabbed:
-    alternate_style: true
-- attr_list
-- md_in_html
-extra:
-  analytics:
-    provider: google
-    property: G-YNEVN69SC3
-  social:
-  - icon: fontawesome/brands/github-alt
-    link: https://github.com/tiangolo/fastapi
-  - icon: fontawesome/brands/discord
-    link: https://discord.gg/VQjSZaeJmf
-  - icon: fontawesome/brands/twitter
-    link: https://twitter.com/fastapi
-  - icon: fontawesome/brands/linkedin
-    link: https://www.linkedin.com/in/tiangolo
-  - icon: fontawesome/brands/dev
-    link: https://dev.to/tiangolo
-  - icon: fontawesome/brands/medium
-    link: https://medium.com/@tiangolo
-  - icon: fontawesome/solid/globe
-    link: https://tiangolo.com
-  alternate:
-  - link: /
-    name: en - English
-  - link: /az/
-    name: az
-  - link: /cs/
-    name: cs
-  - link: /de/
-    name: de
-  - link: /em/
-    name: 😉
-  - link: /es/
-    name: es - español
-  - link: /fa/
-    name: fa
-  - link: /fr/
-    name: fr - français
-  - link: /he/
-    name: he
-  - link: /hy/
-    name: hy
-  - link: /id/
-    name: id
-  - link: /it/
-    name: it - italiano
-  - link: /ja/
-    name: ja - 日本語
-  - link: /ko/
-    name: ko - 한국어
-  - link: /lo/
-    name: lo - ພາສາລາວ
-  - link: /nl/
-    name: nl
-  - link: /pl/
-    name: pl
-  - link: /pt/
-    name: pt - português
-  - link: /ru/
-    name: ru - русский язык
-  - link: /sq/
-    name: sq - shqip
-  - link: /sv/
-    name: sv - svenska
-  - link: /ta/
-    name: ta - தமிழ்
-  - link: /tr/
-    name: tr - Türkçe
-  - link: /uk/
-    name: uk - українська мова
-  - link: /zh/
-    name: zh - 汉语
-extra_css:
-- https://fastapi.tiangolo.com/css/termynal.css
-- https://fastapi.tiangolo.com/css/custom.css
-extra_javascript:
-- https://fastapi.tiangolo.com/js/termynal.js
-- https://fastapi.tiangolo.com/js/custom.js
-hooks:
-- ../../scripts/mkdocs_hooks.py
+INHERIT: ../en/mkdocs.yml
diff --git a/docs/zh/overrides/.gitignore b/docs/zh/overrides/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
index c464f8dbea7a2fb1ab9f074dc3dddc69ab905dd2..5615a8572cf4e0d1edd9378eb65ac0f5255d6687 100644 (file)
@@ -1,4 +1,5 @@
 import json
+import logging
 import os
 import re
 import shutil
@@ -6,7 +7,7 @@ import subprocess
 from http.server import HTTPServer, SimpleHTTPRequestHandler
 from multiprocessing import Pool
 from pathlib import Path
-from typing import Dict, List, Optional, Tuple
+from typing import Any, Dict, List, Optional, Union
 
 import mkdocs.commands.build
 import mkdocs.commands.serve
@@ -16,6 +17,8 @@ import typer
 import yaml
 from jinja2 import Template
 
+logging.basicConfig(level=logging.INFO)
+
 app = typer.Typer()
 
 mkdocs_name = "mkdocs.yml"
@@ -27,19 +30,21 @@ missing_translation_snippet = """
 docs_path = Path("docs")
 en_docs_path = Path("docs/en")
 en_config_path: Path = en_docs_path / mkdocs_name
+site_path = Path("site").absolute()
+build_site_path = Path("site_build").absolute()
 
 
-def get_en_config() -> dict:
+def get_en_config() -> Dict[str, Any]:
     return mkdocs.utils.yaml_load(en_config_path.read_text(encoding="utf-8"))
 
 
-def get_lang_paths():
+def get_lang_paths() -> List[Path]:
     return sorted(docs_path.iterdir())
 
 
-def lang_callback(lang: Optional[str]):
+def lang_callback(lang: Optional[str]) -> Union[str, None]:
     if lang is None:
-        return
+        return None
     if not lang.isalpha() or len(lang) != 2:
         typer.echo("Use a 2 letter language code, like: es")
         raise typer.Abort()
@@ -54,35 +59,6 @@ def complete_existing_lang(incomplete: str):
             yield lang_path.name
 
 
-def get_base_lang_config(lang: str):
-    en_config = get_en_config()
-    fastapi_url_base = "https://fastapi.tiangolo.com/"
-    new_config = en_config.copy()
-    new_config["site_url"] = en_config["site_url"] + f"{lang}/"
-    new_config["theme"]["logo"] = fastapi_url_base + en_config["theme"]["logo"]
-    new_config["theme"]["favicon"] = fastapi_url_base + en_config["theme"]["favicon"]
-    new_config["theme"]["language"] = lang
-    new_config["nav"] = en_config["nav"][:2]
-    extra_css = []
-    css: str
-    for css in en_config["extra_css"]:
-        if css.startswith("http"):
-            extra_css.append(css)
-        else:
-            extra_css.append(fastapi_url_base + css)
-    new_config["extra_css"] = extra_css
-
-    extra_js = []
-    js: str
-    for js in en_config["extra_javascript"]:
-        if js.startswith("http"):
-            extra_js.append(js)
-        else:
-            extra_js.append(fastapi_url_base + js)
-    new_config["extra_javascript"] = extra_js
-    return new_config
-
-
 @app.command()
 def new_lang(lang: str = typer.Argument(..., callback=lang_callback)):
     """
@@ -95,12 +71,8 @@ def new_lang(lang: str = typer.Argument(..., callback=lang_callback)):
         typer.echo(f"The language was already created: {lang}")
         raise typer.Abort()
     new_path.mkdir()
-    new_config = get_base_lang_config(lang)
     new_config_path: Path = Path(new_path) / mkdocs_name
-    new_config_path.write_text(
-        yaml.dump(new_config, sort_keys=False, width=200, allow_unicode=True),
-        encoding="utf-8",
-    )
+    new_config_path.write_text("INHERIT: ../en/mkdocs.yml\n", encoding="utf-8")
     new_config_docs_path: Path = new_path / "docs"
     new_config_docs_path.mkdir()
     en_index_path: Path = en_docs_path / "docs" / "index.md"
@@ -108,11 +80,8 @@ def new_lang(lang: str = typer.Argument(..., callback=lang_callback)):
     en_index_content = en_index_path.read_text(encoding="utf-8")
     new_index_content = f"{missing_translation_snippet}\n\n{en_index_content}"
     new_index_path.write_text(new_index_content, encoding="utf-8")
-    new_overrides_gitignore_path = new_path / "overrides" / ".gitignore"
-    new_overrides_gitignore_path.parent.mkdir(parents=True, exist_ok=True)
-    new_overrides_gitignore_path.write_text("")
     typer.secho(f"Successfully initialized: {new_path}", color=typer.colors.GREEN)
-    update_languages(lang=None)
+    update_languages()
 
 
 @app.command()
@@ -120,95 +89,29 @@ def build_lang(
     lang: str = typer.Argument(
         ..., callback=lang_callback, autocompletion=complete_existing_lang
     )
-):
+) -> None:
     """
-    Build the docs for a language, filling missing pages with translation notifications.
+    Build the docs for a language.
     """
     lang_path: Path = Path("docs") / lang
     if not lang_path.is_dir():
         typer.echo(f"The language translation doesn't seem to exist yet: {lang}")
         raise typer.Abort()
     typer.echo(f"Building docs for: {lang}")
-    build_dir_path = Path("docs_build")
-    build_dir_path.mkdir(exist_ok=True)
-    build_lang_path = build_dir_path / lang
-    en_lang_path = Path("docs/en")
-    site_path = Path("site").absolute()
-    build_site_path = Path("site_build").absolute()
     build_site_dist_path = build_site_path / lang
     if lang == "en":
         dist_path = site_path
+        # Don't remove en dist_path as it might already contain other languages.
+        # When running build_all(), that function already removes site_path.
+        # All this is only relevant locally, on GitHub Actions all this is done through
+        # artifacts and multiple workflows, so it doesn't matter if directories are
+        # removed or not.
     else:
-        dist_path: Path = site_path / lang
-    shutil.rmtree(build_lang_path, ignore_errors=True)
-    shutil.copytree(lang_path, build_lang_path)
-    if not lang == "en":
-        shutil.copytree(en_docs_path / "data", build_lang_path / "data")
-        overrides_src = en_docs_path / "overrides"
-        overrides_dest = build_lang_path / "overrides"
-        for path in overrides_src.iterdir():
-            dest_path = overrides_dest / path.name
-            if not dest_path.exists():
-                shutil.copy(path, dest_path)
-        en_config_path: Path = en_lang_path / mkdocs_name
-        en_config: dict = mkdocs.utils.yaml_load(
-            en_config_path.read_text(encoding="utf-8")
-        )
-        nav = en_config["nav"]
-        lang_config_path: Path = lang_path / mkdocs_name
-        lang_config: dict = mkdocs.utils.yaml_load(
-            lang_config_path.read_text(encoding="utf-8")
-        )
-        lang_nav = lang_config["nav"]
-        # Exclude first 2 entries FastAPI and Languages, for custom handling
-        use_nav = nav[2:]
-        lang_use_nav = lang_nav[2:]
-        file_to_nav = get_file_to_nav_map(use_nav)
-        sections = get_sections(use_nav)
-        lang_file_to_nav = get_file_to_nav_map(lang_use_nav)
-        use_lang_file_to_nav = get_file_to_nav_map(lang_use_nav)
-        for file in file_to_nav:
-            file_path = Path(file)
-            lang_file_path: Path = build_lang_path / "docs" / file_path
-            en_file_path: Path = en_lang_path / "docs" / file_path
-            lang_file_path.parent.mkdir(parents=True, exist_ok=True)
-            if not lang_file_path.is_file():
-                en_text = en_file_path.read_text(encoding="utf-8")
-                lang_text = get_text_with_translate_missing(en_text)
-                lang_file_path.write_text(lang_text, encoding="utf-8")
-                file_key = file_to_nav[file]
-                use_lang_file_to_nav[file] = file_key
-                if file_key:
-                    composite_key = ()
-                    new_key = ()
-                    for key_part in file_key:
-                        composite_key += (key_part,)
-                        key_first_file = sections[composite_key]
-                        if key_first_file in lang_file_to_nav:
-                            new_key = lang_file_to_nav[key_first_file]
-                        else:
-                            new_key += (key_part,)
-                    use_lang_file_to_nav[file] = new_key
-        key_to_section = {(): []}
-        for file, orig_file_key in file_to_nav.items():
-            if file in use_lang_file_to_nav:
-                file_key = use_lang_file_to_nav[file]
-            else:
-                file_key = orig_file_key
-            section = get_key_section(key_to_section=key_to_section, key=file_key)
-            section.append(file)
-        new_nav = key_to_section[()]
-        export_lang_nav = [lang_nav[0], nav[1]] + new_nav
-        lang_config["nav"] = export_lang_nav
-        build_lang_config_path: Path = build_lang_path / mkdocs_name
-        build_lang_config_path.write_text(
-            yaml.dump(lang_config, sort_keys=False, width=200, allow_unicode=True),
-            encoding="utf-8",
-        )
+        dist_path = site_path / lang
+        shutil.rmtree(dist_path, ignore_errors=True)
     current_dir = os.getcwd()
-    os.chdir(build_lang_path)
+    os.chdir(lang_path)
     shutil.rmtree(build_site_dist_path, ignore_errors=True)
-    shutil.rmtree(dist_path, ignore_errors=True)
     subprocess.run(["mkdocs", "build", "--site-dir", build_site_dist_path], check=True)
     shutil.copytree(build_site_dist_path, dist_path, dirs_exist_ok=True)
     os.chdir(current_dir)
@@ -227,7 +130,7 @@ index_sponsors_template = """
 """
 
 
-def generate_readme_content():
+def generate_readme_content() -> str:
     en_index = en_docs_path / "docs" / "index.md"
     content = en_index.read_text("utf-8")
     match_start = re.search(r"<!-- sponsors -->", content)
@@ -247,7 +150,7 @@ def generate_readme_content():
 
 
 @app.command()
-def generate_readme():
+def generate_readme() -> None:
     """
     Generate README.md content from main index.md
     """
@@ -258,7 +161,7 @@ def generate_readme():
 
 
 @app.command()
-def verify_readme():
+def verify_readme() -> None:
     """
     Verify README.md content from main index.md
     """
@@ -275,12 +178,13 @@ def verify_readme():
 
 
 @app.command()
-def build_all():
+def build_all() -> None:
     """
     Build mkdocs site for en, and then build each language inside, end result is located
     at directory ./site/ with each language inside.
     """
-    update_languages(lang=None)
+    update_languages()
+    shutil.rmtree(site_path, ignore_errors=True)
     langs = [lang.name for lang in get_lang_paths() if lang.is_dir()]
     cpu_count = os.cpu_count() or 1
     process_pool_size = cpu_count * 4
@@ -289,34 +193,16 @@ def build_all():
         p.map(build_lang, langs)
 
 
-def update_single_lang(lang: str):
-    lang_path = docs_path / lang
-    typer.echo(f"Updating {lang_path.name}")
-    update_config(lang_path.name)
-
-
 @app.command()
-def update_languages(
-    lang: str = typer.Argument(
-        None, callback=lang_callback, autocompletion=complete_existing_lang
-    )
-):
+def update_languages() -> None:
     """
     Update the mkdocs.yml file Languages section including all the available languages.
-
-    The LANG argument is a 2-letter language code. If it's not provided, update all the
-    mkdocs.yml files (for all the languages).
     """
-    if lang is None:
-        for lang_path in get_lang_paths():
-            if lang_path.is_dir():
-                update_single_lang(lang_path.name)
-    else:
-        update_single_lang(lang)
+    update_config()
 
 
 @app.command()
-def serve():
+def serve() -> None:
     """
     A quick server to preview a built site with translations.
 
@@ -342,7 +228,7 @@ def live(
     lang: str = typer.Argument(
         None, callback=lang_callback, autocompletion=complete_existing_lang
     )
-):
+) -> None:
     """
     Serve with livereload a docs site for a specific language.
 
@@ -359,18 +245,8 @@ def live(
     mkdocs.commands.serve.serve(dev_addr="127.0.0.1:8008")
 
 
-def update_config(lang: str):
-    lang_path: Path = docs_path / lang
-    config_path = lang_path / mkdocs_name
-    current_config: dict = mkdocs.utils.yaml_load(
-        config_path.read_text(encoding="utf-8")
-    )
-    if lang == "en":
-        config = get_en_config()
-    else:
-        config = get_base_lang_config(lang)
-        config["nav"] = current_config["nav"]
-        config["theme"]["language"] = current_config["theme"]["language"]
+def update_config() -> None:
+    config = get_en_config()
     languages = [{"en": "/"}]
     alternate: List[Dict[str, str]] = config["extra"].get("alternate", [])
     alternate_dict = {alt["link"]: alt["name"] for alt in alternate}
@@ -390,7 +266,7 @@ def update_config(lang: str):
             new_alternate.append({"link": url, "name": use_name})
     config["nav"][1] = {"Languages": languages}
     config["extra"]["alternate"] = new_alternate
-    config_path.write_text(
+    en_config_path.write_text(
         yaml.dump(config, sort_keys=False, width=200, allow_unicode=True),
         encoding="utf-8",
     )
@@ -405,56 +281,5 @@ def langs_json():
     print(json.dumps(langs))
 
 
-def get_key_section(
-    *, key_to_section: Dict[Tuple[str, ...], list], key: Tuple[str, ...]
-) -> list:
-    if key in key_to_section:
-        return key_to_section[key]
-    super_key = key[:-1]
-    title = key[-1]
-    super_section = get_key_section(key_to_section=key_to_section, key=super_key)
-    new_section = []
-    super_section.append({title: new_section})
-    key_to_section[key] = new_section
-    return new_section
-
-
-def get_text_with_translate_missing(text: str) -> str:
-    lines = text.splitlines()
-    lines.insert(1, missing_translation_snippet)
-    new_text = "\n".join(lines)
-    return new_text
-
-
-def get_file_to_nav_map(nav: list) -> Dict[str, Tuple[str, ...]]:
-    file_to_nav = {}
-    for item in nav:
-        if type(item) is str:
-            file_to_nav[item] = ()
-        elif type(item) is dict:
-            item_key = list(item.keys())[0]
-            sub_nav = item[item_key]
-            sub_file_to_nav = get_file_to_nav_map(sub_nav)
-            for k, v in sub_file_to_nav.items():
-                file_to_nav[k] = (item_key,) + v
-    return file_to_nav
-
-
-def get_sections(nav: list) -> Dict[Tuple[str, ...], str]:
-    sections = {}
-    for item in nav:
-        if type(item) is str:
-            continue
-        elif type(item) is dict:
-            item_key = list(item.keys())[0]
-            sub_nav = item[item_key]
-            sections[(item_key,)] = sub_nav[0]
-            sub_sections = get_sections(sub_nav)
-            for k, v in sub_sections.items():
-                new_key = (item_key,) + k
-                sections[new_key] = v
-    return sections
-
-
 if __name__ == "__main__":
     app()
index f09e9a99df2c68f2662a92c15ca249d8698d5227..008751f8acb1f84a43cae611bf2a6436c789b408 100644 (file)
@@ -1,11 +1,88 @@
+from functools import lru_cache
+from pathlib import Path
 from typing import Any, List, Union
 
+import material
 from mkdocs.config.defaults import MkDocsConfig
-from mkdocs.structure.files import Files
+from mkdocs.structure.files import File, Files
 from mkdocs.structure.nav import Link, Navigation, Section
 from mkdocs.structure.pages import Page
 
 
+@lru_cache()
+def get_missing_translation_content(docs_dir: str) -> str:
+    docs_dir_path = Path(docs_dir)
+    missing_translation_path = docs_dir_path.parent.parent / "missing-translation.md"
+    return missing_translation_path.read_text(encoding="utf-8")
+
+
+@lru_cache()
+def get_mkdocs_material_langs() -> List[str]:
+    material_path = Path(material.__file__).parent
+    material_langs_path = material_path / "partials" / "languages"
+    langs = [file.stem for file in material_langs_path.glob("*.html")]
+    return langs
+
+
+class EnFile(File):
+    pass
+
+
+def on_config(config: MkDocsConfig, **kwargs: Any) -> MkDocsConfig:
+    available_langs = get_mkdocs_material_langs()
+    dir_path = Path(config.docs_dir)
+    lang = dir_path.parent.name
+    if lang in available_langs:
+        config.theme["language"] = lang
+    if not (config.site_url or "").endswith(f"{lang}/") and not lang == "en":
+        config.site_url = f"{config.site_url}{lang}/"
+    return config
+
+
+def resolve_file(*, item: str, files: Files, config: MkDocsConfig) -> None:
+    item_path = Path(config.docs_dir) / item
+    if not item_path.is_file():
+        en_src_dir = (Path(config.docs_dir) / "../../en/docs").resolve()
+        potential_path = en_src_dir / item
+        if potential_path.is_file():
+            files.append(
+                EnFile(
+                    path=item,
+                    src_dir=str(en_src_dir),
+                    dest_dir=config.site_dir,
+                    use_directory_urls=config.use_directory_urls,
+                )
+            )
+
+
+def resolve_files(*, items: List[Any], files: Files, config: MkDocsConfig) -> None:
+    for item in items:
+        if isinstance(item, str):
+            resolve_file(item=item, files=files, config=config)
+        elif isinstance(item, dict):
+            assert len(item) == 1
+            values = list(item.values())
+            if not values:
+                continue
+            if isinstance(values[0], str):
+                resolve_file(item=values[0], files=files, config=config)
+            elif isinstance(values[0], list):
+                resolve_files(items=values[0], files=files, config=config)
+            else:
+                raise ValueError(f"Unexpected value: {values}")
+
+
+def on_files(files: Files, *, config: MkDocsConfig) -> Files:
+    resolve_files(items=config.nav or [], files=files, config=config)
+    if "logo" in config.theme:
+        resolve_file(item=config.theme["logo"], files=files, config=config)
+    if "favicon" in config.theme:
+        resolve_file(item=config.theme["favicon"], files=files, config=config)
+    resolve_files(items=config.extra_css, files=files, config=config)
+    resolve_files(items=config.extra_javascript, files=files, config=config)
+    return files
+
+
 def generate_renamed_section_items(
     items: List[Union[Page, Section, Link]], *, config: MkDocsConfig
 ) -> List[Union[Page, Section, Link]]:
@@ -36,3 +113,20 @@ def on_nav(
 ) -> Navigation:
     new_items = generate_renamed_section_items(nav.items, config=config)
     return Navigation(items=new_items, pages=nav.pages)
+
+
+def on_pre_page(page: Page, *, config: MkDocsConfig, files: Files) -> Page:
+    return page
+
+
+def on_page_markdown(
+    markdown: str, *, page: Page, config: MkDocsConfig, files: Files
+) -> str:
+    if isinstance(page.file, EnFile):
+        missing_translation_content = get_missing_translation_content(config.docs_dir)
+        header = ""
+        body = markdown
+        if markdown.startswith("#"):
+            header, _, body = markdown.partition("\n\n")
+        return f"{header}\n\n{missing_translation_content}\n\n{body}"
+    return markdown