UNPKG

@beoe/rehype-penrose

Version:
29 lines (28 loc) 914 B
import { rehypeCodeHookImg } from "@beoe/rehype-code-hook-img"; import { join } from "node:path"; import { penrose } from "./penrose.js"; export const rehypePenrose = rehypeCodeHookImg({ language: "penrose", svgo: false, render: async (code, opts) => { if (!opts.domain || !opts.style) throw new Error("domain and style required"); if (!opts.shared) opts.shared = ""; if (!opts.width) opts.width = 400; if (!opts.height) opts.height = 400; return { svg: await penrose({ substance: code, style: join(opts.shared, opts.style), domain: join(opts.shared, opts.domain), variation: opts.variation || "", width: opts.width, height: opts.height, }), }; }, }); export default rehypePenrose;