jemdoc

This website is generated by jemdoc+MathJax and hosted on Github Pages.

jemdoc is a light text-based markup language designed for creating websites by Jacob Mattingley. Thanks to Dr. Wonseok Shin, MathJax is supported.

Maybe consider using Shin's custom css.

Other packages

Below are guides on jemdoc and its syntax, not exhaustive, copied :)

Basic formatting

  • /italics/

  • *bold*

  • +monospace+

  • - is a hyphen (-)

  • -- is an en-dash (–)

  • --- is an em-dash ( — )

  • ... is an ellipsis (…)

  • ~ is a non-breaking space ( )

  • # begins a comment, for the remainder of the line

  • \C is ©

  • \R is ®

  • \M is ·

  • ‘singly quoted text’ is written `singly quoted text'

  • “doubly quoted text” is written "doubly quoted text"

  • jemdoc's apostrophes are converted automatically from jemdoc's input

  • the sequence \n
    forces a manual line break

  • paragraphs are separated by blank lines

  • $inline LaTeX equation$

  • \( LaTeX equation on its own line \)

  • #s (and only #s) must be quoted in URLs

Blocks

Code block syntax
~~~
{Optionally empty title}{Optionally empty highlight mode}
Code block with monospaced text.
~~~
Information block

Omit the second pair of braces in the first line of the block (or omit the whole first line altogether if you don't want a title) and you will get an information block. All the usual conventions apply in here.

Headings and lists

Headings are defined by starting a line with =.

  • = Heading level 1

  • == Heading level 2, etc.

Lists are defined with - for bulleted lists, . for numbered lists and : for lists of definitions. Here is some code and the resulting list:

- Bullet level one
    -- Bullet level two

. Number level one
    .. Number level two
    .. Number level two (again)

: {jemdoc} light markup
: {asciidoc} a great alternative, but more complicated
  • Bullet level one

    • Bullet level two

  1. Number level one

    1. Number level two

    2. Number level two (again)

jemdoc

light markup

asciidoc

a great alternative, but more complicated

Preventing matches

  • a literal backslash (\) is written \\\\

  • the literal characters /, *, + and ~ and # are written \/, \*, \+, \~ and \# to avoid the above formatting

  • \... avoids an ellipsis

  • -\- avoids an en-dash

  • -\-\- avoids an em-dash

  • \` gives a back-tick (`)

  • \' gives an ordinary single quotation mark (')

  • \" gives an ordinary double quotation mark (")

Other stuff

  • {{html text}} will insert html text directly into the output document without performing any substitutions. (This is for inline escaping; use raw blocks for larger amounts of html.)

  • %quoted tt% is an alias for +{{quoted tt}}+. It's not quite as robust, so use +{{plus signs with double brace blocks}}+ if you run into problems with some characters.

  • {\{text}\} will perform replacements and insert {{text}}.

This page is not exhaustive.

These are some extended syntax options that may come in useful.

Left aligned image blocks

As seen here, for example, left-aligned image blocks place an image and allow ordinary jemdoc marked-up text to flow around the right-hand side.

Left-aligned image block syntax
~~~
{}{img_left}{FILENAME.IMG}{alt text}{WIDTHpx}{HEIGHTpx}{IMGLINKTARGET}
Ordinary jemdoc markup goes here.
~~~

All arguments may be left blank, though you should specify an image filename, and alt text should be descriptive for reasons like those given by Wikipedia.

Raw blocks

When placing large amounts of raw html, you should use a raw block instead of {{inline html escaping}}. As well as cleaner syntax, raw blocks will avoid having <p> tags in the wrong places.

Raw block syntax
~~~
{}{raw}
Any text here will be copied straight to the output file without processing.
~~~

Other character sets

Here's a quick example of how to include text in a language with a different character set.

To include Korean (한국말), use something like this:

{{<span lang="ko" xml:lang="ko">}}한국말{{</span>}}

(Let me know if you need better support for your language.)

Including other files

The line

#include{otherfile.jemdoc}

will include the contents of otherfile.jemdoc as if the contents were actually in the ordinary input file (that is, with full jemdoc substitutions). The line

#includeraw{otherfile.html}

will copy the contents of otherfile.html verbatim to the current position in the output file (that is, without any jemdoc substitutions).