Skip to content

MarkdownSerializer

@blobs/sdk v0.1.0


@blobs/sdk / serializers / MarkdownSerializer

Defined in: serializers/MarkdownSerializer.ts:24

Serializer that converts Markdown content to and from HTML for editing.

Supports headings, bold/italic/strikethrough, inline code, fenced code blocks, links, blockquotes, ordered/unordered lists, and horizontal rules. Pattern translation is regex-based, which is fast but not spec-perfect — it is intentionally tuned for the editor round-trip rather than full CommonMark/GFM compliance.

Extends

Constructors

Constructor

new MarkdownSerializer(config?): MarkdownSerializer

Defined in: serializers/MarkdownSerializer.ts:116

Parameters

config?

SerializerConfig

Optional SerializerConfig overrides.

Returns

MarkdownSerializer

Overrides

BaseSerializer.constructor

Properties

config

protected config: SerializerConfig

Defined in: serializers/BaseSerializer.ts:35

Effective configuration (defaults merged with constructor overrides).

Inherited from

BaseSerializer.config


format

readonly format: ContentFormat = 'markdown'

Defined in: serializers/MarkdownSerializer.ts:25

The content format this serializer handles.

Overrides

BaseSerializer.format

Methods

configure()

configure(config): void

Defined in: serializers/BaseSerializer.ts:62

Merges new options into the current configuration.

Parameters

config

SerializerConfig

Partial config to apply.

Returns

void

Inherited from

BaseSerializer.configure


getConfig()

getConfig(): SerializerConfig

Defined in: serializers/BaseSerializer.ts:69

Returns a defensive copy of the current configuration.

Returns

SerializerConfig

Inherited from

BaseSerializer.getConfig


escapeHTML()

protected escapeHTML(text): string

Defined in: serializers/BaseSerializer.ts:76

Escape HTML special characters

Parameters

text

string

Returns

string

Inherited from

BaseSerializer.escapeHTML


unescapeHTML()

protected unescapeHTML(html): string

Defined in: serializers/BaseSerializer.ts:90

Unescape HTML entities back to characters

Parameters

html

string

Returns

string

Inherited from

BaseSerializer.unescapeHTML


createLineBreak()

protected createLineBreak(): string

Defined in: serializers/BaseSerializer.ts:105

Create a line break element based on config

Returns

string

Inherited from

BaseSerializer.createLineBreak


wrapParagraph()

protected wrapParagraph(content, className?): string

Defined in: serializers/BaseSerializer.ts:116

Create a paragraph wrapper

Parameters

content

string

className?

string

Returns

string

Inherited from

BaseSerializer.wrapParagraph


stripTags()

protected stripTags(html): string

Defined in: serializers/BaseSerializer.ts:124

Strip all HTML tags from a string

Parameters

html

string

Returns

string

Inherited from

BaseSerializer.stripTags


normalizeWhitespace()

protected normalizeWhitespace(text): string

Defined in: serializers/BaseSerializer.ts:131

Normalize whitespace in content

Parameters

text

string

Returns

string

Inherited from

BaseSerializer.normalizeWhitespace


divBreaksToNewlines()

protected divBreaksToNewlines(html): string

Defined in: serializers/BaseSerializer.ts:141

Convert contenteditable div breaks to newlines

Parameters

html

string

Returns

string

Inherited from

BaseSerializer.divBreaksToNewlines


parseHTML()

protected parseHTML(html): string

Defined in: serializers/BaseSerializer.ts:161

Parse HTML using DOMParser if available, fallback to regex

Parameters

html

string

Returns

string

Inherited from

BaseSerializer.parseHTML


toContent()

toContent(html): ParsedContent

Defined in: serializers/MarkdownSerializer.ts:126

Reverses the HTML produced by MarkdownSerializer.toHTML back into Markdown source.

Parameters

html

string

HTML emitted by the editor.

Returns

ParsedContent

Overrides

BaseSerializer.toContent


toHTML()

toHTML(content): RenderedHTML

Defined in: serializers/MarkdownSerializer.ts:164

Renders Markdown source into HTML suitable for contenteditable display. Code blocks are protected from inline replacements during conversion and re-inserted afterward.

Parameters

content

string

Markdown source to render.

Returns

RenderedHTML

Overrides

BaseSerializer.toHTML