TreeStructure

laika.ast.TreeStructure

The structure of a document tree.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DocumentTree
Self type

Members list

Value members

Abstract methods

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

Attributes

The actual document tree that this ast structure represents.

The actual document tree that this ast structure represents.

Attributes

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.

Attributes

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

Attributes

Concrete methods

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

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

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

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

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

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

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

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

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

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

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

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

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

Concrete 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

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

lazy val title: Option[SpanSequence]

The title of this tree, obtained from configuration.

The title of this tree, obtained from configuration.

Attributes