Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/markdown",
"version": "0.0.12",
"version": "0.0.13",
"type": "module",
"description": "A tiny, fast, deterministic Markdown renderer for blogs and documentation.",
"license": "MIT",
Expand Down
48 changes: 24 additions & 24 deletions skills/_artifacts/domain_map.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Generated by skill-domain-discovery
# Library: @tanstack/markdown
# Version: 0.0.12
# Version: 0.0.13
# Date: 2026-07-22
# Status: reviewed

status: reviewed
library:
name: '@tanstack/markdown'
version: '0.0.12'
version: '0.0.13'
repository: 'https://github.com/TanStack/markdown'
description: 'A synchronous Markdown parser and renderer for controlled blog and documentation content.'
primary_framework: 'framework-agnostic'
Expand Down Expand Up @@ -54,7 +54,7 @@ skills:
source: 'docs/core-concepts/syntax-profile.md'
priority: 'HIGH'
status: 'active'
version_context: 'Intentional product boundary in 0.0.12.'
version_context: 'Intentional product boundary in 0.0.13.'
skills: ['render-markdown', 'production-pipelines']
- mistake: 'Reparsing unchanged content on every render'
mechanism: 'String inputs are parsed by complete-document renderers, while a cached MarkdownDocument skips repeated parsing.'
Expand All @@ -68,7 +68,7 @@ skills:
source: 'docs/core-concepts/document-model.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Current API behavior in 0.0.12.'
version_context: 'Current API behavior in 0.0.13.'
skills: ['render-markdown', 'production-pipelines']
- mistake: 'Applying parser options after parsing'
mechanism: 'Parse-only options do not retroactively change a pre-parsed AST.'
Expand All @@ -81,7 +81,7 @@ skills:
source: 'docs/reference/html.md'
priority: 'HIGH'
status: 'active'
version_context: 'Current AST/render split in 0.0.12.'
version_context: 'Current AST/render split in 0.0.13.'
- mistake: 'Using parseInline for document definitions'
mechanism: 'Standalone inline parsing does not extract document-level reference links or footnote definitions unless parser state is supplied.'
wrong_pattern: |
Expand All @@ -91,7 +91,7 @@ skills:
source: 'docs/reference/default-entry.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Current parsing contract in 0.0.12.'
version_context: 'Current parsing contract in 0.0.13.'

- name: 'Render with React'
slug: 'react-rendering'
Expand All @@ -118,7 +118,7 @@ skills:
source: 'docs/guides/react.md'
priority: 'HIGH'
status: 'active'
version_context: 'React adapter contract in 0.0.12.'
version_context: 'React adapter contract in 0.0.13.'
skills: ['react-rendering', 'production-pipelines']
- mistake: 'Mapping AST node names instead of emitted tags'
mechanism: 'The components option is keyed by emitted HTML/custom-element tag names such as a or md-tab-panel.'
Expand All @@ -129,7 +129,7 @@ skills:
source: 'docs/guides/react.md'
priority: 'HIGH'
status: 'active'
version_context: 'Current component map in 0.0.12.'
version_context: 'Current component map in 0.0.13.'
- mistake: 'Expecting HTML extension hooks in React output'
mechanism: 'MarkdownExtension.renderHtml is HTML-specific; cross-renderer custom output must use ComponentNode and component mappings.'
wrong_pattern: |
Expand All @@ -141,7 +141,7 @@ skills:
source: 'docs/guides/extensions.md'
priority: 'HIGH'
status: 'active'
version_context: 'Renderer-specific extension boundary in 0.0.12.'
version_context: 'Renderer-specific extension boundary in 0.0.13.'
skills: ['react-rendering', 'custom-extensions']

- name: 'Render with Octane'
Expand All @@ -168,7 +168,7 @@ skills:
source: 'docs/reference/octane.md'
priority: 'HIGH'
status: 'active'
version_context: 'Octane adapter contract in 0.0.12.'
version_context: 'Octane adapter contract in 0.0.13.'
- mistake: 'Using a React component in the Octane component map'
mechanism: 'Octane replacements must be host tag strings or Octane ComponentBody values.'
wrong_pattern: |
Expand All @@ -179,7 +179,7 @@ skills:
source: 'docs/guides/octane.md'
priority: 'HIGH'
status: 'active'
version_context: 'Octane component map in 0.0.12.'
version_context: 'Octane component map in 0.0.13.'
- mistake: 'Ignoring Octane static-render return structure'
mechanism: 'octane/server static rendering returns an object containing html and css rather than only an HTML string.'
wrong_pattern: |
Expand Down Expand Up @@ -230,7 +230,7 @@ skills:
source: 'docs/guides/docs-preset.md'
priority: 'HIGH'
status: 'active'
version_context: 'Docs preset contract in 0.0.12.'
version_context: 'Docs preset contract in 0.0.13.'
- mistake: 'Using unmatched comment component boundaries'
mechanism: 'An unmatched block start is consumed as an empty component while its body remains ordinary Markdown.'
wrong_pattern: |
Expand All @@ -245,7 +245,7 @@ skills:
source: 'src/extensions/comment-components.ts'
priority: 'HIGH'
status: 'active'
version_context: 'Current block parser behavior in 0.0.12.'
version_context: 'Current block parser behavior in 0.0.13.'
- mistake: 'Feeding a tab transform the wrong content shape'
mechanism: 'Each tab variant returns the original node when its expected headings, code files, package lines, or supported bundlers are absent.'
wrong_pattern: |
Expand All @@ -261,7 +261,7 @@ skills:
source: 'docs/guides/docs-preset.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Current docs transforms in 0.0.12.'
version_context: 'Current docs transforms in 0.0.13.'
- mistake: 'Assuming code metadata highlights code by itself'
mechanism: 'Fence metadata is parsed into the AST, but tokenization and themes require an external highlighter.'
wrong_pattern: |
Expand All @@ -272,7 +272,7 @@ skills:
source: 'docs/core-concepts/syntax-profile.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Intentional core/optional boundary in 0.0.12.'
version_context: 'Intentional core/optional boundary in 0.0.13.'
skills: ['docs-features', 'production-pipelines']

- name: 'Write Custom Extensions'
Expand Down Expand Up @@ -304,7 +304,7 @@ skills:
source: 'docs/guides/extensions.md'
priority: 'HIGH'
status: 'active'
version_context: 'Block extension contract in 0.0.12.'
version_context: 'Block extension contract in 0.0.13.'
- mistake: 'Ordering a general parser before a specific parser'
mechanism: 'Extensions run in array order, so an earlier broad parser can prevent a later parser from seeing its syntax.'
wrong_pattern: |
Expand All @@ -314,7 +314,7 @@ skills:
source: 'docs/guides/extensions.md'
priority: 'HIGH'
status: 'active'
version_context: 'Current ordered extension lifecycle in 0.0.12.'
version_context: 'Current ordered extension lifecycle in 0.0.13.'
- mistake: 'Using HTML hooks for cross-framework custom nodes'
mechanism: 'renderHtml hooks do not run in React or Octane; ComponentNode plus adapter component maps is the portable path.'
wrong_pattern: |
Expand All @@ -332,7 +332,7 @@ skills:
source: 'docs/guides/extensions.md'
priority: 'HIGH'
status: 'active'
version_context: 'Renderer extension boundary in 0.0.12.'
version_context: 'Renderer extension boundary in 0.0.13.'
skills: ['custom-extensions', 'react-rendering', 'octane-rendering']
- mistake: 'Changing the extension set between parse and render'
mechanism: 'Document transforms are embedded in the AST, while HTML render hooks still require the active extension at render time.'
Expand All @@ -345,7 +345,7 @@ skills:
source: 'docs/guides/extensions.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Current parse/render extension split in 0.0.12.'
version_context: 'Current parse/render extension split in 0.0.13.'

- name: 'Ship a Production Content Pipeline'
slug: 'production-pipelines'
Expand Down Expand Up @@ -373,7 +373,7 @@ skills:
source: 'docs/core-concepts/security.md'
priority: 'CRITICAL'
status: 'active'
version_context: 'Security boundary in 0.0.12.'
version_context: 'Security boundary in 0.0.13.'
skills: ['production-pipelines', 'react-rendering', 'octane-rendering']
- mistake: 'Returning a complete pre/code tree from a highlighter'
mechanism: 'The callback output becomes the trusted contents of the renderer-owned code element.'
Expand All @@ -386,7 +386,7 @@ skills:
source: 'docs/guides/syntax-highlighting.md'
priority: 'HIGH'
status: 'active'
version_context: 'CodeHighlighter contract in 0.0.12.'
version_context: 'CodeHighlighter contract in 0.0.13.'
- mistake: 'Trusting arbitrary highlighter output'
mechanism: 'Highlighter output is inserted without escaping in HTML, React, and Octane renderers.'
wrong_pattern: |
Expand All @@ -396,7 +396,7 @@ skills:
source: 'docs/core-concepts/security.md'
priority: 'CRITICAL'
status: 'active'
version_context: 'Trusted callback boundary in 0.0.12.'
version_context: 'Trusted callback boundary in 0.0.13.'
- mistake: 'Bundling optional highlighting into the client path'
mechanism: 'Language grammars and themes can outweigh Markdown parsing; highlighting should stay build-time or server-side when possible.'
wrong_pattern: |
Expand All @@ -408,7 +408,7 @@ skills:
source: 'docs/guides/performance.md'
priority: 'MEDIUM'
status: 'active'
version_context: 'Intentional dependency boundary in 0.0.12.'
version_context: 'Intentional dependency boundary in 0.0.13.'
- mistake: 'Treating safe defaults as a complete sanitizer'
mechanism: 'Dangerous protocols and raw HTML are constrained, but application-specific outbound links, images, and final HTML policies remain external.'
wrong_pattern: |
Expand All @@ -419,7 +419,7 @@ skills:
source: 'docs/core-concepts/security.md'
priority: 'CRITICAL'
status: 'active'
version_context: 'Documented security limit in 0.0.12.'
version_context: 'Documented security limit in 0.0.13.'

tensions:
- name: 'Compatibility breadth versus bundle budget'
Expand Down
4 changes: 2 additions & 2 deletions skills/_artifacts/skill_tree.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Generated by skill-tree-generator
# Library: @tanstack/markdown
# Version: 0.0.12
# Version: 0.0.13
# Date: 2026-07-22

library:
name: '@tanstack/markdown'
version: '0.0.12'
version: '0.0.13'
repository: 'https://github.com/TanStack/markdown'
description: 'A synchronous Markdown parser and renderer for controlled blog and documentation content.'
generated_from:
Expand Down
2 changes: 1 addition & 1 deletion skills/custom-extensions/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >
metadata:
type: core
library: '@tanstack/markdown'
library_version: '0.0.12'
library_version: '0.0.13'
requires:
- 'render-markdown'
sources:
Expand Down
2 changes: 1 addition & 1 deletion skills/docs-features/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >
metadata:
type: core
library: '@tanstack/markdown'
library_version: '0.0.12'
library_version: '0.0.13'
requires:
- 'render-markdown'
sources:
Expand Down
2 changes: 1 addition & 1 deletion skills/octane-rendering/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
type: framework
library: '@tanstack/markdown'
framework: 'octane'
library_version: '0.0.12'
library_version: '0.0.13'
requires:
- 'render-markdown'
sources:
Expand Down
4 changes: 2 additions & 2 deletions skills/production-pipelines/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >
metadata:
type: lifecycle
library: '@tanstack/markdown'
library_version: '0.0.12'
library_version: '0.0.13'
requires:
- 'render-markdown'
sources:
Expand Down Expand Up @@ -127,7 +127,7 @@ import { parseMarkdown } from '@tanstack/markdown/parser'
const cache = new Map<string, MarkdownDocument>()

export function renderCachedArticle(key: string, source: string): string {
const cacheKey = `markdown-0.0.12:${key}`
const cacheKey = `markdown-0.0.13:${key}`
let document = cache.get(cacheKey)
if (!document) {
document = parseMarkdown(source, {
Expand Down
2 changes: 1 addition & 1 deletion skills/react-rendering/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
type: framework
library: '@tanstack/markdown'
framework: 'react'
library_version: '0.0.12'
library_version: '0.0.13'
requires:
- 'render-markdown'
sources:
Expand Down
2 changes: 1 addition & 1 deletion skills/render-markdown/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >
metadata:
type: core
library: '@tanstack/markdown'
library_version: '0.0.12'
library_version: '0.0.13'
sources:
- 'TanStack/markdown:docs/quick-start.md'
- 'TanStack/markdown:docs/core-concepts/document-model.md'
Expand Down
2 changes: 1 addition & 1 deletion skills/render-markdown/references/ast-and-options.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AST and Options Reference

This reference targets `@tanstack/markdown@0.0.12`. Shared public types are
This reference targets `@tanstack/markdown@0.0.13`. Shared public types are
exported from `@tanstack/markdown`.

## Entry Points
Expand Down
Loading