tiny.zen.renderMarkdown
Defined in markdown.
Renders Markdown and returns an owner that must be deinitialized with the same allocator.
Source
Source: lib/zen/src/markdown.zig:340
zig
/// Renders Markdown and returns an owner that must be deinitialized with the same allocator.////// A heading may end in `{#exact.id}`. Explicit IDs are exact, case-sensitive,/// page-wide unique, and omitted from the visible heading and contents label.pub fn render(allocator: Allocator, source: []const u8, options: Options) Error!Rendered { const heading_plan = try planDiagnostic(source, options.diagnostic); try heading_plan.require(options.heading_limits); var document_storage = try document.Storage.init(allocator, heading_plan.exactLimits()); errdefer document_storage.deinit(allocator); document_storage.activate(); const doc = try inspectPlanned(&document_storage, source, heading_plan); errdefer document_storage.reset(); const footnote_plan = try footnote.Plan.inspect(source, options.footnote_limits); var footnote_storage = try footnote.Storage.init(allocator, footnote_plan.exactLimits()); defer footnote_storage.deinit(allocator); footnote_storage.activate(); var footnotes = try footnote.parse(&footnote_storage, source); defer footnote_storage.reset(); var out: std.ArrayList(u8) = .empty; errdefer out.deinit(allocator); const track_origins = options.link_report != null; var paragraph: InlineBuffer = .{ .track = track_origins }; defer paragraph.deinit(allocator); var list_item: InlineBuffer = .{ .track = track_origins }; defer list_item.deinit(allocator); var blockquote: InlineBuffer = .{ .track = track_origins }; defer blockquote.deinit(allocator); var code_block: std.ArrayList(u8) = .empty; defer code_block.deinit(allocator); var math_block: std.ArrayList(u8) = .empty; defer math_block.deinit(allocator); var quiz_owner: QuizOwner = .{}; defer quiz_owner.deinit(allocator); var table_storage: markdown_model.TableStorage = .{}; var math_open = false; var cursor: usize = 0; var code_fence: ?Fence = null; var list_kind: ?ListKind = null; var semantic_list: ?SemanticList = null; var blockquote_open = false; var footnote_definition = false; var rendered_heading_index: usize = 0; var ego_stylesheet: ?EgoStylesheet = null; var deck = slides.Deck{ .options = options.slides }; if (options.mode == .slides) try deck.begin(&out, allocator); while (true) { const line_start = cursor; const raw_line = nextLine(source, &cursor) orelse break; const line = std.mem.trim(u8, raw_line, "\r"); if (code_fence) |fence| { if (closingFence(line, fence)) { try flushFence( allocator, &out, fence, code_block.items, options, doc, &quiz_owner, &ego_stylesheet, ); code_block.clearRetainingCapacity(); code_fence = null; } else { try code_block.appendSlice(allocator, line); try code_block.append(allocator, '\n'); } continue; } if (math_open) { const inner = std.mem.trim(u8, line, " \t"); if (std.mem.eql(u8, inner, "$$")) { try flushDisplayMath(allocator, &out, &math_block, options.diagnostic); math_open = false; } else if (std.mem.endsWith(u8, inner, "$$")) { if (math_block.items.len != 0) try math_block.append(allocator, ' '); try math_block.appendSlice(allocator, std.mem.trimEnd(u8, inner[0 .. inner.len - 2], " \t")); try flushDisplayMath(allocator, &out, &math_block, options.diagnostic); math_open = false; } else if (inner.len != 0) { if (math_block.items.len != 0) try math_block.append(allocator, ' '); try math_block.appendSlice(allocator, inner); } continue; } if (parseFence(line)) |fence| { if (semantic_list != null) return error.InvalidSemanticList; try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); code_block.clearRetainingCapacity(); var opened = fence; opened.source_offset = line_start; code_fence = opened; footnote_definition = false; continue; } const trimmed = std.mem.trim(u8, line, " \t"); if (parseSemanticList(trimmed)) |role| { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList( allocator, &out, &list_kind, &list_item, &footnotes, options, ); try closeBlockquote( allocator, &out, &blockquote_open, &blockquote, &footnotes, options, ); if (semantic_list != null) return error.InvalidSemanticList; semantic_list = role; continue; } if (std.mem.startsWith(u8, trimmed, "$$")) { if (semantic_list != null) return error.InvalidSemanticList; try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); footnote_definition = false; const rest = std.mem.trim(u8, trimmed[2..], " \t"); if (rest.len >= 2 and std.mem.endsWith(u8, rest, "$$")) { try math_block.appendSlice(allocator, std.mem.trimEnd(u8, rest[0 .. rest.len - 2], " \t")); try flushDisplayMath(allocator, &out, &math_block, options.diagnostic); } else { math_open = true; try math_block.appendSlice(allocator, rest); } continue; } if (trimmed.len == 0) { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); footnote_definition = false; continue; } const parsed_list_item = parseListItem(line); if (semantic_list != null and parsed_list_item == null) { return error.InvalidSemanticList; } if (footnote.definition(line) != null) { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); footnote_definition = true; continue; } if (footnote_definition and footnote.continuation(line) != null) continue; footnote_definition = false; const table_source = source[line_start..]; switch (markdown_model.parseTable(&table_storage, table_source)) { .table => |table| { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList( allocator, &out, &list_kind, &list_item, &footnotes, options, ); try closeBlockquote( allocator, &out, &blockquote_open, &blockquote, &footnotes, options, ); try appendTable( allocator, &out, source, table_source, table, &footnotes, options, ); cursor = line_start + table.source.end; continue; }, .paragraph, .rejected => {}, } if (documentationArtifactBlock(trimmed)) { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList( allocator, &out, &list_kind, &list_item, &footnotes, options, ); try closeBlockquote( allocator, &out, &blockquote_open, &blockquote, &footnotes, options, ); try appendInline( &out, allocator, trimmed, &footnotes, options.diagnostic, originWithin(source, trimmed), options.link_report, ); try out.append(allocator, '\n'); continue; } if (parseBlockquote(line)) |quote| { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); if (!blockquote_open) blockquote_open = true; try blockquote.appendLine(allocator, source, quote); continue; } try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); if (parsed_list_item) |item| { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); if (list_kind == null or list_kind.? != item.kind) { try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try openList(allocator, &out, item.kind, semantic_list); semantic_list = null; list_kind = item.kind; } try flushListItem(allocator, &out, &list_item, &footnotes, options); try list_item.appendLine(allocator, source, item.text); continue; } if (list_kind != null) { if (listContinuation(line)) |continuation| { try list_item.appendLine(allocator, source, continuation); continue; } } try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); if (try parseHeading(line, line_start, options.diagnostic)) |heading| { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); std.debug.assert(rendered_heading_index < doc.headings.len); const inspected = doc.headings[rendered_heading_index]; std.debug.assert(inspected.source_offset == line_start); std.debug.assert(std.mem.eql(u8, inspected.text, heading.text)); rendered_heading_index += 1; try out.appendSlice(allocator, "<h"); try appendDecimal(&out, allocator, heading.level); if (options.heading_anchors) { try out.appendSlice(allocator, " id=\""); try html.appendAttributeEscaped(&out, allocator, inspected.id); try out.append(allocator, '"'); } try out.append(allocator, '>'); try appendInline( &out, allocator, heading.text, &footnotes, options.diagnostic, originWithin(source, heading.text), options.link_report, ); try out.appendSlice(allocator, "</h"); try appendDecimal(&out, allocator, heading.level); try out.appendSlice(allocator, ">\n"); continue; } if (isThematicBreak(trimmed)) { try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); if (options.mode == .slides) { try deck.split(&out, allocator); continue; } try out.appendSlice(allocator, "<hr>\n"); continue; } try paragraph.appendLine(allocator, source, trimmed); } if (math_open) { if (options.diagnostic) |d| d.setEquation(math_block.items, .{ .reason = "missing closing '$$'", .offset = math_block.items.len, }); return error.InvalidEquation; } if (code_fence) |fence| try flushFence( allocator, &out, fence, code_block.items, options, doc, &quiz_owner, &ego_stylesheet, ); if (semantic_list != null) return error.InvalidSemanticList; try flushParagraph(allocator, &out, ¶graph, &footnotes, options); try closeList(allocator, &out, &list_kind, &list_item, &footnotes, options); try closeBlockquote(allocator, &out, &blockquote_open, &blockquote, &footnotes, options); try appendFootnotes(allocator, &out, source, &footnotes, options); std.debug.assert(rendered_heading_index == doc.headings.len); if (options.mode == .slides) try deck.finish(&out, allocator); return .{ .html = try out.toOwnedSlice(allocator), .document = doc, .document_storage = document_storage, };}Source: lib/zen/src/root.zig:222
zig
/// Renders Markdown into an owned result; release it with the same allocator.////// Malformed link targets return `InvalidInlineLink`. Inline input beyond/// `max_markdown_inline_delimiters` or `max_markdown_inline_nesting` returns the/// corresponding capacity error with source-local `Diagnostic` repair detail./// The nesting cap covers recursive links/emphasis, label brackets, and target/// parentheses.pub const renderMarkdown = markdown.render;Complete caller list
63 direct callers.
lib.zen.src.markdown.appendSpeakerNotes[function] — private source atlib/zen/src/markdown.zig:787in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_Markdown_exposes_footnote_limits_at_the_render_boundary[function] — test source atlib/zen/src/markdown.zig:3735in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_Markdown_exposes_heading_limits_at_the_render_boundary[function] — test source atlib/zen/src/markdown.zig:3723in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_Markdown_exposes_quiz_limits_at_the_render_boundary[function] — test source atlib/zen/src/markdown.zig:3711in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_Markdown_rendering_owns_exact_heading_storage[function] — test source atlib/zen/src/markdown.zig:3529in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_explicit_anchor_syntax_accepts_case_markers[function] — test source atlib/zen/src/markdown.zig:3346in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_explicit_anchor_syntax_preserves_unanchored_heading_output[function] — test source atlib/zen/src/markdown.zig:3335in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reporting_leaves_ordinary_rendered_output_unchanged[function] — test source atlib/zen/src/markdown.zig:4280in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_cover_list,_blockquote_and_table_blocks[function] — test source atlib/zen/src/markdown.zig:4300in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_emit_a_nested_image_after_its_enclosing_link[function] — test source atlib/zen/src/markdown.zig:4229in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_ignore_targets_inside_fenced_and_inline_code[function] — test source atlib/zen/src/markdown.zig:4267in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_locate_a_direct_paragraph_target[function] — test source atlib/zen/src/markdown.zig:4184in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_locate_a_target_carried_across_joined_source_lines[function] — test source atlib/zen/src/markdown.zig:4209in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_link_reports_name_the_exhausted_report_capacity[function] — test source atlib/zen/src/markdown.zig:4254in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_accepts_exact_inline_scanner_boundaries[function] — test source atlib/zen/src/markdown.zig:3124in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_admits_documentation_presentation_tags_only[function] — test source atlib/zen/src/markdown.zig:2821in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_admits_validated_static_call_map_fences[function] — test source atlib/zen/src/markdown.zig:2887in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_applies_an_explicit_semantic_role_to_a_generated_index_list[function] — test source atlib/zen/src/markdown.zig:2774in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_drops_empty_speaker_notes_in_slide_decks[function] — test source atlib/zen/src/markdown.zig:3798in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_emits_one_stylesheet_for_repeated_static_call_maps[function] — test source atlib/zen/src/markdown.zig:2913in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_fails_loudly_on_invalid_math[function] — test source atlib/zen/src/markdown.zig:4099in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_guards_prose_dollars_and_honors_escapes[function] — test source atlib/zen/src/markdown.zig:4086in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_keeps_incomplete_ordinary_inline_delimiters_literal[function] — test source atlib/zen/src/markdown.zig:3146in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_keeps_the_first_duplicate_footnote_definition[function] — test source atlib/zen/src/markdown.zig:4021in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_leaves_a_page_without_call_maps_style-free[function] — test source atlib/zen/src/markdown.zig:2983in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_leaves_math_inside_code_spans_alone[function] — test source atlib/zen/src/markdown.zig:4143in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_leaves_notes_fences_as_code_outside_slide_decks[function] — test source atlib/zen/src/markdown.zig:3811in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_names_malformed_inline_links_and_fixed_nesting_excess[function] — test source atlib/zen/src/markdown.zig:3100in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_names_the_offending_equation[function] — test source atlib/zen/src/markdown.zig:4112in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_never_emits_anchors_inside_link_labels[function] — test source atlib/zen/src/markdown.zig:3080in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_opens_wide_document_figures_at_full_size[function] — test source atlib/zen/src/markdown.zig:3824in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_pairs_each_code_opener_after_spans_consumed_by_other_lengths[function] — test source atlib/zen/src/markdown.zig:3041in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_preserves_distinct_static_call-map_styles[function] — test source atlib/zen/src/markdown.zig:2995in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_preserves_typed_path_anchors[function] — test source atlib/zen/src/markdown.zig:3306in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_preserves_variable_backtick_spans_inside_link_labels[function] — test source atlib/zen/src/markdown.zig:3028in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_promotes_explicit_roles_to_artifact_paragraph_containers[function] — test source atlib/zen/src/markdown.zig:2803in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_rejects_a_semantic_list_role_without_its_artifact[function] — test source atlib/zen/src/markdown.zig:2792in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_rejects_invalid_contents_directives[function] — test source atlib/zen/src/markdown.zig:3582in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_rejects_invalid_quiz_fences[function] — test source atlib/zen/src/markdown.zig:3651in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_a_bounded_widget_selector_on_an_image[function] — test source atlib/zen/src/markdown.zig:3913in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_continued_list_items_and_blockquote_inline_markup[function] — test source atlib/zen/src/markdown.zig:3964in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_diagram_fences_as_ASCII[function] — test source atlib/zen/src/markdown.zig:4152in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_display_environments_across_lines[function] — test source atlib/zen/src/markdown.zig:4065in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_explicit_slide_decks[function] — test source atlib/zen/src/markdown.zig:3755in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_footnote_references_and_definitions[function] — test source atlib/zen/src/markdown.zig:3985in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_generated_contents_from_following_headings[function] — test source atlib/zen/src/markdown.zig:3551in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_headings_paragraphs_emphasis_links_and_escaping[function] — test source atlib/zen/src/markdown.zig:2727in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_inline_and_display_math[function] — test source atlib/zen/src/markdown.zig:4035in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_lists_blockquotes_code_fences_and_images[function] — test source atlib/zen/src/markdown.zig:3928in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_motion_figures_as_static_posters[function] — test source atlib/zen/src/markdown.zig:3899in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_quiz_fences_with_hidden_answers[function] — test source atlib/zen/src/markdown.zig:3592in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_recall_quiz_questions_without_options[function] — test source atlib/zen/src/markdown.zig:3625in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_semantic_pipe_tables_with_inline_cell_spans[function] — test source atlib/zen/src/markdown.zig:2749in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_single_line_display_math[function] — test source atlib/zen/src/markdown.zig:4055in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_speaker_notes_in_slide_decks[function] — test source atlib/zen/src/markdown.zig:3783in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_renders_webm_figures_as_looping_videos_with_poster_fallback[function] — test source atlib/zen/src/markdown.zig:3883in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_reports_invalid_and_duplicate_explicit_heading_anchors[function] — test source atlib/zen/src/markdown.zig:3359in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_reserves_explicit_anchors_and_resolves_generated_collisions[function] — test source atlib/zen/src/markdown.zig:3278in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_scans_escaped_labels_and_balanced_link_targets[function] — test source atlib/zen/src/markdown.zig:3066in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_slide_decks_preserve_media_math_code_and_diagrams[function] — test source atlib/zen/src/markdown.zig:3841in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_suffixes_generated_heading_collisions_in_source_order[function] — test source atlib/zen/src/markdown.zig:3323in nearest public ownertiny.zen.markdownlib.zen.src.markdown.test_markdown_variable_fences_preserve_embedded_structural_spellings[function] — test source atlib/zen/src/markdown.zig:3251in nearest public ownertiny.zen.markdownlib.zen.src.site.publish.buildPage[function] — private source atlib/zen/src/site/publish.zig:617in nearest public ownerlib.zen.src.site.publish
Complete call list
29 direct calls.
lib.zen.src.footnote.parse[module] — private; no exact target atlib/zen/src/footnote/parse.zigtiny.zen.html.appendAttributeEscaped[function] atlib/zen/src/html.zig:9lib.zen.src.markdown.InlineBuffer.appendLine[method] — private source atlib/zen/src/markdown.zig:2276in nearest public ownertiny.zen.markdownlib.zen.src.markdown.InlineBuffer.deinit[method] — private source atlib/zen/src/markdown.zig:2267in nearest public ownertiny.zen.markdownlib.zen.src.markdown.QuizOwner.deinit[method] — private source atlib/zen/src/markdown.zig:243in nearest public ownertiny.zen.markdownlib.zen.src.markdown.appendDecimal[function] — private source atlib/zen/src/markdown.zig:1247in nearest public ownertiny.zen.markdownlib.zen.src.markdown.appendFootnotes[function] — private source atlib/zen/src/markdown.zig:1676in nearest public ownertiny.zen.markdownlib.zen.src.markdown.appendInline[function] — private source atlib/zen/src/markdown.zig:1731in nearest public ownertiny.zen.markdownlib.zen.src.markdown.appendTable[function] — private source atlib/zen/src/markdown.zig:1071in nearest public ownertiny.zen.markdownlib.zen.src.markdown.closeBlockquote[function] — private source atlib/zen/src/markdown.zig:1223in nearest public ownertiny.zen.markdownlib.zen.src.markdown.closeList[function] — private source atlib/zen/src/markdown.zig:1205in nearest public ownertiny.zen.markdownlib.zen.src.markdown.closingFence[function] — private source atlib/zen/src/markdown.zig:1285in nearest public ownertiny.zen.markdownlib.zen.src.markdown.documentationArtifactBlock[function] — private source atlib/zen/src/markdown.zig:2019in nearest public ownertiny.zen.markdownlib.zen.src.markdown.flushDisplayMath[function] — private source atlib/zen/src/markdown.zig:1014in nearest public ownertiny.zen.markdownlib.zen.src.markdown.flushFence[function] — private source atlib/zen/src/markdown.zig:672in nearest public ownertiny.zen.markdownlib.zen.src.markdown.flushListItem[function] — private source atlib/zen/src/markdown.zig:1165in nearest public ownertiny.zen.markdownlib.zen.src.markdown.flushParagraph[function] — private source atlib/zen/src/markdown.zig:1025in nearest public ownertiny.zen.markdownlib.zen.src.markdown.inspectPlanned[function] — private source atlib/zen/src/markdown.zig:304in nearest public ownertiny.zen.markdownlib.zen.src.markdown.isThematicBreak[function] — private source atlib/zen/src/markdown.zig:1660in nearest public ownertiny.zen.markdownlib.zen.src.markdown.listContinuation[function] — private source atlib/zen/src/markdown.zig:1645in nearest public ownertiny.zen.markdownlib.zen.src.markdown.nextLine[function] — private source atlib/zen/src/markdown.zig:1259in nearest public ownertiny.zen.markdownlib.zen.src.markdown.openList[function] — private source atlib/zen/src/markdown.zig:1187in nearest public ownertiny.zen.markdownlib.zen.src.markdown.originWithin[function] — private source atlib/zen/src/markdown.zig:2256in nearest public ownertiny.zen.markdownlib.zen.src.markdown.parseBlockquote[function] — private source atlib/zen/src/markdown.zig:1654in nearest public ownertiny.zen.markdownlib.zen.src.markdown.parseFence[function] — private source atlib/zen/src/markdown.zig:1270in nearest public ownertiny.zen.markdownlib.zen.src.markdown.parseHeading[function] — private source atlib/zen/src/markdown.zig:1299in nearest public ownertiny.zen.markdownlib.zen.src.markdown.parseListItem[function] — private source atlib/zen/src/markdown.zig:1612in nearest public ownertiny.zen.markdownlib.zen.src.markdown.parseSemanticList[function] — private source atlib/zen/src/markdown.zig:1624in nearest public ownertiny.zen.markdownlib.zen.src.markdown.planDiagnostic[function] — private source atlib/zen/src/markdown.zig:285in nearest public ownertiny.zen.markdown
Audit
| Definitions | 1 |
|---|---|
| Public names | 2 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |