@galpha-ai/better-markdown
v2.0.0
Published
better-markdown is a Markdown UI middle layer: markdown in, product-grade UI out.
Readme
better-markdown
better-markdown is a Markdown UI middle layer: markdown in, product-grade UI out.
v2 keeps the product small:
baseModule()= the default rich-markdown surfacefinanceModule()= chart-heavy finance rendering
Quick start
import { betterMarkdown, baseModule } from '@galpha-ai/better-markdown';
import { BetterMarkdownRenderer } from '@galpha-ai/better-markdown/react';
const engine = betterMarkdown({
modules: [baseModule()],
});
export function App({ markdown }: { markdown: string }) {
return <BetterMarkdownRenderer engine={engine} content={markdown} />;
}The two modules
| Module | Best for |
| --- | --- |
| baseModule() | docs/specs/changelogs/runbooks/AI handoff markdown |
| financeModule() | finance dashboards/reports/KPI/chart rendering |
Canonical composition
import {
betterMarkdown,
baseModule,
financeModule,
} from '@galpha-ai/better-markdown';
const engine = betterMarkdown({
modules: [baseModule(), financeModule()],
});Most teams start with baseModule() and add financeModule() only when the markdown truly needs charts.
Mental model
betterMarkdown()= engine + protocol- modules = product-ready surfaces
- plugins = markdown block match/transform logic
- adapters = chart rendering backends
Start from modules. Reach for plugins and adapters only when you need a custom escape hatch.
Public entrypoints
| Import path | Purpose |
| --- | --- |
| @galpha-ai/better-markdown | engine + modules-first API |
| @galpha-ai/better-markdown/react | React renderers |
| @galpha-ai/better-markdown/plugins | chart/code/mermaid/callout plugins |
| @galpha-ai/better-markdown/adapters | chart adapters + adapter types |
| @galpha-ai/better-markdown/compat | compatibility aliases such as coreModule() |
| @galpha-ai/better-markdown/legacy | parser / analyzer / chart helpers |
| @galpha-ai/better-markdown/hooks | streaming helpers |
Optional finance package
The root package is the canonical API.
If you want a finance-only companion distribution package, it remains available:
@galpha-ai/better-markdown-finance
It exposes the same financeModule() surface, but the recommended docs and examples stay rooted on @galpha-ai/better-markdown.
Custom plugin
import type { BetterMarkdownPlugin } from '@galpha-ai/better-markdown/plugins';
const mathPlugin: BetterMarkdownPlugin = {
name: 'math',
match: content => content.includes('$$'),
transform: content => ({ data: { content }, hideOriginal: true }),
};Custom adapter
import { rechartsAdapter } from '@galpha-ai/better-markdown/adapters';Demo
- GitHub Pages: https://galpha-ai.github.io/better-markdown/
- Curated gallery is organized by module: base, finance
- Repo: https://github.com/galpha-ai/better-markdown
Local development
npm install
npm run dev
npm run test
npm run lintPublish to npm
npm run release:npm- Published metadata lives in
npm-package.json npm run pack:checkbuilds, prepares, and smoke-tests the packed artifactnpm run publish:distonly publishes./dist
