Documentare il codice

Estimated time to read: 2 minutes

Come abbiamo visto mkdocs è molto comodo e veloce, una delle funzionalità più utilizzate della libreria è per commentare e condividere velocemente documentazione tecnica relativa al codice.

Per farlo è necessario utilizzare una particolare estensione chiamata mkdocstring.

Questa estensione consente di creare automaticamente la documentazione delle funzioni e delle classi Python, riuscendo a leggedere le notazioni e le docstring trasformandole in codice HTML.

Attenzione nell'installazione della libreria che si chiama: mkdocstrings-python e non solamente mkdocstrings, dovete quindi fare con poetry:

poetry add mkdocstrings-python

La differenza è che mkdocstrings-python è l'handler per supportare il codice python.

Con mkdocstrings è anche possibile documentare e supportare codice shell installando: mkdocstrings-shell

Una volta installata la libreria sarà necessario anche configurarla, per farlo è importante inserire nel mkdocs.yaml file all'interno della sezione plugins questa configurazione

 - mkdocstrings:  default_handler: python  handlers:  python:  options:  show_source: true  show_root_heading: yes  heading_level: 0  filters:  - '!^_' # exclude all members starting with _  - '!^__init__$' # exclude __init__ modules and methods 

Per farlo prova a creare una funzione, ad esempio:

def sum_numbers(num1: int, num2: int) -> int:  ```  def sum_numbers(num1: int, num2: int) -> int:  """Sum 2 int numbers and obtain a result   Args:  num1 (int): the first number you want to sum  num2 (int): the second number you want to sum   Returns:  result (int): the sum of the two numbers  """  return num1 + num2 

Dopodiche dovrai importare il package all'interno di un file markdown utilizzando una speciale notazione, supponiamo che il tuo codice sia nella seguente cartella (o modulo): myapp/test/utils.py

All'interno di un file markdown dovrai scrivere:

::: myapp.test.utils.sum_numbers 

In automatico mkdocstring visualizzerà all'interno del sito il tuo esempio.

Ovviamente consigliamo sempre di provare a modificare i file markdown e di controllare sempre il risultato, potete sempre fare in modo di aggiungere altri commenti o abbellimenti in markdown normalmente.