Skip to content

๐Ÿ› ๏ธ - ๐Ÿ“‰

๐Ÿฅ‡, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’š ๐Ÿ‘€ ๐Ÿ”ฐ ๐ŸŒŒ โ„น FastAPI & ๐Ÿคš โ„น.

๐Ÿ› ๏ธ

๐Ÿšฅ ๐Ÿ‘† โช ๐Ÿ–– ๐Ÿ—ƒ & ๐Ÿ‘† ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช โฌ ๐Ÿคฟ ๐Ÿ“Ÿ, ๐Ÿ“ฅ ๐Ÿ“„ โš’ ๐Ÿ†™ ๐Ÿ‘† ๐ŸŒ.

๐Ÿ•น ๐ŸŒ โฎ๏ธ venv

๐Ÿ‘† ๐Ÿ’ช โœ ๐Ÿ•น ๐ŸŒ ๐Ÿ“ โš™๏ธ ๐Ÿ venv ๐Ÿ•น:

$ python -m venv env

๐Ÿ‘ˆ ๐Ÿ”œ โœ ๐Ÿ“ ./env/ โฎ๏ธ ๐Ÿ ๐Ÿ’ฑ & โคด๏ธ ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ’ช โŽ ๐Ÿ“ฆ ๐Ÿ‘ˆ โŽ ๐ŸŒ.

๐Ÿ”“ ๐ŸŒ

๐Ÿ”“ ๐Ÿ†• ๐ŸŒ โฎ๏ธ:

$ source ./env/bin/activate
$ .\env\Scripts\Activate.ps1

โš–๏ธ ๐Ÿšฅ ๐Ÿ‘† โš™๏ธ ๐ŸŽ‰ ๐Ÿ–ฅ (โœ… ๐Ÿ› ๐ŸŽ‰):

$ source ./env/Scripts/activate

โœ… โšซ๏ธ ๐Ÿ‘ท, โš™๏ธ:

$ which pip

some/directory/fastapi/env/bin/pip
$ Get-Command pip

some/directory/fastapi/env/bin/pip

๐Ÿšฅ โšซ๏ธ ๐ŸŽฆ pip ๐Ÿ’ฑ env/bin/pip โคด๏ธ โšซ๏ธ ๐Ÿ‘ท. ๐Ÿ‘ถ

โš’ ๐Ÿ’ญ ๐Ÿ‘† โœ”๏ธ ๐Ÿ“ฐ ๐Ÿ– โฌ ๐Ÿ”› ๐Ÿ‘† ๐Ÿ•น ๐ŸŒ โŽ โŒ ๐Ÿ”› โญ ๐Ÿ“ถ:

$ python -m pip install --upgrade pip

---> 100%

Tip

๐Ÿ”  ๐Ÿ•ฐ ๐Ÿ‘† โŽ ๐Ÿ†• ๐Ÿ“ฆ โฎ๏ธ pip ๐Ÿ”ฝ ๐Ÿ‘ˆ ๐ŸŒ, ๐Ÿ”“ ๐ŸŒ ๐Ÿ”„.

๐Ÿ‘‰ โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿšฅ ๐Ÿ‘† โš™๏ธ ๐Ÿ“ถ ๐Ÿ“‹ โŽ ๐Ÿ‘ˆ ๐Ÿ“ฆ, ๐Ÿ‘† โš™๏ธ 1๏ธโƒฃ โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ & ๐Ÿšซ ๐Ÿ™† ๐ŸŽ ๐Ÿ‘ˆ ๐Ÿ’ช โŽ ๐ŸŒ.

๐Ÿ–

โฎ๏ธ ๐Ÿ”“ ๐ŸŒ ๐Ÿ”ฌ ๐Ÿ”›:

$ pip install -r requirements.txt

---> 100%

โšซ๏ธ ๐Ÿ”œ โŽ ๐ŸŒ ๐Ÿ”— & ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ.

โš™๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI

