Package-level declarations

Types

Link copied to clipboard
class MultiTagBuilder(renderer: TagNodeRenderer<*>, pretty: Boolean) : TagBuilder

Builder of multiple sub-tags from a single source.

Link copied to clipboard
abstract class TagBuilder(name: String, renderer: TagNodeRenderer<*>, pretty: Boolean)

A builder of a generic output code wrapped within tags (of any kind) which can be unlimitedly nested. Custom tag methods that allow nesting builders must be provided by the implementations, in order to allow type matching between sub-builders their parent builder, by using a DSL-like approach.

Link copied to clipboard
abstract class TagNodeRenderer<B : TagBuilder>(val context: Context) : NodeRenderer

A converter of com.quarkdown.core.ast.Nodes into tag-based output code, by using a DSL-like approach provided by TagBuilder.

Functions

Link copied to clipboard

Creates a multi-tag builder.

Link copied to clipboard
fun <B : TagBuilder> TagNodeRenderer<B>.buildTag(name: String, init: B.() -> Unit): String

Builds a tag. Example:

A quick way to build a simple tag. Example:

Link copied to clipboard
fun <B : TagBuilder> TagNodeRenderer<B>.tagBuilder(name: String, content: List<Node>): B

A quick way to create a simple tag builder. Example:

fun <B : TagBuilder> TagNodeRenderer<B>.tagBuilder(name: String, pretty: Boolean = this.pretty, init: B.() -> Unit = {}): B

Creates a generic builder.