Skip to content

Implement initial LMD Core parser#1

Merged
EthanThatOneKid merged 24 commits into
mainfrom
initial-lmd-core
Jul 6, 2026
Merged

Implement initial LMD Core parser#1
EthanThatOneKid merged 24 commits into
mainfrom
initial-lmd-core

Conversation

@EthanThatOneKid

Copy link
Copy Markdown
Contributor

Summary

  • add Deno/JSR package configuration for @wazoo/linked-markdown
  • implement frontmatter parsing with @std/front-matter, link extraction, and RDF/N-Triples helpers
  • add conformance harness against the shared spec submodule
  • add CI for deno check and conformance tests

Tests

  • deno task check
  • LMD_CONFORMANCE_ROOT=file:///C:/Users/ethan/Documents/GitHub/linked-markdown/conformance deno task test

- Rewrite extract.ts: replace @std/front-matter calls with internal
  _splitFrontMatter logic matching Python impl, add trailing \n
  normalization on frontMatter
- Create errors.ts: LinkedMarkdownError class with code + cause,
  LMD_NO_FRONTMATTER and LMD_INVALID_FRONTMATTER constants
- Delete parse.ts and parse.test.ts (superseded by extract.ts)
- Update conformance_test.ts: use class-based error code assertion
- Update README: document extract API, error codes, test commands
- Advance spec submodule to conformance fixtures commit

Reference: https://gist.github.com/EthanThatOneKid/aba5d6ab9571ab158969d1509ee8c7a8
Adds a release workflow that publishes to JSR on v* tags.
Triggers deno check + tests before publishing.
Matches the recommended JSR pattern — no Deno setup needed,
publishes on push to default branch (JSR deduplicates by version).
Both repos now publish on v* tags via their respective release workflows.
Same workflow name (Release), same trigger pattern.
…ads via jsonld.toRDF()

- 5 tests covering @type→rdf:type, @id, missing @id→blank node, missing @type, bare keywords
- No changes to distributed src/ — tests only
Both repos now pinned to same spec commit e4350ee.
…onformance suite

Deleted src/extract.test.ts — all 13 extract() tests were 1:1 covered
by the conformance suite (which tests richer fixtures). Kept only the
LinkedMarkdownError class property test (code/cause/name), moved to
test/conformance_test.ts.
@EthanThatOneKid EthanThatOneKid merged commit 1ef2eea into main Jul 6, 2026
1 check passed
@EthanThatOneKid EthanThatOneKid deleted the initial-lmd-core branch July 6, 2026 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant