JavaScript API
Parsing
import { parseOrgContent } from "org-press";
const parsed = await parseOrgContent(orgSource, {
orgFilePath: "content/page.org",
plugins: [],
config: {},
});
// Access AST
console.log(parsed.ast);
// Access metadata
console.log(parsed.metadata.title);
Rendering
import { renderOrg, renderWithLayout } from "org-press";
// Render to HTML string
const result = await renderOrg(parsed.ast, {
base: "/",
metadata: parsed.metadata,
});
console.log(result.html);
console.log(result.toc); // Table of contents
// Render with layout component
const fullHtml = await renderWithLayout({
ast: parsed.ast,
context: { base: "/", metadata: parsed.metadata },
Layout: MyLayoutComponent,
});
Configuration
import { loadConfig, loadPlugins } from "org-press";
const config = await loadConfig(".org-press/config.ts");
const { plugins } = await loadPlugins(config);
Content Helpers
Available in server blocks:
// In :use server blocks
const pages = await content.getContentPages();
const html = await content.renderPageList(pages);
Types
import type {
OrgPressConfig,
BlockPlugin,
PageMetadata,
RenderResult,
TocItem,
} from "org-press";