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
fun TagNodeRenderer<*>.buildMultiTag(init: MultiTagBuilder.() -> Unit): <Error class: unknown class>

Creates a multi-tag builder.

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

Builds a tag. Example:

fun <B : TagBuilder> TagNodeRenderer<B>.buildTag(name: String, content: String): <Error class: unknown class>
fun <B : TagBuilder> TagNodeRenderer<B>.buildTag(name: String, content: List<Node>): <Error class: unknown class>

A quick way to build a simple tag. Example:

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

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 = {}): <Error class: unknown class>

Creates a generic builder.