API Reference

Class

MarkdownWriteContext

Namespace OfficeIMO.Markdown
Assembly OfficeIMO.Markdown
Modifiers sealed

Context available while rendering a markdown document body back to Markdown text.

Inheritance

  • Object
  • MarkdownWriteContext

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Methods

public IReadOnlyList<Entry> BuildTocEntries(Int32 blockIndex, TocOptions options, String titleAnchor = null) #
Returns: IReadOnlyList<Entry>

Builds TOC-style heading entries relative to a specific top-level block index using the supplied TOC options.

Parameters

blockIndex System.Int32 requiredposition: 0
options OfficeIMO.Markdown.TocOptions requiredposition: 1
titleAnchor System.String = null optionalposition: 2
public MarkdownSyntaxNode FindSyntaxNode(Object associatedObject) #
Returns: MarkdownSyntaxNode

Finds the final syntax-tree node associated with a parsed model object, or null for builder-only documents.

Parameters

associatedObject System.Object requiredposition: 0
public Int32 GetBlockIndex(IMarkdownBlock block) #
Returns: Int32

Returns the zero-based index of a top-level block in Blocks, or -1 when the block is not present.

Parameters

block OfficeIMO.Markdown.IMarkdownBlock requiredposition: 0
public String GetHeadingAnchor(IMarkdownBlock heading) #
Returns: String

Returns the resolved anchor id for a heading block within the current rendered document.

Parameters

heading OfficeIMO.Markdown.IMarkdownBlock requiredposition: 0
public String GetPrecedingHeadingAnchor(Int32 blockIndex, TocOptions options) #
Returns: String

Returns the anchor id of the nearest preceding heading according to the supplied TOC options, or null when no heading title should be associated with the specified block index.

Parameters

blockIndex System.Int32 requiredposition: 0
options OfficeIMO.Markdown.TocOptions requiredposition: 1
public String RenderBlock(IMarkdownBlock block) #
Returns: String

Renders a block through the active Markdown writer dispatcher, including syntax-kind and type-targeted overrides. Custom container renderers should use this for child blocks instead of calling RenderMarkdown directly.

Parameters

block OfficeIMO.Markdown.IMarkdownBlock requiredposition: 0
TryCreateOriginalSourceSlice 6 overloads
public Boolean TryCreateOriginalSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice) #
Returns: Boolean

Creates an original-input source slice for the final syntax node associated with a parsed model object.

Parameters

associatedObject System.Object requiredposition: 0
slice OfficeIMO.Markdown.MarkdownSourceSlice@ requiredposition: 1
public Boolean TryCreateOriginalSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #
Returns: Boolean

Creates an original-input source slice for the final syntax node associated with a parsed model object.

Parameters

associatedObject System.Object requiredposition: 0
slice OfficeIMO.Markdown.MarkdownSourceSlice@ requiredposition: 1
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason@ requiredposition: 2
TryCreateOriginalSourceSlice(OfficeIMO.Markdown.MarkdownSyntaxNode syntaxNode, OfficeIMO.Markdown.MarkdownSourceSlice@ slice) #

Creates an original-input source slice for the supplied final syntax node.

Parameters

syntaxNode OfficeIMO.Markdown.MarkdownSyntaxNode required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required
TryCreateOriginalSourceSlice(OfficeIMO.Markdown.MarkdownSyntaxNode syntaxNode, OfficeIMO.Markdown.MarkdownSourceSlice@ slice, OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason@ failureReason) #

Creates an original-input source slice for the supplied final syntax node.

Parameters

syntaxNode OfficeIMO.Markdown.MarkdownSyntaxNode required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason@ required
TryCreateOriginalSourceSlice(OfficeIMO.Markdown.MarkdownSourceSpan sourceSpan, OfficeIMO.Markdown.MarkdownSourceSlice@ slice) #

Creates an original-input source slice for a token or field source span captured during parsing.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required
TryCreateOriginalSourceSlice(OfficeIMO.Markdown.MarkdownSourceSpan sourceSpan, OfficeIMO.Markdown.MarkdownSourceSlice@ slice, OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason@ failureReason) #

Creates an original-input source slice for a token or field source span captured during parsing.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason@ required
TryCreateSourceSlice 3 overloads
public Boolean TryCreateSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice) #
Returns: Boolean

Creates a normalized source slice for the final syntax node associated with a parsed model object.

Parameters

associatedObject System.Object requiredposition: 0
slice OfficeIMO.Markdown.MarkdownSourceSlice@ requiredposition: 1
TryCreateSourceSlice(OfficeIMO.Markdown.MarkdownSyntaxNode syntaxNode, OfficeIMO.Markdown.MarkdownSourceSlice@ slice) #

Creates a normalized source slice for the supplied final syntax node.

Parameters

syntaxNode OfficeIMO.Markdown.MarkdownSyntaxNode required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required
TryCreateSourceSlice(OfficeIMO.Markdown.MarkdownSourceSpan sourceSpan, OfficeIMO.Markdown.MarkdownSourceSlice@ slice) #

Creates a normalized source slice for a token or field source span captured during parsing.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice@ required

Properties

public MarkdownDoc Document { get; } #

Document being serialized.

public IReadOnlyList<IMarkdownBlock> Blocks { get; } #

Top-level blocks being rendered for the current markdown document.

public MarkdownWriteOptions Options { get; } #

Active markdown writer options.