๐Ÿšฅ ๐Ÿ‘† โœ ๐Ÿ ๐Ÿ“ ๐Ÿ‘ˆ ๐Ÿ—„ & โš™๏ธ FastAPI, & ๐Ÿƒ โšซ๏ธ โฎ๏ธ ๐Ÿ โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ ๐ŸŒ, โšซ๏ธ ๐Ÿ”œ โš™๏ธ ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI โ„น ๐Ÿ“Ÿ.

& ๐Ÿšฅ ๐Ÿ‘† โ„น ๐Ÿ‘ˆ ๐Ÿ‡ง๐Ÿ‡ฟ FastAPI โ„น ๐Ÿ“Ÿ, โšซ๏ธ โŽ โฎ๏ธ -e, ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿƒ ๐Ÿ‘ˆ ๐Ÿ ๐Ÿ“ ๐Ÿ”„, โšซ๏ธ ๐Ÿ”œ โš™๏ธ ๐Ÿ‹ โฌ FastAPI ๐Ÿ‘† โœ.

๐Ÿ‘ˆ ๐ŸŒŒ, ๐Ÿ‘† ๐Ÿšซ โœ”๏ธ "โŽ" ๐Ÿ‘† ๐Ÿ‡ง๐Ÿ‡ฟ โฌ ๐Ÿ’ช ๐Ÿ’ฏ ๐Ÿ”  ๐Ÿ”€.

๐Ÿ“

๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿƒ ๐Ÿ‘ˆ ๐Ÿ”œ ๐Ÿ“ & ๐Ÿงน ๐ŸŒ ๐Ÿ‘† ๐Ÿ“Ÿ:

$ bash scripts/format.sh

โšซ๏ธ ๐Ÿ”œ ๐Ÿš˜-๐Ÿ˜‡ ๐ŸŒ ๐Ÿ‘† ๐Ÿ—„.

โšซ๏ธ ๐Ÿ˜‡ ๐Ÿ‘ซ โ˜‘, ๐Ÿ‘† ๐Ÿ’ช โœ”๏ธ FastAPI โŽ ๐ŸŒ ๐Ÿ‘† ๐ŸŒ, โฎ๏ธ ๐Ÿ“‹ ๐Ÿ“„ ๐Ÿ”› โš™๏ธ -e.

๐Ÿฉบ

๐Ÿฅ‡, โš’ ๐Ÿ’ญ ๐Ÿ‘† โš’ ๐Ÿ†™ ๐Ÿ‘† ๐ŸŒ ๐Ÿ”ฌ ๐Ÿ”›, ๐Ÿ‘ˆ ๐Ÿ”œ โŽ ๐ŸŒ ๐Ÿ“„.

๐Ÿงพ โš™๏ธ โฌœ.

& ๐Ÿ“ค โž• ๐Ÿงฐ/โœ ๐Ÿฅ‰ ๐Ÿต โœ ./scripts/docs.py.

Tip

๐Ÿ‘† ๐Ÿšซ ๐Ÿ’ช ๐Ÿ‘€ ๐Ÿ“Ÿ ./scripts/docs.py, ๐Ÿ‘† โš™๏ธ โšซ๏ธ ๐Ÿ“‹ โธ.

๐ŸŒ ๐Ÿงพ โœ ๐Ÿ“ ๐Ÿ“ ./docs/en/.

๐Ÿ“š ๐Ÿ”ฐ โœ”๏ธ ๐Ÿซ ๐Ÿ“Ÿ.

๐ŸŒ… ๐Ÿ’ผ, ๐Ÿ‘ซ ๐Ÿซ ๐Ÿ“Ÿ โ˜‘ ๐Ÿ ๐Ÿˆธ ๐Ÿ‘ˆ ๐Ÿ’ช ๐Ÿƒ.

๐Ÿ‘, ๐Ÿ‘ˆ ๐Ÿซ ๐Ÿ“Ÿ ๐Ÿšซ โœ ๐Ÿ”˜ โœ, ๐Ÿ‘ซ ๐Ÿ ๐Ÿ“ ./docs_src/ ๐Ÿ“.

