From 7ce13053294fd951689bcd3fda02b9f6edb70e06 Mon Sep 17 00:00:00 2001 From: Hellings Date: Fri, 23 Oct 2026 09:12:49 -0400 Subject: [PATCH] better formatting --- index.ts | 51 +++++++++++++++++++++++++++++++++++++++------------ package.json | 20 ++++++++++---------- 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/index.ts b/index.ts index 39dfa2d..8f74a9d 100644 --- a/index.ts +++ b/index.ts @@ -6,34 +6,61 @@ import { renderMarkdown } from "muddle/markdown"; import katex from "katex"; export function renderLatex(source: string, displayMode = false): string { - return katex.renderToString(source, { displayMode, throwOnError: false, trust: false }); + return katex.renderToString(source, { + displayMode, + throwOnError: false, + trust: false, + }); } export function renderMathMarkdown(source: string): string { const formulas: string[] = []; - const body = source.replace(/\$\$([\s\S]+?)\$\$|(? { - formulas.push(renderLatex(display ?? inline, display !== undefined)); - return `MUDDLEMATH${formulas.length - 1}END`; - }); - return renderMarkdown(body).replace(/MUDDLEMATH(\d+)END/g, (_match, index) => formulas[Number(index)] ?? ""); + const body = source.replace( + /\$\$([\s\S]+?)\$\$|(? { + formulas.push(renderLatex(display ?? inline, display !== undefined)); + return `MUDDLEMATH${formulas.length - 1}END`; + }, + ); + return renderMarkdown(body).replace( + /MUDDLEMATH(\d+)END/g, + (_match, index) => formulas[Number(index)] ?? "", + ); } -export interface LatexIntegrationOptions { route?: string } +export interface LatexIntegrationOptions { + route?: string; +} -export function latexIntegration(options: LatexIntegrationOptions = {}): Integration { +export function latexIntegration( + options: LatexIntegrationOptions = {}, +): Integration { const route = options.route ?? "/_muddle/katex.css"; return { name: "latex", async setup(context: IntegrationContext) { - const base = dirname(fileURLToPath(import.meta.resolve("katex/package.json"))); + const base = dirname( + fileURLToPath(import.meta.resolve("katex/package.json")), + ); const css = await readFile(join(base, "dist", "katex.min.css"), "utf8"); context.loader("latex-markdown", { name: "latex-markdown", extensions: [".latex.md", ".latex.markdown"], - load(file) { return { data: {}, content: renderMathMarkdown(file.source) }; }, + load(file) { + return { data: {}, content: renderMathMarkdown(file.source) }; + }, }); - context.route("GET", route, () => new Response(css, { headers: { "content-type": "text/css; charset=utf-8", "cache-control": "public, max-age=31536000, immutable" } })); + context.route( + "GET", + route, + () => + new Response(css, { + headers: { + "content-type": "text/css; charset=utf-8", + "cache-control": "public, max-age=31536000, immutable", + }, + }), + ); }, }; } - diff --git a/package.json b/package.json index 0f3ef7f..dd705fb 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { - "name": "@muddle/latex", - "type": "module", - "exports": "./index.ts", - "version": "0.1.0", - "peerDependencies": { - "muddle": "*" - }, - "dependencies": { - "katex": "^0.19.0" - } + "name": "@muddle/latex", + "type": "module", + "exports": "./index.ts", + "version": "0.1.0", + "peerDependencies": { + "muddle": "*" + }, + "dependencies": { + "katex": "^0.19.0" + } }