Plugins

TikZ

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

Important Notes

  • 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;
  • You need to update your sanitizer to allow the specific tag: <div type="text/tikz">

Installation

npm i @cartamd/plugin-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;
}
Created by BearToCode