jxxcarlson/xmarkdown-compiler/1.0.0

NOTE: the latest version is 2.2.6

XMarkdown Compiler

A standalone compiler for XMarkdown. XMarkdown is an extended version of markdown with support for rending mathematics presented either as TeX or ETeX (ergonomic TeX). Consider the text for a standard calculus formula:

$$
\int_0^1 x^n dx = \frac{1}{n+1}
$$

That is the TeX version. ETeX looks like this:

$$
int_0^1 x^n dx = frac(1,n+1)
$$

XMarkdown accepts both forms. Note that the double dollar signs occupy lines by themselves. This is good style in TeX but in XMarkdown it is required. You can find the ETeX package here.

What else?

XMarkdown is pretty much like standard markdown, with the usual**bold** and*italic* text. It also has tables, better handling of images, automatic section numbering, and automatic generation of a live table of contents. Perhaps the most important feature, illustrated by XXX, is synchronization of edited an rendered text:

  • click on rendered text to highlight and scroll into view the corresponding source text
  • select source text and highlight and scroll into view the corresponding rendered text

Usage

Add the package:

elm install jxxcarlson/xmarkdown-compiler

Then build an app around this:

import XMarkdown.API exposing (defaultCompilerParameters)
import XMarkdown.Types exposing (MarkupMsg(..))

output : List (Element MarkupMsg)
output = XMarkdown.API.compileSimple defaultCompilerParameters source

source : String
source = """
# Introduction

This is **bold** text.

## Math

$$
int_0^1 x^n dx = frac(1,n+1)
$$
"""

Example Apps

See the DemoMd and DemoTOCMd folders for more complete examples. The second of these shows how to construct an automatically updated active table of contents which in addition enables the user to

  • click on rendered text to highlight and scroll into view the corresponding source text
  • select source text and highlight and scroll into view the corresponding rendered text

See also XXX

License

MIT