& ๐Ÿ‘ˆ ๐Ÿ ๐Ÿ“ ๐Ÿ”Œ/๐Ÿ’‰ ๐Ÿงพ ๐Ÿ•โ” ๐Ÿญ ๐Ÿ•ธ.

๐Ÿฉบ ๐Ÿ’ฏ

๐Ÿ† ๐Ÿ’ฏ ๐Ÿค™ ๐Ÿƒ ๐Ÿ›ก ๐Ÿ–ผ โ„น ๐Ÿ“ ๐Ÿงพ.

๐Ÿ‘‰ โ„น โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ:

  • ๐Ÿงพ ๐Ÿ†™ ๐Ÿ“….
  • ๐Ÿงพ ๐Ÿ–ผ ๐Ÿ’ช ๐Ÿƒ.
  • ๐ŸŒ… โš’ ๐Ÿ“” ๐Ÿงพ, ๐Ÿšš ๐Ÿ’ฏ ๐Ÿ’ฐ.

โฎ๏ธ ๐Ÿ‡ง๐Ÿ‡ฟ ๐Ÿ› ๏ธ, ๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ— ๐Ÿ•ธ & โœ… ๐Ÿ™† ๐Ÿ”€, ๐Ÿ––-๐Ÿ”ซ:

$ python ./scripts/docs.py live

<span style="color: green;">[INFO]</span> Serving on http://127.0.0.1:8008
<span style="color: green;">[INFO]</span> Start watching changes
<span style="color: green;">[INFO]</span> Start detecting changes

โšซ๏ธ ๐Ÿ”œ ๐Ÿฆ ๐Ÿงพ ๐Ÿ”› http://127.0.0.1:8008.

๐Ÿ‘ˆ ๐ŸŒŒ, ๐Ÿ‘† ๐Ÿ’ช โœ ๐Ÿงพ/โ„น ๐Ÿ“ & ๐Ÿ‘€ ๐Ÿ”€ ๐Ÿ––.

๐ŸŽ โœณ (๐Ÿ“ฆ)

๐Ÿ‘ฉโ€๐ŸŒพ ๐Ÿ“ฅ ๐ŸŽฆ ๐Ÿ‘† โ” โš™๏ธ โœ ./scripts/docs.py โฎ๏ธ python ๐Ÿ“‹ ๐Ÿ”—.

โœ‹๏ธ ๐Ÿ‘† ๐Ÿ’ช โš™๏ธ ๐ŸŽ โœณ, & ๐Ÿ‘† ๐Ÿ”œ ๐Ÿคš โœ ๐Ÿ‘† ๐Ÿ“ถ ๐Ÿ“‹ โฎ๏ธ โŽ ๐Ÿ› ๏ธ.

๐Ÿšฅ ๐Ÿ‘† โŽ ๐ŸŽ โœณ, ๐Ÿ‘† ๐Ÿ’ช โŽ ๐Ÿ› ๏ธ โฎ๏ธ:

$ typer --install-completion

zsh completion installed in /home/user/.bashrc.
Completion will take effect once you restart the terminal.

๐Ÿ“ฑ & ๐Ÿฉบ ๐ŸŽ ๐Ÿ•ฐ

๐Ÿšฅ ๐Ÿ‘† ๐Ÿƒ ๐Ÿ–ผ โฎ๏ธ, โœ…:

$ uvicorn tutorial001:app --reload

<span style="color: green;">INFO</span>:     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/.

๐Ÿ”œ ๐Ÿƒ ๐Ÿ–– ๐Ÿ’ฝ ๐Ÿฉบ ๐Ÿ‡ช๐Ÿ‡ธ:

// Use the command "live" and pass the language code as a CLI argument
$ python ./scripts/docs.py live es

