File 'template' is in turn a series of `chunks'. Each chunk starts with the following format:
===== NAME =====
The 5 equal signs before and after name, and the spaces, are required; the equal signs must begin the line.
Each chunk is used to generate the files. Here is a rough sketch of how mklesson generates each file from the contents of file "template":
A section, file sLESSON-SECTION.html is:
TEMPLATE-CHUNK section.head
LESSON-FILE section text
if (there's a question)
TEMPLATE-CHUNK section.question.head
LESSON-FILE question text
TEMPLATE-CHUNK section.question.tail
LESSON-FILE question choices
else
TEMPLATE-CHUNK section.no_question
end if
TEMPLATE-CHUNK section.tail
A response file sLESSON-SECTIONrRESPONSE.html is:
TEMPLATE-CHUNK response.head
if correct-response then
TEMPLATE-CHUNK response.correct.head
else
TEMPLATE-CHUNK response.incorrect.head
end if
if reponse-defined then
LESSON-FILE response text
elsif not reponse-defined and this-is-correct-answer then
TEMPLATE-CHUNK response.correct.default
else (not reponse-defined and not this-is-correct-answer)
TEMPLATE-CHUNK response.incorrect.default
end if
if this-is-correct-answer then
TEMPLATE-CHUNK response.correct.tail
else (not this-is-correct-answer)
TEMPLATE-CHUNK response.incorrect.tail
end if
TEMPLATE-CHUNK response.tail
The outline file lessonLESSON.html is:
TEMPLATE-CHUNK outline.head
generate a list of each section, linked to the sections.
TEMPLATE-CHUNK outline.tail
The chunks have a set of macro variables like this: [AUTHOR_NAME]. Each macro variable begins with `[', ends with `]', and has upper-case letters inside possibly separated by underscores. Case matters, and it must be an underscore, not a dash (-). These macro variables are replaced with real values when the program runs. Eventually the list of all possible macro variables should be documented here, but for the moment, look at the existing template file and the program 'mklesson', subroutine `substitute_and_append'.
As an example, [AUTHOR_NAME] is replaced with the (text) name of the author.
The default template requires graphics files up.gif (pointer up), previous.gif (pointer left), next.gif (pointer right), and tinyhome.gif (an image representing the tutorial home page) to be in the same directory as the generated tutorial files.
More information about mklesson is available in the mklesson user guide.
David A. Wheeler (dwheeler@ida.org)