
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
The Markdown engine for the modern web. Parse Markdown with components, attributes and plugins to a compact AST, at build time or runtime, and render with Vue, React, Svelte, Angular, HTML or ANSI. Streaming-ready for AI output.
The Markdown engine for the modern web. One parser, every renderer: Vue, React, Svelte, Angular, HTML and ANSI, with components, plugins and streaming.
Comark (Components in Markdown) extends standard Markdown with component syntax that stays plain text. No build step: parse at runtime or build time, on the server or in the browser, and render the same content anywhere.
# Regular Markdown
With a custom component:
::alert{type="warning"}
This is **Markdown** inside your own component.
::
parseMarkdown(markdown) is a pure function returning a compact serializable Markdown document . Content from a database, CMS, or LLM is live the moment it is saved. No rebuild, no redeploy. (Comark vs MDX)**bold, open code fences, half-open components) so AI output renders correctly at every frame.{.class} attributes on native elements. Components are opt-in syntax, not a new language.['tag', props, ...children]) to the client, render without re-parsing.Built on five years of MDC, the parser behind Nuxt Content. Read Why Comark for the full story.
npm install comark
import { parseMarkdown } from 'comark'
const tree = await parseMarkdown('# Hello **World**')
// { nodes: [['h1', { id: 'hello' }, 'Hello ', ['strong', {}, 'World']]], frontmatter: {}, meta: {} }
Then pick a renderer:
npm install @comark/vue katex
<script setup lang="ts">
import { Markdown } from '@comark/vue'
import math, { Math } from '@comark/vue/plugins/math'
const chatMessage = ...
</script>
<template>
<Markdown :components="{ Math }" :plugins="[math()]">{{ chatMessage }}</Markdown>
</template>
npm install @comark/react katex
import { Markdown } from '@comark/react'
import math, { Math } from '@comark/react/plugins/math'
function App() {
const chatMessage = ...
return <Markdown components={{ Math }} plugins={[math()]}>{chatMessage}</Markdown>
}
npm install @comark/svelte katex
<script lang="ts">
import { Markdown } from '@comark/svelte'
import math, { Math } from '@comark/svelte/plugins/math'
const chatMessage = ...
</script>
<Markdown value={chatMessage} components={{ math: Math }} plugins={[math()]} />
npm install @comark/angular katex
import { Component } from '@angular/core'
import { Markdown } from '@comark/angular'
import math, { Math } from '@comark/angular/plugins/math'
@Component({
selector: 'app-chat',
standalone: true,
imports: [Markdown],
template: `<comark-markdown [value]="chatMessage" [components]="{ Math }" [plugins]="[math()]" />`,
})
export class ChatComponent {
chatMessage = ...
}
npm install @comark/html
import { renderHtml } from '@comark/html'
const chatMessage = ...
const html = await renderHtml(chatMessage)
| Package | Description |
|---|---|
comark | Core parser, AST utilities, plugins |
@comark/vue | Vue 3 renderer |
@comark/react | React renderer (Next.js, Server Components) |
@comark/svelte | Svelte 5 renderer |
@comark/angular | Angular renderer |
@comark/nuxt | Nuxt module with auto-imports |
@comark/html | HTML string renderer |
@comark/ansi | ANSI terminal renderer |
Coding agents can install the Comark skill from the docs site:
npx skills add https://comark.dev
See Installation on comark.dev for details.
Made with ❤️
Published under MIT License.
FAQs
The Markdown engine for the modern web. Parse Markdown with components, attributes and plugins to a compact AST, at build time or runtime, and render with Vue, React, Svelte, Angular, HTML or ANSI. Streaming-ready for AI output.
The npm package comark receives a total of 68,677 weekly downloads. As such, comark popularity was classified as popular.
We found that comark demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.