MultiMarkdown-6/templates
2017-07-04 09:23:43 -04:00
..
doxygen.conf.in improve doxygen features 2015-11-12 11:23:28 -05:00
README.md.in UPDATED: Include build status in README 2017-07-04 09:23:43 -04:00
template.c.in CHANGED: Initial public commit 2017-01-18 22:43:15 -05:00
template.h.in CHANGED: Initial public commit 2017-01-18 22:43:15 -05:00
version.h.in CHANGED: Include license and project name information in 'version.h' 2017-01-16 11:52:41 -05:00

## About ##

|            |                           |  
| ---------- | ------------------------- |  
| Title:     | @My_Project_Title@        |  
| Author:    | @My_Project_Author@       |  
| Date:      | @My_Project_Revised_Date@ |  
| Copyright: | @My_Project_Copyright@    |  
| Version:   | @My_Project_Version@      |  

master branch: [![Build Status](https://travis-ci.org/fletcher/MultiMarkdown-6.svg?branch=master)](https://travis-ci.org/fletcher/MultiMarkdown-6)  
develop branch: [![Build Status](https://travis-ci.org/fletcher/MultiMarkdown-6.svg?branch=develop)](https://travis-ci.org/fletcher/MultiMarkdown-6)

## An Announcement! ##

MultiMarkdown v6 is finally here!  It's technically still in "beta" as I would
like to hear back from a few more users to make sure I'm not missing anything,
but it has been subjected to much more rigorous testing than any previous
versions of MultiMarkdown in the past.  If you want more information about
testing, see `DevelopmentNotes`.  It's basically feature complete as a
replacement for MMD v5, and included additional features beyond that.


## Obtaining MultiMarkdown ##

You can download the latest installer for MacOS or Windows at Github:

<https://github.com/fletcher/MultiMarkdown-6/releases>

To build from source, download from Github.  Then:

	make release
	(OR)
	make debug

	cd build
	make

You can optionally test using the test suite:

	ctest


## Differences in the MultiMarkdown Syntax ##

MultiMarkdown v6 is mostly about making a better MMD parser, but it involves a
few changes to the MultiMarkdown syntax itself.

1. Setext headers can consist of more than one line to be included in the
header:

		This is
		a header
		========

2. Whitespace is not allowed between the text brackets and label brackets in
reference links, images, footnotes, etc.  For example `[foo] [bar]` will no
longer be the same as `[foo][bar]`.

3. Link and image titles can be quoted with `'foo'`, `"foo"`, or `(foo)`.
Link attributes can be used in both reference and inline links/images.

4. HTML elements are handled slightly differently.  There is no longer a
`markdown="1"` feature.  Instead, HTML elements that are on a line by
themselves will open an HTML block that will cause the rest of the "paragraph"
to be treated as HTML such that Markdown will not be parsed in side of it.
HTML block-level tags are even "stronger" at starting an HTML block.  It is
not quite as complex as the approach used in CommonMark, but is similar under
most circumstances.  Leaving a blank line after the opening tag will allow
MultiMarkdown parsing inside of the HTML block.

	For example, this would not be parsed:

		<div>
		*foo*
		</div>

	But this would be:

		<div>

		*foo*

		</div>

5. "Malformed" reference link definitions are handled slightly differently.
For example, the test suite file `Reference Footnotes.text` is parsed
differently in compatibility mode than MMD-5.  This started as a side-effect
of the parsing algorithm, but I actually think it makes sense.  This may or
may not change in the future.

6. Table captions in MMD-6 must come immediately *after* the table, not
before it.

7. Escaped linebreaks (`\` preceding a line break) will be interpreted as
`<br />` (even in compatibility mode).  This was previously an optional
feature in MMD, but I don't see a problem with just making it default 
behavior.

8. Escaped spaces (`\ `) will be interpreted as a non-breaking space, if the
output format supports it.

9. CriticMarkup, Abbreviations, Glossary Terms, and Citations are handled
slightly differently.  See the QuickStart guide for more information.

10. Fenced code blocks can use leading/trailing "fences" of 3, 4, or 5
backticks in length.  That should be sufficient for complex documents without
requiring a more complex parser.  If there is no trailing fence, then the
fenced block is considered to go through the end of the document.

11. Emph and Strong parsing is conceptually the same, but the implementation
is different.  It is designed for speed, accuracy, and consistency.  In
general, it seems to handle edge cases much more reliably, but there are still
a couple of situations that I would like to take into account, if possible.
These are not situations that should occur often in "real life."

12. EPUB 3 output is supported without need of any external tools.

13. Internationalization support for HTML phrases, such as "see footnote". See
[Github](https://github.com/fletcher/MultiMarkdown-6/issues/37) for more
information.



## License ##

	@My_Project_License_Indented@