Support <marker> and <page> tags in the conversion of checklists to tutorials.
This commit is contained in:
parent
5491f952ca
commit
82f2de2fbc
1 changed files with 37 additions and 20 deletions
|
@ -26,26 +26,43 @@ var convert_checklists = func {
|
||||||
|
|
||||||
# Now go through each of the checklist items and generate a tutorial step
|
# Now go through each of the checklist items and generate a tutorial step
|
||||||
# for each.
|
# for each.
|
||||||
foreach (var item; ch.getChildren("item")) {
|
|
||||||
step = tutorial.getNode("step["~ size(tutorial.getChildren("step")) ~ "]", 1);
|
# Checklist may consist of one or more pages.
|
||||||
|
var pages = ch.getChildren("page");
|
||||||
var msg = item.getNode("name", 1).getValue();
|
|
||||||
|
if (size(pages) == 0) {
|
||||||
if (size(item.getChildren("value")) > 0) {
|
# Or no pages at all, in which case we need to create a checklist of one page
|
||||||
msg = msg ~ " :";
|
append(pages, ch);
|
||||||
foreach (var v; item.getChildren("value")) {
|
}
|
||||||
msg = msg ~ " " ~ v.getValue();
|
|
||||||
}
|
foreach (var page; pages) {
|
||||||
}
|
foreach (var item; page.getChildren("item")) {
|
||||||
|
step = tutorial.getNode("step["~ size(tutorial.getChildren("step")) ~ "]", 1);
|
||||||
step.getNode("message", 1).setValue(msg);
|
|
||||||
description = description ~ msg ~ "\n";
|
var msg = item.getNode("name", 1).getValue();
|
||||||
|
|
||||||
if (item.getNode("condition") != nil) {
|
if (size(item.getChildren("value")) > 0) {
|
||||||
var cond = step.getNode("exit", 1).getNode("condition", 1);
|
msg = msg ~ " :";
|
||||||
props.copy(item.getNode("condition", 1), cond);
|
foreach (var v; item.getChildren("value")) {
|
||||||
}
|
msg = msg ~ " " ~ v.getValue();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
step.getNode("message", 1).setValue(msg);
|
||||||
|
description = description ~ msg ~ "\n";
|
||||||
|
|
||||||
|
if (item.getNode("condition") != nil) {
|
||||||
|
var cond = step.getNode("exit", 1).getNode("condition", 1);
|
||||||
|
props.copy(item.getNode("condition"), cond);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getNode("marker") != nil) {
|
||||||
|
var marker= step.getNode("marker", 1);
|
||||||
|
props.copy(item.getNode("marker"), marker);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tutorial.getNode("description", 1).setValue(description);
|
tutorial.getNode("description", 1).setValue(description);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue