Saltar a contenido

Extensiones

Ya hemos visto que existen diferentes versiones de Markdown. La usada por MkDocs es Python Markdown, que se ajusta bastante bien a la versión original de markdown, aunque hay algunas diferencias de menor importancia.

MkDocs y su complemento [Python-Markdown] incorporan algunas extensiones que aumentan las capacidades de la sintaxis markdown. Por ejemplo, la extensión SmartyPants convierte las comillas, apóstrofos y otros caracteres en sus equivalentes tipográficos:

Símbolo Será reemplazado por
' ‘ ’
" “ ”
<< >> « »
...
--
---

Las extensiones no tienen efecto si no las activamos en el archivo de configuración mkdocs.yml:

site_name: Mi proyecto de documentacion

theme:
  name: material

markdown_extensions:
    - smarty
    - tables
    - footnotes

En este ejemplo estamos activando tres extensiones. Además de SmartyPants, habilitamos la posibilidad de insertar tablas de datos y notas a pie de página en el documento.

Las extensiones pueden ser configurables. Por ejemplo, SmartyPants permite que solo tengan efecto determinados caracteres. Los valores por defecto son:

markdown_extensions:
    - smarty:
        smart_dashes: True
        smart_quotes: True
        smart_angled_quotes: False
        smart_ellipses: True
    - tables
    - footnotes
    - otras extensiones...

Además de las extensiones proporcionadas por [Python-Markdown], Material for MkDocs añade otra colección adicional, PyMdown, para enriquecer la experiencia proporcionada por MkDocs.

Por ejemplo, la extensión Keys permite mostrar teclas de forma gráfica:

Pulsar Enter para continuar...

Esto se consigue escribiendo:

Pulsar ++enter++ para continuar...

y activando el tema y la extensión en mkdocs.yml:

theme:
  name: material

markdown_extensions:
    - pymdownx.keys

Las extensiones PyMdown se especifican con el prefijo pymdownx seguido de un punto y el nombre de la extensión.

Veamos a continuación un conjunto de las extensiones más relevantes.