diff --git a/AGENTS.md b/AGENTS.md index 2421b303..ea0ba40c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -75,7 +75,7 @@ packages/comark/ │ │ ├── task-list.ts # GFM task lists │ │ └── toc.ts # Table of contents │ ├── utils/ # Shared utilities (comark/utils entry point) -│ │ ├── index.ts # textContent(), visit(), visitAsync(), string/object utils +│ │ ├── index.ts # textContent(), visit(), visitAsync(), escapeHtml(), string/object utils │ │ ├── helpers.ts # defineComarkPlugin(), dedupePlugins() │ │ └── caret.ts # Caret utilities for streaming │ └── internal/ # Internal implementation (not exported) @@ -389,7 +389,7 @@ import { renderMarkdown } from 'comark/render' // AST types and utilities import type { MarkdownDocument, Node, ElementNode, TextNode } from 'comark' -import { textContent, visit } from 'comark/utils' +import { textContent, visit, escapeHtml } from 'comark/utils' // Core plugins — use when calling parseMarkdown() directly (framework-agnostic) import shiki from 'comark/plugins/shiki' diff --git a/packages/comark-html/src/plugins/binding.ts b/packages/comark-html/src/plugins/binding.ts index af9e6d46..0f948ca2 100644 --- a/packages/comark-html/src/plugins/binding.ts +++ b/packages/comark-html/src/plugins/binding.ts @@ -1,5 +1,5 @@ import type { NodeHandler } from 'comark/render' -import { escapeHtml } from '../utils/index.ts' +import { escapeHtml } from 'comark/utils' export * from 'comark/plugins/binding' export { default } from 'comark/plugins/binding' diff --git a/packages/comark-html/src/plugins/math.ts b/packages/comark-html/src/plugins/math.ts index ef303b51..73491fd5 100644 --- a/packages/comark-html/src/plugins/math.ts +++ b/packages/comark-html/src/plugins/math.ts @@ -1,6 +1,6 @@ import type { ElementNode } from 'comark' import katex from 'katex' -import { escapeHtml } from '../utils/index.ts' +import { escapeHtml } from 'comark/utils' export * from 'comark/plugins/math' export { default } from 'comark/plugins/math' diff --git a/packages/comark-html/src/plugins/mermaid.ts b/packages/comark-html/src/plugins/mermaid.ts index 6fbe5b15..add79eed 100644 --- a/packages/comark-html/src/plugins/mermaid.ts +++ b/packages/comark-html/src/plugins/mermaid.ts @@ -1,7 +1,7 @@ import type { ElementNode } from 'comark' import type { ThemeNames } from 'comark/plugins/mermaid' import { renderMermaidSVG, THEMES } from 'beautiful-mermaid' -import { escapeHtml } from '../utils/index.ts' +import { escapeHtml } from 'comark/utils' export * from 'comark/plugins/mermaid' export { default } from 'comark/plugins/mermaid' diff --git a/packages/comark-html/src/utils/index.ts b/packages/comark-html/src/utils/index.ts index dd2d304e..705cc782 100644 --- a/packages/comark-html/src/utils/index.ts +++ b/packages/comark-html/src/utils/index.ts @@ -1,9 +1 @@ export * from 'comark/utils' - -/** - * Escape a string for safe interpolation into HTML markup. Used by plugin - * renderers whose fallback output includes author-controlled source. - */ -export function escapeHtml(value: string): string { - return value.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"') -} diff --git a/packages/comark/SPEC/COMARK/codeblock-multiple-meta.md b/packages/comark/SPEC/COMARK/codeblock-multiple-meta.md index 4016d5c5..4860adbf 100644 --- a/packages/comark/SPEC/COMARK/codeblock-multiple-meta.md +++ b/packages/comark/SPEC/COMARK/codeblock-multiple-meta.md @@ -35,7 +35,7 @@ def greet(name): ## HTML ```html -
def greet(name):
+
def greet(name):
     return f"Hello, {name}!"
``` diff --git a/packages/comark/SPEC/COMARK/component-block-props-types.md b/packages/comark/SPEC/COMARK/component-block-props-types.md index d445a18c..7345909a 100644 --- a/packages/comark/SPEC/COMARK/component-block-props-types.md +++ b/packages/comark/SPEC/COMARK/component-block-props-types.md @@ -50,7 +50,7 @@ Component content ## HTML ```html -