Just your average templating engine, absolutely nothing strange going on here.
  • TypeScript 100%
Find a file
2026-03-21 17:20:23 +01:00
test Add EvaluationExtras.outputDidLogAnError 2026-02-13 23:11:43 +01:00
.gitignore Prepare first release 2024-02-23 18:03:47 +01:00
CHANGELOG.md Add EvaluationExtras.outputDidLogAnError 2026-02-13 23:11:43 +01:00
defaultLogger.ts Add some missing features 2025-10-07 20:21:54 +02:00
deno.json Add EvaluationExtras.outputDidLogAnError 2026-02-13 23:11:43 +01:00
deno.lock Try the old exports order for publishing, even though it breaks the html docs 2025-10-10 17:35:55 +02:00
evaluationTreePosition.ts Add doc comments for all remaining parts 2025-10-09 21:17:40 +02:00
LICENSE Add license 2024-02-13 20:32:28 +01:00
loggingBackend.ts Add doc comments for all remaining parts 2025-10-09 21:17:40 +02:00
logLevelStacks.ts Move logging into macromania 2025-05-20 21:46:19 +02:00
macromania_deco.png Try decorated logotype 2024-02-23 14:25:09 +01:00
mod.ts Hide implementation detail from rendered docs 2026-03-21 17:19:43 +01:00
README.md Remove broken website link in the repo 2026-02-27 08:22:01 +01:00
stack.ts Add doc comments for all remaining parts 2025-10-09 21:17:40 +02:00

Logotype of the name of this project: Macromania

Text generation made easy simple.

<Definition id="tree" title="Tree">
  A <Def>tree</Def> is a connected graph on <Tex>n</Tex> vertices with{" "}
  <Tex>n - 1</Tex> edges<Cite id="Diestel2016" />.
</Definition>;

Macromania is a typescript-embedded domain-specific language for creating strings, using jsx syntax. You can think of it as a highly expressive but completely unopinionated templating language. It takes inspiration from lisp-like macro expansion and TeX, but the design ensures meaningful error reporting, principled interaction between stateful macros, and static typing for the input expressions.