Il secondo utilizzo di configlet è la generazione di documenti.
Il comando generate può essere usato per generare documenti di istruzioni ed introduzione a partire da un template.
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]
Questi sono i documenti che configlet può generare.
Ogni esercizio concettuale ha un file introduction.md. Ogni esercizio può avere un file introduction.md.tpl opzionale.
Il file template va trattato come un normale file Markdown, con un'aggiunta: la possibilità di specificare dei segnaposto. Sono supportati i seguenti segnaposto:
%{concept:<slug>}: fa riferimento al documento introduction.md del concettoQuando configlet rileva che un esercizio concettuale ha un file introduction.md.tpl, genera da questo un file introduction.md. L'introduzione generata avrà lo stesso contenuto del template, tranne i segnaposto, che vengono sostituiti con il contenuto dei documenti a cui fanno riferimento.
Quando configlet rileva che un esercizio pratico implementa un esercizio di Problem Specifications che ha un file introduction.md, configlet sincronizza il file .meta/introduction.md dell'esercizio pratico con il file introduction.md dell'esercizio di Problem Specifications.
Quando configlet rileva che un esercizio pratico implementa un esercizio di Problem Specifications, configlet sincronizza il file .meta/instructions.md dell'esercizio pratico con il file instructions.md dell'esercizio di Problem Specifications oppure, quando non è stato trovato alcun file instructions.md, con il suo file description.md.
Quando configlet rileva che un esercizio pratico implementa un esercizio di Problem Specifications, configlet sincronizza le chiavi source e source_url dell'esercizio di Problem Specifications, presenti nel suo file metadata.yml, con le proprietà source e source_url dell'esercizio pratico nel suo file .meta/config.json.