module doc_base
import toolcontext
-import model_utils
import model_ext
# The model of a Nitdoc documentation.
# Pretty prints the content of this page.
fun pretty_print: Writable do
var res = new Template
- res.addn "page: {title}"
- res.addn ""
- root.pretty_print_in(res)
+ res.addn "{class_name} {title}"
+ for child in root.children do
+ child.pretty_print_in(res)
+ end
return res
end
end
var id: String is writable
# Item title if any.
- var title: nullable String
+ var title: nullable String is writable
# Does `self` have a `parent`?
fun is_root: Bool do return parent == null
# Title used in table of content if any.
var toc_title: nullable String is writable, lazy do return title
+ # Is `self` hidden in the table of content?
+ var is_toc_hidden: Bool is writable, lazy do
+ return toc_title == null or is_hidden
+ end
+
# Add a `child` to `self`.
#
# Shortcut for `children.add`.
# Appends the Pretty print of this composite in `res`.
private fun pretty_print_in(res: Template) do
+ res.add "\t" * depth
res.add "#" * depth
res.addn " {id}"
for child in children do child.pretty_print_in(res)