HTML renderer for Wikidot markup
npm install @wdprlib/renderHTML renderer for Wikidot markup.
``bash`
bun add @wdprlib/render
`ts
import { parse } from "@wdprlib/parser";
import { renderToHtml } from "@wdprlib/render";
import type { PageContext, RenderOptions } from "@wdprlib/render";
const ast = parse("Hello world");
// Basic rendering
const html = renderToHtml(ast);
// With page context and resolvers
const pageContext: PageContext = {
pageName: "main",
site: "mysite",
domain: "mysite.example.com",
pageExists: (name) => checkPageExists(name),
};
const html = renderToHtml(ast, {
page: pageContext,
footnotes: ast.footnotes,
resolvers: {
user: (username) => ({ name: username, displayName: "Display Name" }),
htmlBlockUrl: (index) => /local--html/page/${index},``
},
});
- HTML generation from AST
- Footnote and bibliography rendering
- User link resolution
- Embed block with configurable allowlist
- Math rendering (via Temml)
- XSS protection (via DOMPurify)
- @wdprlib/ast - AST type definitions
- @wdprlib/parser - Wikidot markup parser
- @wdprlib/runtime - Client-side runtime
AGPL-3.0 - See LICENSE