HTML renderer for Wikidot markup.
bun add @wdprlib/renderimport { 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/decompiler - HTML to Wikidot decompiler
- @wdprlib/runtime - Client-side runtime
AGPL-3.0 - See LICENSE