import toolcontext
import model_ext
+import model::model_views
# The model of a Nitdoc documentation.
#
# The model is populated through `DocPhase` to be constructed.
# It is a placeholder to share data between each phase.
class DocModel
+ super ModelView
+
+ autoinit model, mainmodule, filter
# `DocPage` composing the documentation associated to their ids.
#
# See `add_page`.
var pages: Map[String, DocPage] = new HashMap[String, DocPage]
- # Nit `Model` from which we extract the documentation.
- var model: Model is writable
-
- # The entry point of the `model`.
- var mainmodule: MModule is writable
-
# Add a `page` to this documentation.
fun add_page(page: DocPage) do
if pages.has_key(page.id) then
# Depth of `self` in the composite tree.
fun depth: Int do
+ var parent = self.parent
if parent == null then return 0
return parent.depth + 1
end
# Avoid id conflict with group
redef fun nitdoc_id do
+ var mgroup = self.mgroup
if mgroup == null then return super
return "{mgroup.full_name}::{full_name}".to_cmangle
end