nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc/commands: add tests for commands_html
[nit.git]
/
src
/
doc
/
doc_base.nit
diff --git
a/src/doc/doc_base.nit
b/src/doc/doc_base.nit
index
95ad145
..
ce36170
100644
(file)
--- a/
src/doc/doc_base.nit
+++ b/
src/doc/doc_base.nit
@@
-16,8
+16,8
@@
module doc_base
import toolcontext
module doc_base
import toolcontext
-import model_utils
import model_ext
import model_ext
+import model::model_views
# The model of a Nitdoc documentation.
#
# The model of a Nitdoc documentation.
#
@@
-26,6
+26,9
@@
import model_ext
# The model is populated through `DocPhase` to be constructed.
# It is a placeholder to share data between each phase.
class DocModel
# 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.
#
# `DocPage` composing the documentation associated to their ids.
#
@@
-34,12
+37,6
@@
class DocModel
# See `add_page`.
var pages: Map[String, DocPage] = new HashMap[String, DocPage]
# 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
# Add a `page` to this documentation.
fun add_page(page: DocPage) do
if pages.has_key(page.id) then
@@
-79,9
+76,10
@@
class DocPage
# Pretty prints the content of this page.
fun pretty_print: Writable do
var res = new Template
# 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
return res
end
end
@@
-111,7
+109,7
@@
abstract class DocComposite
var id: String is writable
# Item title if any.
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
# Does `self` have a `parent`?
fun is_root: Bool do return parent == null
@@
-129,6
+127,11
@@
abstract class DocComposite
# Title used in table of content if any.
var toc_title: nullable String is writable, lazy do return title
# 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`.
# Add a `child` to `self`.
#
# Shortcut for `children.add`.
@@
-139,6
+142,7
@@
abstract class DocComposite
# Depth of `self` in the composite tree.
fun depth: Int do
# 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
if parent == null then return 0
return parent.depth + 1
end
@@
-152,6
+156,7
@@
abstract class DocComposite
# Appends the Pretty print of this composite in `res`.
private fun pretty_print_in(res: Template) do
# 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)
res.add "#" * depth
res.addn " {id}"
for child in children do child.pretty_print_in(res)
@@
-215,7
+220,7
@@
end
redef class ToolContext
# Directory where the Nitdoc is rendered.
redef class ToolContext
# Directory where the Nitdoc is rendered.
- var opt_dir = new OptionString("output directory", "-d", "--dir")
+ var opt_dir = new OptionString("Output directory", "-d", "--dir")
# Shortcut for `opt_dir.value` with default "doc".
var output_dir: String is lazy do return opt_dir.value or else "doc"
# Shortcut for `opt_dir.value` with default "doc".
var output_dir: String is lazy do return opt_dir.value or else "doc"
@@
-314,6
+319,7
@@
redef class MModule
# Avoid id conflict with group
redef fun nitdoc_id do
# 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
if mgroup == null then return super
return "{mgroup.full_name}::{full_name}".to_cmangle
end