<span style="color: green;">[INFO]</span> Serving on http://127.0.0.1:8008
<span style="color: green;">[INFO]</span> Start watching changes
<span style="color: green;">[INFO]</span> Start detecting changes

๐Ÿ”œ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿšถ http://127.0.0.1:8008 & ๐Ÿ‘€ ๐Ÿ‘† ๐Ÿ”€ ๐Ÿ––.

๐Ÿšฅ ๐Ÿ‘† ๐Ÿ‘€ FastAPI ๐Ÿฉบ ๐Ÿ•ธ, ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ”  ๐Ÿ‡ช๐Ÿ‡ธ โœ”๏ธ ๐ŸŒ ๐Ÿ“ƒ. โœ‹๏ธ ๐Ÿ“ƒ ๐Ÿšซ ๐Ÿ’ฌ & โœ”๏ธ ๐Ÿ“จ ๐Ÿ”ƒ โŒ โœ.

โœ‹๏ธ ๐Ÿ•โ” ๐Ÿ‘† ๐Ÿƒ โšซ๏ธ ๐ŸŒ ๐Ÿ’– ๐Ÿ‘‰, ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ•ด ๐Ÿ‘€ ๐Ÿ“ƒ ๐Ÿ‘ˆ โช ๐Ÿ’ฌ.

๐Ÿ”œ โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ“„ โš’.

  • ๐Ÿ“ ๐Ÿ“:
docs/en/docs/features.md
  • ๐Ÿ“‹ โšซ๏ธ โšซ๏ธโ” ๐ŸŽ ๐Ÿ—บ โœ‹๏ธ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘† ๐Ÿ’š ๐Ÿ’ฌ, โœ…:
docs/es/docs/features.md

Tip

๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ•ด ๐Ÿ”€ โžก & ๐Ÿ“ ๐Ÿ“› ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ“Ÿ, โšช๏ธโžก๏ธ en es.

  • ๐Ÿ”œ ๐Ÿ“‚ โฌœ ๐Ÿ“ ๐Ÿ“ ๐Ÿ‡ช๐Ÿ‡ธ:
docs/en/mkdocs.yml
  • ๐Ÿ”Ž ๐Ÿฅ‰ ๐ŸŒโ” ๐Ÿ‘ˆ docs/features.md ๐Ÿ”Ž ๐Ÿ“ ๐Ÿ“. ๐Ÿ‘ฑ ๐Ÿ’–:
site_name: FastAPI
# More stuff
nav:
- FastAPI: index.md
- Languages:
  - en: /
  - es: /es/
- features.md
  • ๐Ÿ“‚ โฌœ ๐Ÿ“ ๐Ÿ“ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘† โœ, โœ…:
docs/es/mkdocs.yml
  • ๐Ÿšฎ โšซ๏ธ ๐Ÿ“ค โ˜‘ ๐ŸŽ ๐Ÿ—บ โšซ๏ธ ๐Ÿ‡ช๐Ÿ‡ธ, โœ…:
site_name: FastAPI
# More stuff
nav:
- FastAPI: index.md
- Languages:
  - en: /
  - es: /es/
- features.md

โš’ ๐Ÿ’ญ ๐Ÿ‘ˆ ๐Ÿšฅ ๐Ÿ“ค ๐ŸŽ โ›”, ๐Ÿ†• โ›” โฎ๏ธ ๐Ÿ‘† โœ โšซ๏ธโ” ๐ŸŽ โœ” ๐Ÿ‡ช๐Ÿ‡ธ โฌ.

๐Ÿšฅ ๐Ÿ‘† ๐Ÿšถ ๐Ÿ‘† ๐Ÿ–ฅ ๐Ÿ‘† ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ‘ˆ ๐Ÿ”œ ๐Ÿฉบ ๐ŸŽฆ ๐Ÿ‘† ๐Ÿ†• ๐Ÿ“„. ๐Ÿ‘ถ

