case class DocumentTree(path: Path, content: Seq[TreeContent], titleDocument: Option[Document] = None, templates: Seq[TemplateDocument] = Nil, config: Config = Config.empty, position: TreePosition = TreePosition.root) extends TreeStructure with TreeContent with Product with Serializable
Represents a tree with all its documents, templates, configurations and subtrees.
- path
the full, absolute path of this (virtual) document tree
- content
the markup documents and subtrees
- titleDocument
the optional title document of this tree
- templates
all templates on this level of the tree hierarchy that might get applied to a document when it gets rendered
- config
the configuration associated with this tree
- position
the position of this tree inside a document ast hierarchy, expressed as a list of Ints
- Alphabetic
- By Inheritance
- DocumentTree
- Serializable
- Product
- Equals
- TreeContent
- Navigatable
- TreeStructure
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DocumentTree(path: Path, content: Seq[TreeContent], titleDocument: Option[Document] = None, templates: Seq[TemplateDocument] = Nil, config: Config = Config.empty, position: TreePosition = TreePosition.root)
- path
the full, absolute path of this (virtual) document tree
- content
the markup documents and subtrees
- titleDocument
the optional title document of this tree
- templates
all templates on this level of the tree hierarchy that might get applied to a document when it gets rendered
- config
the configuration associated with this tree
- position
the position of this tree inside a document ast hierarchy, expressed as a list of Ints
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val allDocuments: Seq[Document]
All documents contained in this tree, fetched recursively, depth-first.
All documents contained in this tree, fetched recursively, depth-first.
- Definition Classes
- TreeStructure
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asNavigationItem(context: NavigationBuilderContext = NavigationBuilderContext()): NavigationItem
Creates the navigation structure for this tree up to the specified depth.
Creates the navigation structure for this tree up to the specified depth. The returned instance can be used as part of a bigger navigation structure comprising of trees, documents and their sections.
- context
captures the navigation depth, reference path and styles for the navigation tree being built
- returns
a navigation item that can be used as part of a bigger navigation structure comprising of trees, documents and their sections
- Definition Classes
- TreeStructure
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val config: Config
The configuration associated with this element.
The configuration associated with this element.
- Definition Classes
- DocumentTree → TreeContent
- val configScope: Scope
- Attributes
- protected
- Definition Classes
- DocumentTree → TreeContent
- val content: Seq[TreeContent]
The content of this tree structure, containing all markup documents and subtrees, except for the (optional) title document.
The content of this tree structure, containing all markup documents and subtrees, except for the (optional) title document.
- Definition Classes
- DocumentTree → TreeStructure
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDefaultTemplate(formatSuffix: String): Option[TemplateDocument]
Selects the template with the name
default.template.<suffix>
for the specified format suffix from this level of the document tree.Selects the template with the name
default.template.<suffix>
for the specified format suffix from this level of the document tree.- Definition Classes
- TreeStructure
- def invalidElements(filter: MessageFilter): Seq[Invalid]
- Definition Classes
- TreeStructure
- lazy val isEmpty: Boolean
Indicates whether this tree does not contain any markup document.
Indicates whether this tree does not contain any markup document. Template documents do not count, as they would be ignored in rendering when there is no markup document.
- Definition Classes
- TreeStructure
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapDocuments(f: (Document) => Document): DocumentTree
Creates a new tree by applying the specified function to all documents in this tree recursively.
- lazy val name: String
The local name of this navigatable.
The local name of this navigatable.
- Definition Classes
- Navigatable
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val path: Path
- Definition Classes
- DocumentTree → Navigatable
- val position: TreePosition
The position of this element within the document tree.
The position of this element within the document tree.
- Definition Classes
- DocumentTree → TreeContent
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def rewrite(rules: RewriteRulesBuilder): Either[TreeConfigErrors, DocumentTree]
Returns a new tree, with all the document models contained in it rewritten based on the specified rewrite rules.
Returns a new tree, with all the document models contained in it rewritten based on the specified rewrite rules.
If the rule is not defined for a specific element or the rule returns a
Retain
action as a result the old element remains in the tree unchanged.If it returns
Remove
then the node gets removed from the ast, if it returnsReplace
with a new element it will replace the old one.The rewriting is performed bottom-up (depth-first), therefore any element container passed to the rule only contains children which have already been processed.
The specified factory function will be invoked for each document contained in this tree and must return the rewrite rules for that particular document.
- def runtimeMessages(filter: MessageFilter): Seq[RuntimeMessage]
- Definition Classes
- TreeStructure
- def selectDocument(path: RelativePath): Option[Document]
Selects a document from this tree or one of its subtrees by the specified path.
Selects a document from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with
../
) as this instance is not aware of its parents.- Definition Classes
- TreeStructure
- def selectDocument(path: String): Option[Document]
Selects a document from this tree or one of its subtrees by the specified path.
Selects a document from this tree or one of its subtrees by the specified path. The path needs to be relative and not point to a parent tree (neither start with
/
nor with..
).- Definition Classes
- TreeStructure
- def selectSubtree(path: RelativePath): Option[DocumentTree]
Selects a subtree of this tree by the specified path.
Selects a subtree of this tree by the specified path. The path must not point to a parent tree (start with
../
) as this instance is not aware of its parents.- Definition Classes
- TreeStructure
- def selectSubtree(path: String): Option[DocumentTree]
Selects a subtree of this tree by the specified path.
Selects a subtree of this tree by the specified path. The path needs to be relative and it may point to a deeply nested subtree, not just immediate children.
- Definition Classes
- TreeStructure
- def selectTemplate(path: RelativePath): Option[TemplateDocument]
Selects a template from this tree or one of its subtrees by the specified path.
Selects a template from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with
../
) as this instance is not aware of its parents.- Definition Classes
- TreeStructure
- def selectTemplate(path: String): Option[TemplateDocument]
Selects a template from this tree or one of its subtrees by the specified path.
Selects a template from this tree or one of its subtrees by the specified path. The path needs to be relative.
- Definition Classes
- TreeStructure
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def targetFormats: TargetFormats
The formats this tree content should be rendered to.
The formats this tree content should be rendered to.
- Definition Classes
- TreeContent
- val targetTree: DocumentTree
The actual document tree that this ast structure represents.
The actual document tree that this ast structure represents.
- Definition Classes
- DocumentTree → TreeStructure
- val templates: Seq[TemplateDocument]
All templates on this level of the tree hierarchy that might get applied to a document when it gets rendered.
All templates on this level of the tree hierarchy that might get applied to a document when it gets rendered.
- Definition Classes
- DocumentTree → TreeStructure
- lazy val title: Option[SpanSequence]
The title of this tree, obtained from configuration.
The title of this tree, obtained from configuration.
- Definition Classes
- TreeStructure
- val titleDocument: Option[Document]
The title document for this tree, if present.
The title document for this tree, if present.
A document with the base name
title
and the corresponding suffix for the input markup, e.g.title.md
for Markdown, can be used as an introductory section for a chapter represented by a directory tree.- Definition Classes
- DocumentTree → TreeStructure
- def titleFromConfig: Option[SpanSequence]
- Attributes
- protected
- Definition Classes
- TreeContent
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withDefaultTemplate(template: TemplateRoot, formatSuffix: String): DocumentTree
Create a new document tree that contains the specified template as the default.
Create a new document tree that contains the specified template as the default.
- Definition Classes
- TreeStructure