configlet의 두 번째 용도는 문서를 생성하는 거예요.
generate 명령어를 사용하면 템플릿에서 안내 문서나 소개 문서를 생성할 수 있어요.
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]
configlet이 생성할 수 있는 문서는 다음과 같아요.
모든 개념 연습 문제에는 introduction.md 파일이 있어요. 그리고 각 연습 문제에는 선택 사항인 introduction.md.tpl 파일을 둘 수 있어요.
템플릿 파일은 일반 Markdown 파일처럼 다루면 되는데, 한 가지가 더 있어요. 바로 자리 표시자를 지정할 수 있다는 점이에요. 다음 자리 표시자를 지원해요.
%{concept:<slug>}: 개념의 introduction.md 문서를 가리켜요.configlet은 개념 연습 문제에 introduction.md.tpl 파일이 있는 것을 감지하면, 그 파일로 introduction.md 파일을 생성해요. 생성된 소개 문서는 자리 표시자를 빼면 템플릿과 내용이 같아요. 자리 표시자는 그것이 가리키는 문서의 내용으로 바뀌어요.
configlet은 실습 문제가 introduction.md 파일을 가진 Problem Specifications 연습 문제를 구현하고 있는 것을 감지하면, 실습 문제의 .meta/introduction.md 파일을 Problem Specifications 연습 문제의 introduction.md 파일과 동기화해요.
configlet은 실습 문제가 Problem Specifications 연습 문제를 구현하고 있는 것을 감지하면, 실습 문제의 .meta/instructions.md 파일을 Problem Specifications 연습 문제의 instructions.md 파일과 동기화해요. instructions.md 파일이 없으면 description.md 파일과 동기화해요.
configlet은 실습 문제가 Problem Specifications 연습 문제를 구현하고 있는 것을 감지하면, Problem Specification 연습 문제의 metadata.yml 파일에 있는 source와 source_url 키를 실습 문제의 .meta/config.json 파일에 있는 source와 source_url 속성으로 동기화해요.