๐Ÿ”œ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ฌ โšซ๏ธ ๐ŸŒ & ๐Ÿ‘€ โ” โšซ๏ธ ๐Ÿ‘€ ๐Ÿ‘† ๐Ÿ–Š ๐Ÿ“.

๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ

โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‘ˆ ๐Ÿšซ ๐Ÿ’ฌ, ๐Ÿšซ ๐Ÿ“ƒ.

โžก๏ธ ๐Ÿ’ฌ ๐Ÿ‘† ๐Ÿ’š ๐Ÿšฎ โœ ๐Ÿ‡ญ๐Ÿ‡น, & โšซ๏ธ ๐Ÿšซ ๐Ÿ“ค ๐Ÿฉบ.

โœ… ๐Ÿ”— โšช๏ธโžก๏ธ ๐Ÿ”›, ๐Ÿ“Ÿ "๐Ÿ‡ญ๐Ÿ‡น" ht.

โญ ๐Ÿ” ๐Ÿƒ โœ ๐Ÿ— ๐Ÿ†• โœ ๐Ÿ“:

// 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 ๐Ÿ‘† ๐Ÿ†• ๐Ÿ‡ช๐Ÿ‡ธ, โšซ๏ธ ๐Ÿ”œ โœ”๏ธ ๐Ÿ•ณ ๐Ÿ’–:

site_name: FastAPI
# More stuff
theme:
  # More stuff
  language: xx

๐Ÿ”€ ๐Ÿ‘ˆ ๐Ÿ‡ช๐Ÿ‡ธ โšช๏ธโžก๏ธ xx (โšช๏ธโžก๏ธ ๐Ÿ‘† ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ“Ÿ) en.

โคด๏ธ ๐Ÿ‘† ๐Ÿ’ช โ–ถ๏ธ ๐Ÿ–– ๐Ÿ’ฝ ๐Ÿ”„.

๐ŸŽฎ ๐Ÿ

๐Ÿ•โ” ๐Ÿ‘† โš™๏ธ โœ ./scripts/docs.py โฎ๏ธ live ๐Ÿ“‹ โšซ๏ธ ๐Ÿ•ด ๐ŸŽฆ ๐Ÿ“ & โœ ๐Ÿ’ช โฎ๏ธ ๐Ÿ‡ช๐Ÿ‡ธ.

โœ‹๏ธ ๐Ÿ• ๐Ÿ‘† ๐Ÿ”จ, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ’ฏ โšซ๏ธ ๐ŸŒ โšซ๏ธ ๐Ÿ”œ ๐Ÿ‘€ ๐Ÿ’ณ.

๐Ÿ‘ˆ, ๐Ÿฅ‡ ๐Ÿ— ๐ŸŒ ๐Ÿฉบ:

// 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:

// 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

๐Ÿ’ฏ

๐Ÿ“ค โœ ๐Ÿ‘ˆ ๐Ÿ‘† ๐Ÿ’ช ๐Ÿƒ ๐ŸŒ ๐Ÿ’ฏ ๐ŸŒ ๐Ÿ“Ÿ & ๐Ÿ— ๐Ÿ’ฐ ๐Ÿ“„ ๐Ÿ•ธ:

$ bash scripts/test-cov-html.sh

๐Ÿ‘‰ ๐Ÿ“‹ ๐Ÿ— ๐Ÿ“ ./htmlcov/, ๐Ÿšฅ ๐Ÿ‘† ๐Ÿ“‚ ๐Ÿ“ ./htmlcov/index.html ๐Ÿ‘† ๐Ÿ–ฅ, ๐Ÿ‘† ๐Ÿ’ช ๐Ÿ”ฌ ๐Ÿ–ฅ ๐Ÿ‡น๐Ÿ‡ผ ๐Ÿ“Ÿ ๐Ÿ‘ˆ ๐Ÿ“” ๐Ÿ’ฏ, & ๐Ÿ‘€ ๐Ÿšฅ ๐Ÿ“ค ๐Ÿ™† ๐Ÿ‡น๐Ÿ‡ผ โŒ.