Skip to content

Section wise markdown export v2#528

Open
gurkerl83 wants to merge 2 commits intocode-hike:nextfrom
gurkerl83:Section-Wise-Markdown-Export-V2
Open

Section wise markdown export v2#528
gurkerl83 wants to merge 2 commits intocode-hike:nextfrom
gurkerl83:Section-Wise-Markdown-Export-V2

Conversation

@gurkerl83
Copy link
Copy Markdown

Context:

Top-level detail:

  • Previous approach (PR Convert paragraph content to markdown #506) generated __hike.markdown from AST serialization, so upstream remark AST mutations were reflected but source fidelity was not guaranteed.
  • This caused round-trip drift (formatting/line endings/GFM layout normalization).
  • This change generates __hike.markdown from original source offsets, prioritizing source-faithful output and side effect free plugin results.

Additional changes:

  • Thread original source through the remark transform path into section serialization.
  • Compute markdown only from section content paragraphs using node offsets.
  • Preserve flow-level <br /> spacing semantics:
    • leading breaks before the first paragraph,
    • one baseline separator newline plus extra newlines for intermediate <br />,
    • trailing breaks after the last paragraph.
  • Keep markdown export opt-in via markdownEnabled (attribute behavior unchanged).
  • Remove the extra markdown serialization dependency introduced in the previous approach.
  • Add focused tests for:
    • source-preserving markdown capture,
    • behavior when markdownEnabled is not set,
    • <br /> spacing behavior.
Context:
- This PR is based on `next`.
- Prior work exists in code-hike#506 (not merged into `next`), and is referenced here as the previous approach.

Top-level detail:
- Previous approach (PR code-hike#506) generated `__hike.markdown` from AST serialization, so upstream remark AST mutations were reflected but source fidelity was not guaranteed.
- This caused round-trip drift (formatting/line endings/GFM layout normalization).
- This change generates `__hike.markdown` from original source offsets, prioritizing source-faithful output and side effect free plugin results.

Additional changes:
- Thread original source through the remark transform path into section serialization.
- Compute markdown only from section content paragraphs using node offsets.
- Preserve flow-level `<br />` spacing semantics:
  - leading breaks before the first paragraph,
  - one baseline separator newline plus extra newlines for intermediate `<br />`,
  - trailing breaks after the last paragraph.
- Keep markdown export opt-in via `markdownEnabled` (attribute behavior unchanged).
- Remove the extra markdown serialization dependency introduced in the previous approach.
- Add focused tests for:
  - source-preserving markdown capture,
  - behavior when `markdownEnabled` is not set,
  - `<br />` spacing behavior.
Revert temporary file-scoped test command
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 18, 2026

@gurkerl83 is attempting to deploy a commit to the codehike Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant