Plugins

TikZ

This plugin adds support for PGF/TikZ illustrations thanks to TikZJax. It uses the code generated for the Obsidian-TikZ plugin.

npm i @cartamd/plugin-tikz

Important Notes

  1. This plugin requires the import of a heavy library (~7Mb), which is dynamically imported at runtime. This can be avoided by pre-rendering content on the server;
  2. You need to update your sanitizer to allow the specific tag: <div type="text/tikz">.

Setup

<script>
	import { Carta, MarkdownEditor } from 'carta-md';
	import { tikz } from '@cartamd/plugin-tikz';
	import '@cartamd/plugin-tikz/fonts.css';

	const carta = new Carta({
		extensions: [tikz()]
	});
</script>

<MarkdownEditor {carta} />

Options

Here are the options you can pass to tikz():

interface TikzExtensionOptions {
	/**
	 * Enables Tikzjax console output.
	 */
	debug?: boolean;
	/**
	 * Class for generated svg div container.
	 */
	class?: string;
	/**
	 * Whether to center the generated expression.
	 * @default true
	 */
	center?: boolean;
	/**
	 * Post processing function for html.
	 * This also runs on stored html.
	 */
	postProcessing?: (html: string) => string;
}
Handmade by Davide