diagonjs
v1.6.1
Published
A library for converting Markdown-style expressions into visually appealing ASCII, Unicode and LaTeX representations.
Downloads
588
Maintainers
Readme
Craft captivating ASCII art from your Markdown expression with ease, powered by Diagon.
🚀 Features
- Supports Math, Sequence, Tree, Table, Grammars, Frame, and GraphDAG expressions.
- Flexible translation with customizable options including styles like Unicode, ASCII, Latex, and more.
- Support for both Node.js and browser environments.
- Compatible with CommonJS (CJS) and ECMAScript Module (ESM) environments.
- Fully typed for enhanced developer experience.
⚙️ Install
Install it locally in your project folder:
npm i diagonjs
# Or Yarn
yarn add diagonjs
# Or pnpm
pnpm add diagonjs
📖 Usage
Initialize diagonjs
To initialize diagon.js in your application:
import Diagon from "diagonjs";
const diagon = await Diagon.init();
Use a translator
Once Diagon.js is initialized, you can use its translators to interpret and transform expressions.
Below is an example using the math expression translator:
diagon.translate.math("f(x) = 1 + x / (1 + x)", { style: "Unicode" });
// x
// f(x) = 1 + ─────
// 1 + x
And here's an example employing the sequence diagram translator:
diagon.translate.sequence(
"Alice -> Bob: Hello Bob!\nAlice <- Bob: Hello Alice!",
{ asciiOnly: false },
);
// ┌─────┐ ┌───┐
// │Alice│ │Bob│
// └──┬──┘ └─┬─┘
// │ │
// │ Hello Bob! │
// │───────────>│
// │ │
// │Hello Alice!│
// │<───────────│
// ┌──┴──┐ ┌─┴─┐
// │Alice│ │Bob│
// └─────┘ └───┘
📚 Documentation
- Dive deeper into the source code by exploring the translators
- Find practical integrations with express, react and more in the examples section.
- Explore the test section in the Diagon C++ repository. It contains input and output samples.
- Experience Diagonjs in action using the online interpreter.
💖 Thanks
This project has been possible thanks to these great projects:
License
This project is licensed under the MIT License.