El uso secundario de configlet es generar documentos.
El comando generate sirve para generar documentos de instrucciones/introducciones a partir de una plantilla.
configlet [global-options] generate
Global options:
-h, --help Show this help message and exit
--version Show this tool's version information and exit
-t, --track-dir <dir> Specify a track directory to use instead of the current directory
-v, --verbosity <verbosity> The verbosity of output. Allowed values: q[uiet], n[ormal], d[etailed]
Estos son los documentos que configlet puede generar.
Cada ejercicio de concepto tiene un archivo introduction.md. Cada ejercicio puede tener un archivo introduction.md.tpl opcional.
El archivo de plantilla debe tratarse como un archivo Markdown normal, pero con una particularidad: la posibilidad de especificar marcadores de posición. Se admiten los siguientes marcadores de posición:
%{concept:<slug>}: hace referencia al documento introduction.md del concepto
Cuando configlet detecta que un ejercicio de concepto tiene un archivo introduction.md.tpl, genera a partir de él un archivo introduction.md. La introducción generada tendrá el mismo contenido que la plantilla, salvo los marcadores de posición, que se sustituirán por el contenido de los documentos a los que hacen referencia.
Cuando configlet detecta que un ejercicio de práctica implementa un ejercicio de Problem Specifications que tiene un archivo introduction.md, sincroniza el archivo .meta/introduction.md del ejercicio de práctica con el archivo introduction.md del ejercicio de Problem Specifications.
Cuando configlet detecta que un ejercicio de práctica implementa un ejercicio de Problem Specifications, sincroniza el archivo .meta/instructions.md del ejercicio de práctica con el archivo instructions.md del ejercicio de Problem Specifications o con su archivo description.md cuando no se ha encontrado ningún archivo instructions.md.
Cuando configlet detecta que un ejercicio de práctica implementa un ejercicio de Problem Specifications, sincroniza las claves source y source_url del archivo metadata.yml del ejercicio de Problem Specifications con las propiedades source y source_url del archivo .meta/config.json del ejercicio de práctica.