DocumentTree

laika.ast.DocumentTree
See theDocumentTree companion object
case class DocumentTree(path: Path, content: Seq[TreeContent], titleDocument: Option[Document], templates: Seq[TemplateDocument], config: Config, position: TreePosition) extends TreeStructure, TreeContent

Represents a tree with all its documents, templates, configurations and subtrees.

Value parameters

config

the configuration associated with this tree

content

the markup documents and subtrees

path

the full, absolute path of this (virtual) document tree

position

the position of this tree inside a document ast hierarchy, expressed as a list of Ints

templates

all templates on this level of the tree hierarchy that might get applied to a document when it gets rendered

titleDocument

the optional title document of this tree

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait TreeContent
trait Navigatable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

Creates a new tree by applying the specified function to all documents in this tree recursively.

Creates a new tree by applying the specified function to all documents in this tree recursively.

Attributes

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 returns Replace 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.

Attributes

Inherited methods

def appendContent(content: Seq[TreeContent]): DocumentTree

Appends the specified content to this tree and return a new instance.

Appends the specified content to this tree and return a new instance.

Attributes

Inherited from:
TreeStructure
def appendContent(content: TreeContent, contents: TreeContent*): DocumentTree

Appends the specified content to this tree and return a new instance.

Appends the specified content to this tree and return a new instance.

Attributes

Inherited from:
TreeStructure

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.

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.

Value parameters

context

captures the navigation depth, reference path and styles for the navigation tree being built

Attributes

Returns

a navigation item that can be used as part of a bigger navigation structure comprising of trees, documents and their sections

Inherited from:
TreeStructure
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.

Attributes

Inherited from:
TreeStructure

Attributes

Inherited from:
TreeStructure

Prepends the specified content to this tree and return a new instance.

Prepends the specified content to this tree and return a new instance.

Attributes

Inherited from:
TreeStructure
def prependContent(content: TreeContent, contents: TreeContent*): DocumentTree

Prepends the specified content to this tree and return a new instance.

Prepends the specified content to this tree and return a new instance.

Attributes

Inherited from:
TreeStructure
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Attributes

Inherited from:
TreeStructure
def selectDocument(path: RelativePath): Option[Document]

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.

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.

Attributes

Inherited from:
TreeStructure
def selectDocument(path: String): Option[Document]

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 ..).

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 ..).

Attributes

Inherited from:
TreeStructure

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.

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.

Attributes

Inherited from:
TreeStructure
def selectSubtree(path: String): Option[DocumentTree]

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.

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.

Attributes

Inherited from:
TreeStructure

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.

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.

Attributes

Inherited from:
TreeStructure
def selectTemplate(path: String): Option[TemplateDocument]

Selects a template from this tree or one of its subtrees by the specified path. The path needs to be relative.

Selects a template from this tree or one of its subtrees by the specified path. The path needs to be relative.

Attributes

Inherited from:
TreeStructure

The formats this tree content should be rendered to.

The formats this tree content should be rendered to.

Attributes

Inherited from:
TreeContent
protected def titleFromConfig: Option[SpanSequence]

Attributes

Inherited from:
TreeContent
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.

Attributes

Inherited from:
TreeStructure

Concrete fields

The actual document tree that this ast structure represents.

The actual document tree that this ast structure represents.

Attributes

Inherited fields

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.

Attributes

Inherited from:
TreeStructure
lazy val isEmpty: Boolean

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.

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.

Attributes

Inherited from:
TreeStructure
lazy val name: String

The local name of this navigatable.

The local name of this navigatable.

Attributes

Inherited from:
Navigatable
lazy val title: Option[SpanSequence]

The title of this tree, obtained from configuration.

The title of this tree, obtained from configuration.

Attributes

Inherited from:
TreeStructure