-
Notifications
You must be signed in to change notification settings - Fork 1
Comparing changes
Open a pull request
base repository: PSModule/Markdown
base: main
head repository: PSModule/Markdown
compare: docs-markdown-object-model-section-shape
- 10 commits
- 3 files changed
- 2 contributors
Commits on Aug 15, 2026
-
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>
Configuration menu - View commit details
-
Copy full SHA for 407f2fb - Browse repository at this point
Copy the full SHA 407f2fbView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 71f1ded - Browse repository at this point
Copy the full SHA 71f1dedView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for f8efd55 - Browse repository at this point
Copy the full SHA f8efd55View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 181babd - Browse repository at this point
Copy the full SHA 181babdView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 4755f52 - Browse repository at this point
Copy the full SHA 4755f52View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 8dfcf9f - Browse repository at this point
Copy the full SHA 8dfcf9fView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 4d0c677 - Browse repository at this point
Copy the full SHA 4d0c677View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 88f7499 - Browse repository at this point
Copy the full SHA 88f7499View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 46c2bd8 - Browse repository at this point
Copy the full SHA 46c2bd8View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for c555633 - Browse repository at this point
Copy the full SHA c555633View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...docs-markdown-object-model-section-shape