- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# 🏧 👩💻 🦮 - 🎶
+# 🏧 👩💻 🦮
## 🌖 ⚒
-# 🏧 💂♂ - 🎶
+# 🏧 💂♂
## 🌖 ⚒
-# 🛠️ - 🎶
+# 🛠️
🛠️ **FastAPI** 🈸 📶 ⏩.
-# 🔗 - 🥇 🔁
+# 🔗
**FastAPI** ✔️ 📶 🏋️ ✋️ 🏋️ **<abbr title="also known as components, resources, providers, services, injectables">🔗 💉</abbr>** ⚙️.
-# 🔰 - 👩💻 🦮 - 🎶
+# 🔰 - 👩💻 🦮
👉 🔰 🎦 👆 ❔ ⚙️ **FastAPI** ⏮️ 🌅 🚮 ⚒, 🔁 🔁.
-# 💂♂ 🎶
+# 💂♂
📤 📚 🌌 🍵 💂♂, 🤝 & ✔.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Advanced User Guide - Intro
+# Advanced User Guide
## Additional Features
-# Advanced Security - Intro
+# Advanced Security
## Additional Features
-# Deployment - Intro
+# Deployment
Deploying a **FastAPI** application is relatively easy.
-# Dependencies - First Steps
+# Dependencies
**FastAPI** has a very powerful but intuitive **<abbr title="also known as components, resources, providers, services, injectables">Dependency Injection</abbr>** system.
-# Tutorial - User Guide - Intro
+# Tutorial - User Guide
This tutorial shows you how to use **FastAPI** with most of its features, step by step.
-# Security Intro
+# Security
There are many ways to handle security, authentication and authorization.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: img/icon-white.svg
extra_javascript:
- js/termynal.js
- js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Guía de Usuario Avanzada - Introducción
+# Guía de Usuario Avanzada
## Características Adicionales
-# Tutorial - Guía de Usuario - Introducción
+# Tutorial - Guía de Usuario
Este tutorial te muestra cómo usar **FastAPI** con la mayoría de sus características paso a paso.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Guide de l'utilisateur avancé - Introduction
+# Guide de l'utilisateur avancé
## Caractéristiques supplémentaires
-# Déploiement - Intro
+# Déploiement
Le déploiement d'une application **FastAPI** est relativement simple.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# ユーザーガイド 応用編
+# 高度なユーザーガイド
## さらなる機能
-# デプロイ - イントロ
+# デプロイ
**FastAPI** 製のアプリケーションは比較的容易にデプロイできます。
-# チュートリアル - ユーザーガイド - はじめに
+# チュートリアル - ユーザーガイド
このチュートリアルは**FastAPI**のほぼすべての機能の使い方を段階的に紹介します。
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# 자습서 - 사용자 안내서 - 도입부
+# 자습서 - 사용자 안내서
이 자습서는 **FastAPI**의 대부분의 기능을 단계별로 사용하는 방법을 보여줍니다.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Samouczek - Wprowadzenie
+# Samouczek
Ten samouczek pokaże Ci, krok po kroku, jak używać większości funkcji **FastAPI**.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Guia de Usuário Avançado - Introdução
+# Guia de Usuário Avançado
## Recursos Adicionais
-# Implantação - Introdução
+# Implantação
A implantação de uma aplicação **FastAPI** é relativamente simples.
-# Tutorial - Guia de Usuário - Introdução
+# Tutorial - Guia de Usuário
Esse tutorial mostra como usar o **FastAPI** com a maior parte de seus recursos, passo a passo.
-# Introdução à segurança
+# Segurança
Há várias formas de lidar segurança, autenticação e autorização.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# Развёртывание - Введение
+# Развёртывание
Развернуть приложение **FastAPI** довольно просто.
-# Учебник - Руководство пользователя - Введение
+# Учебник - Руководство пользователя
В этом руководстве шаг за шагом показано, как использовать **FastApi** с большинством его функций.
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
-# 高级用户指南 - 简介
+# 高级用户指南
## 额外特性
-# 高级安全 - 介绍
+# 高级安全
## 附加特性
-# 依赖项 - 第一步
+# 依赖项
FastAPI 提供了简单易用,但功能强大的**<abbr title="也称为组件、资源、提供者、服务、可注入项">依赖注入</abbr>**系统。
-# 教程 - 用户指南 - 简介
+# 教程 - 用户指南
本教程将一步步向你展示如何使用 **FastAPI** 的绝大部分特性。
-# 安全性简介
+# 安全性
有许多方法可以处理安全性、身份认证和授权等问题。
- search.suggest
- search.highlight
- content.tabs.link
+ - navigation.indexes
icon:
repo: fontawesome/brands/github-alt
logo: https://fastapi.tiangolo.com/img/icon-white.svg
extra_javascript:
- https://fastapi.tiangolo.com/js/termynal.js
- https://fastapi.tiangolo.com/js/custom.js
+hooks:
+- ../../scripts/mkdocs_hooks.py
--- /dev/null
+from typing import Any, List, Union
+
+from mkdocs.config.defaults import MkDocsConfig
+from mkdocs.structure.files import Files
+from mkdocs.structure.nav import Link, Navigation, Section
+from mkdocs.structure.pages import Page
+
+
+def generate_renamed_section_items(
+ items: List[Union[Page, Section, Link]], *, config: MkDocsConfig
+) -> List[Union[Page, Section, Link]]:
+ new_items: List[Union[Page, Section, Link]] = []
+ for item in items:
+ if isinstance(item, Section):
+ new_title = item.title
+ new_children = generate_renamed_section_items(item.children, config=config)
+ first_child = new_children[0]
+ if isinstance(first_child, Page):
+ if first_child.file.src_path.endswith("index.md"):
+ # Read the source so that the title is parsed and available
+ first_child.read_source(config=config)
+ new_title = first_child.title or new_title
+ # Creating a new section makes it render it collapsed by default
+ # no idea why, so, let's just modify the existing one
+ # new_section = Section(title=new_title, children=new_children)
+ item.title = new_title
+ item.children = new_children
+ new_items.append(item)
+ else:
+ new_items.append(item)
+ return new_items
+
+
+def on_nav(
+ nav: Navigation, *, config: MkDocsConfig, files: Files, **kwargs: Any
+) -> Navigation:
+ new_items = generate_renamed_section_items(nav.items, config=config)
+ return Navigation(items=new_items, pages=nav.pages)