A segunda utilidade do configlet é gerar documentos.
O comando generate pode ser usado para gerar documentos de instruções/introduções a partir de um modelo.
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]
Estes são os documentos que o configlet pode gerar.
Cada Exercício de Conceito tem um ficheiro introduction.md. Cada exercício pode ter um ficheiro introduction.md.tpl opcional.
O ficheiro de modelo deve ser tratado como um ficheiro Markdown normal, mas com um acrescento: a possibilidade de especificar marcadores de posição. São suportados os seguintes marcadores de posição:
%{concept:<slug>}: refere-se ao documento introduction.md do conceitoQuando o configlet deteta que um Exercício de Conceito tem um ficheiro introduction.md.tpl, gera um ficheiro introduction.md a partir dele. A introdução gerada terá o mesmo conteúdo do modelo, exceto nos marcadores de posição, que serão substituídos pelo conteúdo dos documentos a que se referem.
Quando o configlet deteta que um Exercício de Prática implementa um exercício das Problem Specifications que tem um ficheiro introduction.md, o configlet sincroniza o ficheiro .meta/introduction.md do Exercício de Prática com o ficheiro introduction.md do exercício das Problem Specifications.
Quando o configlet deteta que um Exercício de Prática implementa um exercício das Problem Specifications, o configlet sincroniza o ficheiro .meta/instructions.md do Exercício de Prática com o ficheiro instructions.md do exercício das Problem Specifications ou, quando não é encontrado nenhum ficheiro instructions.md, com o seu ficheiro description.md.
Quando o configlet deteta que um Exercício de Prática implementa um exercício das Problem Specifications, o configlet sincroniza as chaves source e source_url do exercício das Problem Specifications, a partir do seu ficheiro metadata.yml, com as propriedades source e source_url do Exercício de Prática no seu ficheiro .meta/config.json.