Training blocks (optional module)

The training view's data (schema/training.wcl): ordered lessons (grouped into modules when the course has parts), each ending in exercises with expected results.

PropertyTypeRequiredDescription
ididentifieryes
titleutf8yes
summaryutf8no
nu32yes
objectiveslist<utf8>no
prerequisiteslist<identifier>no
relatedlist<identifier>no
tagslist<utf8>no

Child blocks

SlotAcceptsMultipleDescription
bodybodyno
exercisesexerciseyes

§ 1.1Exercise

PropertyTypeRequiredDescription
ididentifieryes
titleutf8yes
taskutf8yes
code_langutf8no
codeutf8no
expectedutf8no
hintutf8no

Child blocks

SlotAcceptsMultipleDescription
bodybodyno

§ 1.2TrainingModule

PropertyTypeRequiredDescription
ididentifieryes
titleutf8yes
summaryutf8no
nu32yes

Child blocks

SlotAcceptsMultipleDescription
lessonslessonyes
wcl
lesson first_commit {
  n          = 1
  title      = "Your first commit"
  objectives = ["Record a snapshot in a new repository"]
  related    = [git_cli]
  body { p "The lesson material — any wdoc blocks." }
  exercise commit_it {
    title    = "Commit a file"
    task     = "Stage and commit README.md."
    code_lang = "bash"
    code     = "git add README.md && git commit -m 'docs: add readme'"
    expected = "`git log --oneline` shows your commit at the top."
  }
}