= Guiding Principles of JML = 1. It should be easy to write 2. It should be easy to read 3. It shouldn't try to do anything that's complicated enough to make 1 or 2 hard = Headings = {{{ = Heading = == Sub Heading == === Sub-sub-heading === }}} = Grouping of Words = When you would like to use multiple words and there would be some abiguity, use curly braces to group the words together. In the section on [#{Superscript and Subscript}] you could put more text into the parenthetical with {Curly Braces} = Text = *bold* \italics\ _underline_ -strikethrough- `monospace` {{{ multiline monospace text }}} > block quotes > look just like email, like is natural for writing email > > and you can have nested block quotes, too! == Superscript and Subscript == ^superscript _subscript = Lists = * one thing * another thing * a third thing 1. one thing 2. another thing a. a sub-item * a list with more than one paragraph Note that you have to be careful with indentation. You're doing something hard and JML is designed to make easy things be easy and if you want to get fancier you might have to work. Note that emacs will nicely indent things for you. * the second item in this list Lists may start on the line beginning or not. Definition lists contain a colon delimeter * foo: this is the definition of foo * bar: and this is the definition of bar - you can also use dashes for unordered lists - like this one = Links = [/foo] -> /foo [The example website http://example.com] [link to the Heading section #Heading] [link to the Sub Heading section #{Sub Heading}] Use of links by themselves or accompanied only by "see" in ()s are used to markup the previous word: I have been using `webob_view` (http://k0s.org/hg/webob_view) I like wikipedia (see http://wikipedia.org) Results in: I have been using webob_view Putting links in the text without brackets will result in them being marked up as well: I work for http://www.google.com -> I work for http://www.google.com = Quotes = Quotes should be marked up in HTML, e.g.: He said, "I am tired." results in He said, &lquot;I am tired&rquot; = Symbols = -- becomes an m-dash (except on a line by itself, when it becomes an
) -> becomes a right arrow (similar for left arrow) = Tables = I've decided that doing pretty tables in a markdown language is either ugly or hard. Tables will be CSV, maybe with some magic delimeter (like ==) to denote table beginning and end. If you want better tables, use HTML or a markdown language that supports fancy tables and a damn good editor. = Misc = Two or more dashes on a line by themselves are an
Footnotes are denoted by [1], [2]. Then at the end of the document, these can be annoted. The footnotes themselves must be separated by a `--` or be in a section by themselves. -- [1] a footnote [2] another footnote Often footnotes are like """ blah blah blah1 <...>
""" BUT....you should be able to backline from the foo to the location the footnote is inserted. == Errata: Conversion from various forms of markdown: * http://code.google.com/p/gwtwiki/wiki/HTML2Mediawiki What to do with [sic] italics? (...and strikethrough?) The form as of this writing lists italics as \italics\. However, consider https://en.wikipedia.org/wiki/Italic_type#Substitutes . Forward (v back) slashes are in common use, and jml is supposed to be legible text. Italics and underlines have some overlap: should _ just be used and italic v underline come from context? However, consider book titles. I have also seen '-', e.g. -this is italic- (definitively single dashes, not double/em- dashes). This, however gets in the way of strikethrough...but do we need it? It is a good tag to have for e.g. jml. My current inclination is to use /italics/ vs \italics\. Just switch to the indicated set of slashes. I can't think of a reason (for what I contend canon) where this wouldn't work except for computer usages that should be in `` anyway. -- Text conversion: * pandoc: general markup converter Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. * yodl: Your Own Document Language (Yodl) is a pre-document language http://www.w3.org/Tools/YODL.html * http://www.snake.net/software/troffcvt/ : troff-to-XXX Conversion Software * https://pypi.python.org/pypi/pyth : Python text markup and conversion * SiSU SiSU information Structuring Universe http://www.jus.uio.no/sisu/ * aft: "free form" document preparation system http://www.maplefish.com/todd/aft.html * txt2tags: conversion tool to generating several file formats txt2tags is a document generator written in Python that generates HTML, XHTML, SGML, LaTeX, Lout, man page, Wikipedia, Google Code Wiki, DokuWiki, MoinMoin, Magic Point and PageMaker documents from a plain text file with little marks. * sdf: Simple Document Parser SDF (Simple Document Format) is a freely available document development system which generates high quality outputs in a variety of formats from a single source. The output formats supported include PostScript(tm), PDF, HTML, plain text, POD, man pages, LaTeX, MIF, SGML, Windows(tm) help, RTF, MIMS F6 help and MIMS HTX help. If the idea of specifying documents in a logical manner via a simple markup language sounds appealing, SDF may be useful to you. * xmlto: XML-to-any converter See also: * http://en.wikipedia.org/wiki/Creole_%28markup%29