# ๐Ÿ› ๏ธ - ๐Ÿ“‰ ๐Ÿฅ‡, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’š ๐Ÿ‘€ ๐Ÿ”ฐ ๐ŸŒŒ [โ„น FastAPI & ๐Ÿคš โ„น](help-fastapi.md){.internal-link target=_blank}. ## ๐Ÿ› ๏ธ ๐Ÿšฅ ๐Ÿ‘† โช ๐Ÿ–– ๐Ÿ—ƒ & ๐Ÿ‘† ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช โฌ ๐Ÿคฟ ๐Ÿ“Ÿ, ๐Ÿ“ฅ ๐Ÿ“„ โš’ ๐Ÿ†™ ๐Ÿ‘† ๐ŸŒ. ### ๐Ÿ•น ๐ŸŒ โฎ๏ธ `venv` ๐Ÿ‘† ๐Ÿ’ช โœ ๐Ÿ•น ๐ŸŒ ๐Ÿ“ โš™๏ธ ๐Ÿ `venv` ๐Ÿ•น:
```console $ python -m venv env ```
๐Ÿ‘ˆ ๐Ÿ”œ โœ ๐Ÿ“ `./env/` โฎ๏ธ ๐Ÿ ๐Ÿ’ฑ & โคด๏ธ ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ’ช โŽ ๐Ÿ“ฆ ๐Ÿ‘ˆ โŽ ๐ŸŒ. ### ๐Ÿ”“ ๐ŸŒ ๐Ÿ”“ ๐Ÿ†• ๐ŸŒ โฎ๏ธ: === "๐Ÿ’พ, ๐Ÿ‡ธ๐Ÿ‡ป"
```console $ source ./env/bin/activate ```
=== "๐Ÿšช ๐Ÿ“‹"
```console $ .\env\Scripts\Activate.ps1 ```
=== "๐Ÿšช ๐ŸŽ‰" โš–๏ธ ๐Ÿšฅ ๐Ÿ‘† โš™๏ธ ๐ŸŽ‰ ๐Ÿ–ฅ (โœ… ๐Ÿ› ๐ŸŽ‰):
```console $ source ./env/Scripts/activate ```
โœ… โšซ๏ธ ๐Ÿ‘ท, โš™๏ธ: === "๐Ÿ’พ, ๐Ÿ‡ธ๐Ÿ‡ป, ๐Ÿšช ๐ŸŽ‰"
```console $ which pip some/directory/fastapi/env/bin/pip ```
=== "๐Ÿšช ๐Ÿ“‹"
```console $ Get-Command pip some/directory/fastapi/env/bin/pip ```
๐Ÿšฅ โšซ๏ธ ๐ŸŽฆ `pip` ๐Ÿ’ฑ `env/bin/pip` โคด๏ธ โšซ๏ธ ๐Ÿ‘ท. ๐Ÿ‘ถ โš’ ๐Ÿ’ญ ๐Ÿ‘† โœ”๏ธ ๐Ÿ“ฐ ๐Ÿ– โฌ ๐Ÿ”› ๐Ÿ‘† ๐Ÿ•น ๐ŸŒ โŽ โŒ ๐Ÿ”› โญ ๐Ÿ“ถ:
```console $ python -m pip install --upgrade pip ---> 100% ```
!!! tip ๐Ÿ”  ๐Ÿ•ฐ ๐Ÿ‘† โŽ ๐Ÿ†• ๐Ÿ“ฆ โฎ๏ธ `pip` ๐Ÿ”ฝ ๐Ÿ‘ˆ ๐ŸŒ, ๐Ÿ”“ ๐ŸŒ ๐Ÿ”„. ๐Ÿ‘‰ โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿšฅ ๐Ÿ‘† โš™๏ธ ๐Ÿ“ถ ๐Ÿ“‹ โŽ ๐Ÿ‘ˆ ๐Ÿ“ฆ, ๐Ÿ‘† โš™๏ธ 1๏ธโƒฃ โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ & ๐Ÿšซ ๐Ÿ™† ๐ŸŽ ๐Ÿ‘ˆ ๐Ÿ’ช โŽ ๐ŸŒ. ### ๐Ÿ– โฎ๏ธ ๐Ÿ”“ ๐ŸŒ ๐Ÿ”ฌ ๐Ÿ”›:
```console $ pip install -r requirements.txt ---> 100% ```
โšซ๏ธ ๐Ÿ”œ โŽ ๐ŸŒ ๐Ÿ”— & ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ. #### โš™๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI ๐Ÿšฅ ๐Ÿ‘† โœ ๐Ÿ ๐Ÿ“ ๐Ÿ‘ˆ ๐Ÿ—„ & โš™๏ธ FastAPI, & ๐Ÿƒ โšซ๏ธ โฎ๏ธ ๐Ÿ โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ, โšซ๏ธ ๐Ÿ”œ โš™๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI โ„น ๐Ÿ“Ÿ. & ๐Ÿšฅ ๐Ÿ‘† โ„น ๐Ÿ‘ˆ ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI โ„น ๐Ÿ“Ÿ, โšซ๏ธ โŽ โฎ๏ธ `-e`, ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿƒ ๐Ÿ‘ˆ ๐Ÿ ๐Ÿ“ ๐Ÿ”„, โšซ๏ธ ๐Ÿ”œ โš™๏ธ ๐Ÿ‹ โฌ FastAPI ๐Ÿ‘† โœ. ๐Ÿ‘ˆ ๐ŸŒŒ, ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ "โŽ" ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ โฌ ๐Ÿ’ช ๐Ÿ’ฏ ๐Ÿ”  ๐Ÿ”€. ### ๐Ÿ“ ๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿƒ ๐Ÿ‘ˆ ๐Ÿ”œ ๐Ÿ“ & ๐Ÿงน ๐ŸŒ ๐Ÿ‘† ๐Ÿ“Ÿ:
```console $ bash scripts/format.sh ```
โšซ๏ธ ๐Ÿ”œ ๐Ÿš˜-๐Ÿ˜‡ ๐ŸŒ ๐Ÿ‘† ๐Ÿ—„. โšซ๏ธ ๐Ÿ˜‡ ๐Ÿ‘ซ โ˜‘, ๐Ÿ‘† ๐Ÿ’ช โœ”๏ธ FastAPI โŽ ๐ŸŒ ๐Ÿ‘† ๐ŸŒ, โฎ๏ธ ๐Ÿ“‹ ๐Ÿ“„ ๐Ÿ”› โš™๏ธ `-e`. ## ๐Ÿฉบ ๐Ÿฅ‡, โš’ ๐Ÿ’ญ ๐Ÿ‘† โš’ ๐Ÿ†™ ๐Ÿ‘† ๐ŸŒ ๐Ÿ”ฌ ๐Ÿ”›, ๐Ÿ‘ˆ ๐Ÿ”œ โŽ ๐ŸŒ ๐Ÿ“„. ๐Ÿงพ โš™๏ธ โฌœ. & ๐Ÿ“ค โž• ๐Ÿงฐ/โœ ๐Ÿฅ‰ ๐Ÿต โœ `./scripts/docs.py`. !!! tip ๐Ÿ‘† ๐Ÿšซ ๐Ÿ’ช ๐Ÿ‘€ ๐Ÿ“Ÿ `./scripts/docs.py`, ๐Ÿ‘† โš™๏ธ โšซ๏ธ ๐Ÿ“‹ โธ. ๐ŸŒ ๐Ÿงพ โœ ๐Ÿ“ ๐Ÿ“ `./docs/en/`. ๐Ÿ“š ๐Ÿ”ฐ โœ”๏ธ ๐Ÿซ ๐Ÿ“Ÿ. ๐ŸŒ… ๐Ÿ’ผ, ๐Ÿ‘ซ ๐Ÿซ ๐Ÿ“Ÿ โ˜‘ ๐Ÿ ๐Ÿˆธ ๐Ÿ‘ˆ ๐Ÿ’ช ๐Ÿƒ. ๐Ÿ‘, ๐Ÿ‘ˆ ๐Ÿซ ๐Ÿ“Ÿ ๐Ÿšซ โœ ๐Ÿ”˜ โœ, ๐Ÿ‘ซ ๐Ÿ ๐Ÿ“ `./docs_src/` ๐Ÿ“. & ๐Ÿ‘ˆ ๐Ÿ ๐Ÿ“ ๐Ÿ”Œ/๐Ÿ’‰ ๐Ÿงพ ๐Ÿ•โ” ๐Ÿญ ๐Ÿ•ธ. ### ๐Ÿฉบ ๐Ÿ’ฏ ๐Ÿ† ๐Ÿ’ฏ ๐Ÿค™ ๐Ÿƒ ๐Ÿ›ก ๐Ÿ–ผ โ„น ๐Ÿ“ ๐Ÿงพ. ๐Ÿ‘‰ โ„น โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ: * ๐Ÿงพ ๐Ÿ†™ ๐Ÿ“…. * ๐Ÿงพ ๐Ÿ–ผ ๐Ÿ’ช ๐Ÿƒ. * ๐ŸŒ… โš’ ๐Ÿ“” ๐Ÿงพ, ๐Ÿšš ๐Ÿ’ฏ ๐Ÿ’ฐ. โฎ๏ธ ๐Ÿ‡ง๐Ÿ‡ฟ ๐Ÿ› ๏ธ, ๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ— ๐Ÿ•ธ & โœ… ๐Ÿ™† ๐Ÿ”€, ๐Ÿ––-๐Ÿ”ซ:
```console $ python ./scripts/docs.py live [INFO] Serving on http://127.0.0.1:8008 [INFO] Start watching changes [INFO] Start detecting changes ```
โšซ๏ธ ๐Ÿ”œ ๐Ÿฆ ๐Ÿงพ ๐Ÿ”› `http://127.0.0.1:8008`. ๐Ÿ‘ˆ ๐ŸŒŒ, ๐Ÿ‘† ๐Ÿ’ช โœ ๐Ÿงพ/โ„น ๐Ÿ“ & ๐Ÿ‘€ ๐Ÿ”€ ๐Ÿ––. #### ๐ŸŽ โœณ (๐Ÿ“ฆ) ๐Ÿ‘ฉโ€๐ŸŒพ ๐Ÿ“ฅ ๐ŸŽฆ ๐Ÿ‘† โ” โš™๏ธ โœ `./scripts/docs.py` โฎ๏ธ `python` ๐Ÿ“‹ ๐Ÿ”—. โœ‹๏ธ ๐Ÿ‘† ๐Ÿ’ช โš™๏ธ ๐ŸŽ โœณ, & ๐Ÿ‘† ๐Ÿ”œ ๐Ÿคš โœ ๐Ÿ‘† ๐Ÿ“ถ ๐Ÿ“‹ โฎ๏ธ โŽ ๐Ÿ› ๏ธ. ๐Ÿšฅ ๐Ÿ‘† โŽ ๐ŸŽ โœณ, ๐Ÿ‘† ๐Ÿ’ช โŽ ๐Ÿ› ๏ธ โฎ๏ธ:
```console $ typer --install-completion zsh completion installed in /home/user/.bashrc. Completion will take effect once you restart the terminal. ```
### ๐Ÿ“ฑ & ๐Ÿฉบ ๐ŸŽ ๐Ÿ•ฐ ๐Ÿšฅ ๐Ÿ‘† ๐Ÿƒ ๐Ÿ–ผ โฎ๏ธ, โœ…:
```console $ uvicorn tutorial001:app --reload INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ```
Uvicorn ๐Ÿ”ข ๐Ÿ”œ โš™๏ธ โ›ด `8000`, ๐Ÿงพ ๐Ÿ”› โ›ด `8008` ๐Ÿ† ๐Ÿšซ โš”. ### โœ โ„น โฎ๏ธ โœ ๐Ÿ“ถ ๐ŸŒ… ๐Ÿ‘ โ— & โšซ๏ธ ๐Ÿ’ช ๐Ÿšซ ๐Ÿ”จ ๐Ÿต โ„น โšช๏ธโžก๏ธ ๐Ÿ‘ช. ๐Ÿ‘ถ ๐Ÿ‘ถ ๐Ÿ“ฅ ๐Ÿ“ถ โ„น โฎ๏ธ โœ. #### ๐Ÿ’โ€โ™‚ & ๐Ÿ“„ * โœ… โณ โ™ป ๐Ÿšฒ ๐Ÿ“จ ๐Ÿ‘† ๐Ÿ‡ช๐Ÿ‡ธ & ๐Ÿšฎ ๐Ÿ“„ โœ” ๐Ÿ”€ โš–๏ธ โœ” ๐Ÿ‘ซ. !!! tip ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšฎ ๐Ÿค โฎ๏ธ ๐Ÿ”€ ๐Ÿ”‘ โ™ป ๐Ÿšฒ ๐Ÿ“จ. โœ… ๐Ÿฉบ ๐Ÿ”ƒ โŽ ๐Ÿšฒ ๐Ÿ“จ ๐Ÿ“„ โœ” โšซ๏ธ โš–๏ธ ๐Ÿ“จ ๐Ÿ”€. * โœ… โ” ๐Ÿ‘€ ๐Ÿšฅ ๐Ÿ“ค 1๏ธโƒฃ ๐Ÿ› ๏ธ โœ ๐Ÿ‘† ๐Ÿ‡ช๐Ÿ‡ธ. * ๐Ÿšฎ ๐Ÿ‘ ๐Ÿšฒ ๐Ÿ“จ ๐Ÿ“ ๐Ÿ“ƒ ๐Ÿ’ฌ. ๐Ÿ‘ˆ ๐Ÿ”œ โš’ โšซ๏ธ ๐ŸŒ… โฉ ๐ŸŽ ๐Ÿ“„ โšซ๏ธ. ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘ค ๐Ÿšซ ๐Ÿ’ฌ, ๐Ÿ‘ค ๐Ÿ”œ โŒ› ๐Ÿ“š ๐ŸŽ ๐Ÿ“„ โœ โญ ๐Ÿ”—. * ๐Ÿ‘† ๐Ÿ’ช โœ… ๐Ÿšฅ ๐Ÿ“ค โœ ๐Ÿ‘† ๐Ÿ‡ช๐Ÿ‡ธ & ๐Ÿšฎ ๐Ÿ“„ ๐Ÿ‘ซ, ๐Ÿ‘ˆ ๐Ÿ”œ โ„น ๐Ÿ‘ค ๐Ÿ’ญ ๐Ÿ‘ˆ โœ โ˜‘ & ๐Ÿ‘ค ๐Ÿ’ช ๐Ÿ”— โšซ๏ธ. * โš™๏ธ ๐ŸŽ ๐Ÿ ๐Ÿ–ผ & ๐Ÿ•ด ๐Ÿ’ฌ โœ ๐Ÿฉบ. ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ ๐Ÿ”€ ๐Ÿ•ณ ๐Ÿ‘‰ ๐Ÿ‘ท. * โš™๏ธ ๐ŸŽ ๐Ÿ–ผ, ๐Ÿ“ ๐Ÿ“›, & ๐Ÿ”—. ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ ๐Ÿ”€ ๐Ÿ•ณ โšซ๏ธ ๐Ÿ‘ท. * โœ… 2๏ธโƒฃ-๐Ÿ”ค ๐Ÿ“Ÿ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘† ๐Ÿ’š ๐Ÿ’ฌ ๐Ÿ‘† ๐Ÿ’ช โš™๏ธ ๐Ÿ“ ๐Ÿ“‡ ๐Ÿ’พ 6๏ธโƒฃ3๏ธโƒฃ9๏ธโƒฃ-1๏ธโƒฃ ๐Ÿ“Ÿ. #### โ™ป ๐Ÿ‡ช๐Ÿ‡ธ โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘† ๐Ÿ’š ๐Ÿ’ฌ ๐Ÿ“ƒ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘ˆ โช โœ”๏ธ โœ ๐Ÿ“ƒ, ๐Ÿ’– ๐Ÿ‡ช๐Ÿ‡ธ. ๐Ÿ’ผ ๐Ÿ‡ช๐Ÿ‡ธ, 2๏ธโƒฃ-๐Ÿ”ค ๐Ÿ“Ÿ `es`. , ๐Ÿ“ ๐Ÿ‡ช๐Ÿ‡ธ โœ ๐Ÿ”Ž `docs/es/`. !!! tip ๐Ÿ‘‘ ("๐Ÿ›‚") ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ช๐Ÿ‡ธ, ๐Ÿ”Ž `docs/en/`. ๐Ÿ”œ ๐Ÿƒ ๐Ÿ–– ๐Ÿ’ฝ ๐Ÿฉบ ๐Ÿ‡ช๐Ÿ‡ธ:
```console // Use the command "live" and pass the language code as a CLI argument $ python ./scripts/docs.py live es [INFO] Serving on http://127.0.0.1:8008 [INFO] Start watching changes [INFO] Start detecting changes ```
๐Ÿ”œ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšถ http://127.0.0.1:8008 & ๐Ÿ‘€ ๐Ÿ‘† ๐Ÿ”€ ๐Ÿ––. ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ‘€ FastAPI ๐Ÿฉบ ๐Ÿ•ธ, ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ”  ๐Ÿ‡ช๐Ÿ‡ธ โœ”๏ธ ๐ŸŒ ๐Ÿ“ƒ. โœ‹๏ธ ๐Ÿ“ƒ ๐Ÿšซ ๐Ÿ’ฌ & โœ”๏ธ ๐Ÿ“จ ๐Ÿ”ƒ โŒ โœ. โœ‹๏ธ ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿƒ โšซ๏ธ ๐ŸŒ ๐Ÿ’– ๐Ÿ‘‰, ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ•ด ๐Ÿ‘€ ๐Ÿ“ƒ ๐Ÿ‘ˆ โช ๐Ÿ’ฌ. ๐Ÿ”œ โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ“„ [โš’](features.md){.internal-link target=_blank}. * ๐Ÿ“ ๐Ÿ“: ``` docs/en/docs/features.md ``` * ๐Ÿ“‹ โšซ๏ธ โšซ๏ธโ” ๐ŸŽ ๐Ÿ—บ โœ‹๏ธ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘† ๐Ÿ’š ๐Ÿ’ฌ, โœ…: ``` docs/es/docs/features.md ``` !!! tip ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ•ด ๐Ÿ”€ โžก & ๐Ÿ“ ๐Ÿ“› ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ“Ÿ, โšช๏ธโžก๏ธ `en` `es`. * ๐Ÿ”œ ๐Ÿ“‚ โฌœ ๐Ÿ“ ๐Ÿ“ ๐Ÿ‡ช๐Ÿ‡ธ: ``` docs/en/mkdocs.yml ``` * ๐Ÿ”Ž ๐Ÿฅ‰ ๐ŸŒโ” ๐Ÿ‘ˆ `docs/features.md` ๐Ÿ”Ž ๐Ÿ“ ๐Ÿ“. ๐Ÿ‘ฑ ๐Ÿ’–: ```YAML hl_lines="8" site_name: FastAPI # More stuff nav: - FastAPI: index.md - Languages: - en: / - es: /es/ - features.md ``` * ๐Ÿ“‚ โฌœ ๐Ÿ“ ๐Ÿ“ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘† โœ, โœ…: ``` docs/es/mkdocs.yml ``` * ๐Ÿšฎ โšซ๏ธ ๐Ÿ“ค โ˜‘ ๐ŸŽ ๐Ÿ—บ โšซ๏ธ ๐Ÿ‡ช๐Ÿ‡ธ, โœ…: ```YAML hl_lines="8" site_name: FastAPI # More stuff nav: - FastAPI: index.md - Languages: - en: / - es: /es/ - features.md ``` โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿšฅ ๐Ÿ“ค ๐ŸŽ โ›”, ๐Ÿ†• โ›” โฎ๏ธ ๐Ÿ‘† โœ โšซ๏ธโ” ๐ŸŽ โœ” ๐Ÿ‡ช๐Ÿ‡ธ โฌ. ๐Ÿšฅ ๐Ÿ‘† ๐Ÿšถ ๐Ÿ‘† ๐Ÿ–ฅ ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ”œ ๐Ÿฉบ ๐ŸŽฆ ๐Ÿ‘† ๐Ÿ†• ๐Ÿ“„. ๐Ÿ‘ถ ๐Ÿ”œ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ฌ โšซ๏ธ ๐ŸŒ & ๐Ÿ‘€ โ” โšซ๏ธ ๐Ÿ‘€ ๐Ÿ‘† ๐Ÿ–Š ๐Ÿ“. #### ๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘ˆ ๐Ÿšซ ๐Ÿ’ฌ, ๐Ÿšซ ๐Ÿ“ƒ. โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ‡ญ๐Ÿ‡น, & โšซ๏ธ ๐Ÿšซ ๐Ÿ“ค ๐Ÿฉบ. โœ… ๐Ÿ”— โšช๏ธโžก๏ธ ๐Ÿ”›, ๐Ÿ“Ÿ "๐Ÿ‡ญ๐Ÿ‡น" `ht`. โญ ๐Ÿ” ๐Ÿƒ โœ ๐Ÿ— ๐Ÿ†• โœ ๐Ÿ“:
```console // Use the command new-lang, pass the language code as a CLI argument $ python ./scripts/docs.py new-lang ht Successfully initialized: docs/ht Updating ht Updating en ```
๐Ÿ”œ ๐Ÿ‘† ๐Ÿ’ช โœ… ๐Ÿ‘† ๐Ÿ“Ÿ ๐Ÿ‘จโ€๐ŸŽจ โณ โœ ๐Ÿ“ `docs/ht/`. !!! tip โœ ๐Ÿฅ‡ ๐Ÿšฒ ๐Ÿ“จ โฎ๏ธ ๐Ÿ‘‰, โš’ ๐Ÿ†™ ๐Ÿ“ณ ๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ, โญ โŽ โœ. ๐Ÿ‘ˆ ๐ŸŒŒ ๐ŸŽ ๐Ÿ’ช โ„น โฎ๏ธ ๐ŸŽ ๐Ÿ“ƒ โช ๐Ÿ‘† ๐Ÿ‘ท ๐Ÿ”› ๐Ÿฅ‡ ๐Ÿ•. ๐Ÿ‘ถ โ–ถ๏ธ โœ ๐Ÿ‘‘ ๐Ÿ“ƒ, `docs/ht/index.md`. โคด๏ธ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ˜ฃ โฎ๏ธ โฎ๏ธ ๐Ÿ‘ฉโ€๐ŸŒพ, "โ™ป ๐Ÿ‡ช๐Ÿ‡ธ". ##### ๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿšซ ๐Ÿ•โ€๐Ÿฆบ ๐Ÿšฅ ๐Ÿ•โ” ๐Ÿƒโ€โ™‚ ๐Ÿ–– ๐Ÿ’ฝ โœ ๐Ÿ‘† ๐Ÿคš โŒ ๐Ÿ”ƒ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿšซ โž– ๐Ÿ•โ€๐Ÿฆบ, ๐Ÿ•ณ ๐Ÿ’–: ``` raise TemplateNotFound(template) jinja2.exceptions.TemplateNotFound: partials/language/xx.html ``` ๐Ÿ‘ˆ โ›“ ๐Ÿ‘ˆ ๐ŸŽข ๐Ÿšซ ๐Ÿ•โ€๐Ÿฆบ ๐Ÿ‘ˆ ๐Ÿ‡ช๐Ÿ‡ธ (๐Ÿ‘‰ ๐Ÿ’ผ, โฎ๏ธ โŒ 2๏ธโƒฃ-๐Ÿ”ค ๐Ÿ“Ÿ `xx`). โœ‹๏ธ ๐Ÿšซ ๐Ÿ˜Ÿ, ๐Ÿ‘† ๐Ÿ’ช โš’ ๐ŸŽข ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ช๐Ÿ‡ธ & โคด๏ธ ๐Ÿ’ฌ ๐ŸŽš ๐Ÿฉบ. ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ‘ˆ, โœ `mkdocs.yml` ๐Ÿ‘† ๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ, โšซ๏ธ ๐Ÿ”œ โœ”๏ธ ๐Ÿ•ณ ๐Ÿ’–: ```YAML hl_lines="5" site_name: FastAPI # More stuff theme: # More stuff language: xx ``` ๐Ÿ”€ ๐Ÿ‘ˆ ๐Ÿ‡ช๐Ÿ‡ธ โšช๏ธโžก๏ธ `xx` (โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ“Ÿ) `en`. โคด๏ธ ๐Ÿ‘† ๐Ÿ’ช โ–ถ๏ธ ๐Ÿ–– ๐Ÿ’ฝ ๐Ÿ”„. #### ๐ŸŽฎ ๐Ÿ ๐Ÿ•โ” ๐Ÿ‘† โš™๏ธ โœ `./scripts/docs.py` โฎ๏ธ `live` ๐Ÿ“‹ โšซ๏ธ ๐Ÿ•ด ๐ŸŽฆ ๐Ÿ“ & โœ ๐Ÿ’ช โฎ๏ธ ๐Ÿ‡ช๐Ÿ‡ธ. โœ‹๏ธ ๐Ÿ• ๐Ÿ‘† ๐Ÿ”จ, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ฏ โšซ๏ธ ๐ŸŒ โšซ๏ธ ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ’ณ. ๐Ÿ‘ˆ, ๐Ÿฅ‡ ๐Ÿ— ๐ŸŒ ๐Ÿฉบ:
```console // 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 ```
๐Ÿ‘ˆ ๐Ÿ— ๐ŸŒ ๐Ÿฉบ `./docs_build/` ๐Ÿ”  ๐Ÿ‡ช๐Ÿ‡ธ. ๐Ÿ‘‰ ๐Ÿ”Œ โŽ ๐Ÿ™† ๐Ÿ“ โฎ๏ธ โŒ โœ, โฎ๏ธ ๐Ÿ—’ ๐Ÿ’ฌ ๐Ÿ‘ˆ "๐Ÿ‘‰ ๐Ÿ“ ๐Ÿšซ โœ”๏ธ โœ". โœ‹๏ธ ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ ๐Ÿ•ณ โฎ๏ธ ๐Ÿ‘ˆ ๐Ÿ“. โคด๏ธ โšซ๏ธ ๐Ÿ— ๐ŸŒ ๐Ÿ‘ˆ ๐Ÿ”ฌ โฌœ ๐Ÿ•ธ ๐Ÿ”  ๐Ÿ‡ช๐Ÿ‡ธ, ๐ŸŒ€ ๐Ÿ‘ซ, & ๐Ÿ— ๐Ÿ ๐Ÿ”ข `./site/`. โคด๏ธ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿฆ ๐Ÿ‘ˆ โฎ๏ธ ๐Ÿ“‹ `serve`:
```console // Use the command "serve" after running "build-all" $ python ./scripts/docs.py serve Warning: this is a very simple server. For development, use mkdocs serve instead. This is here only to preview a site with translations already built. Make sure you run the build-all command first. Serving at: http://127.0.0.1:8008 ```
## ๐Ÿ’ฏ ๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿƒ ๐ŸŒ ๐Ÿ’ฏ ๐ŸŒ ๐Ÿ“Ÿ & ๐Ÿ— ๐Ÿ’ฐ ๐Ÿ“„ ๐Ÿ•ธ:
```console $ bash scripts/test-cov-html.sh ```
๐Ÿ‘‰ ๐Ÿ“‹ ๐Ÿ— ๐Ÿ“ `./htmlcov/`, ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ“‚ ๐Ÿ“ `./htmlcov/index.html` ๐Ÿ‘† ๐Ÿ–ฅ, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ”ฌ ๐Ÿ–ฅ ๐Ÿ‡น๐Ÿ‡ผ ๐Ÿ“Ÿ ๐Ÿ‘ˆ ๐Ÿ“” ๐Ÿ’ฏ, & ๐Ÿ‘€ ๐Ÿšฅ ๐Ÿ“ค ๐Ÿ™† ๐Ÿ‡น๐Ÿ‡ผ โŒ.