Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: PSModule/Markdown
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: PSModule/Markdown
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: docs-markdown-object-model-section-shape
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 10 commits
  • 3 files changed
  • 2 contributors

Commits on Aug 15, 2026

  1. Update the object model spec for the merged section shape

    A section now carries its heading level, title as inline nodes, and heading
    style, instead of containing a separate heading node. FR2, FR4, FR6, FR7, FR8
    and FR10 are reworded in place, and the acceptance criteria gain a scenario for
    inline markup in a title surviving a parse and render cycle.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    407f2fb View commit details
    Browse the repository at this point in the history
  2. Add the section nesting and tree depth bounds to the spec

    FR14 states both bounds the model has always had but never wrote down: a chain
    of nested sections stops at six, because sections nest only on strictly
    increasing levels and an ATX heading carries one to six hash characters, while
    total tree depth is unbounded because sectioning restarts inside every block
    container.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    71f1ded View commit details
    Browse the repository at this point in the history
  3. Add the comment node requirements to the spec

    FR15 to FR20 state what a comment is in the model: exact-block recognition with
    the trailing-content rule the CommonMark HTML block end condition implies, inner
    text and a terminated indicator, unterminated comments running to the end of the
    document, the degenerate forms, preservation of delimiters and inner spacing, and
    comment-looking text in code excluded. Acceptance criteria gain a matching
    feature.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    f8efd55 View commit details
    Browse the repository at this point in the history
  4. Update the capability overview tree for the merged section shape

    The at a glance tree still showed a Heading child under Section.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    181babd View commit details
    Browse the repository at this point in the history
  5. Update the object model design for the merged section shape

    The section carries Level, Title as inline nodes, and Style, so there is no
    heading node left in the model. Updates the approach prose, the tree and
    containment diagrams, the node members table, rendering, and section addressing,
    and records the two rejected shapes in the alternatives table: the earlier
    Section wrapping a heading node, and the string-title shape prototyped in
    #18.
    
    Traversal now yields a section's title inlines before its children, which keeps
    FR8 true and keeps heading links reachable from Descendants().
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    4755f52 View commit details
    Browse the repository at this point in the history
  6. State all four section closure rules in the design

    The pseudocode covered three; the fourth was only implicit in the function
    returning. All four are now stated as prose beside it, and the pseudocode is
    updated onto the merged section shape. Adds the note that the pass runs before
    inline parsing, and the observation that the six-level nesting bound falls out of
    rule 1 rather than being enforced.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    8dfcf9f View commit details
    Browse the repository at this point in the history
  7. Correct the CommonMark example cited for the HTML block end condition

    The comment-plus-trailing-content case is example 177. Example 172 is the style
    element case. Verified against spec.txt for 0.31.2.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    4d0c677 View commit details
    Browse the repository at this point in the history
  8. Move the node schema from the Epic into the design

    The complete inventory - every class, property and CommonMark section reference -
    existed only in the body of #8, so it would have become a closed
    issue body once that Epic closed. It now lives in the design: type hierarchy,
    worked example, shared members, document, blocks, inlines, enums, and the
    constructs that are deliberately not nodes.
    
    Adapted to evergreen present tense, with the merged section shape applied as it
    moves: MarkdownHeading is gone, MarkdownSection carries Level, Title and Style,
    and headings join the list of constructs that are not nodes. Two CommonMark
    section numbers are corrected on the way in - textual content is 6.9 and entity
    references are 2.5.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    88f7499 View commit details
    Browse the repository at this point in the history
  9. Record the two-comment-type decision in the design

    Comments occur at block and inline level, and a PowerShell class has a single
    base, so one type cannot derive from both MarkdownBlock and MarkdownInline. The
    model carries MarkdownCommentBlock and MarkdownComment, both reporting a Type of
    Comment so one query finds every comment. Records the rejected single type
    outside the block and inline split, and the rejected IsComment flag on the
    existing HTML nodes.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    46c2bd8 View commit details
    Browse the repository at this point in the history
  10. Bound an unterminated comment by its container, not by the document

    CommonMark 4.6 ends an HTML block at the last line of the document OR the last
    line of the container block holding it, whichever comes first. FR17 stated only
    the first, which is wrong for a comment inside a block quote or a list item -
    content after the container would have been swallowed. Adds an acceptance
    scenario for the container case and updates the IsTerminated note.
    
    Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
    MariusStorhaug and Copilot committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    c555633 View commit details
    Browse the repository at this point in the history
Loading