1. Will they be able to read the document they wrote years from now with today's application, for example, one version of MS Word to another?
2. Will they be able to read the document they wrote in one program with a different vendor's program, if they want to switch vendors, for example, read an MS Word document in LibreOffice, or Word Perfect?
3. Will they be able to read the document used for one purpose in another program used for another purpose, for example, read a HTML web page in MS Word?
4. Will they be able to reformat a document easily if needed for another project, for example, HTML formatting to make it visible in a browser window?
5. Will a document written with an application in one operating system, Windows, be able to move to another operating system, Linux?
All of these concerns deal with formatting text. You want the finished document to have a special font and bold highlighting, for example. Companies, like Microsoft and Adobe, know this, and have used proprietary formatting for years to keep their customers buying new versions of their products, instead of switching to another vendor's product.
There have been many bridge programs written to go from one formatted document to another, and many application programs have added the ability to read multiple formats to make it easier, mostly to get MS Word documents into their program.
There is one common element in all of these specially formatted programs, the bare text itself. The only changes to the text from one application to another is the way the text is formatted. If this is the case, it seems logical to create a program that will format any text to any format you want, independent of any particular vendor's program, or what the program does.
This may sound logical, but it's harder than you think. How do you tell a document to underline a word, or make a title bold. There has to be some formatting, enter Markdown. Say What?
Markdown is a text formatting conversion program invented by John Gruber. John got tired of writing HTML formatting tags when writing web page content, and wrote Markdown, a Perl based program that takes specially marked text files, and changes them into W3C compliant HTML.
What makes Markdown different than any of these other programs?
John had two goals in mind. Since he had to add some formatting to be able convert the text to HTML, he wanted Markdown text to be easy to write, and easy to read. HTML documents are neither easy to write, nor easy to read. Markdown is both.
Markdown is a free open-source program that first came out in 2004. The open-source community picked up on the program, and has improved the program. Michael Fortin added some additional formatting in PHP Markdown. A WordPress plugin that reads Markdown was created. John MacFarlane rewrote the program in C making it faster. Fletcher Penney wrote MultiMarkdown, a superset of Markdown, that included the above variations, and much more formatting. The constant in these efforts is John Gruber's original Markdown syntax.
I became aware of the program when I was contemplating writing some Kohana 3 documentation, and the Kohana 3 team moved to, and requested, contributors to use Markdown for writing documentation.
The general flow in using the Markdown program is to write your text with Markdown formatting, then run the Markdown program inputting the text file, and out comes a W3C compliant HTML document.
Don't groan when I talk about adding Markdown formatting to your text, we're not talking HTML tags here.
For example, to make a paragraph with Markdown, or MultiMarkdown, you leave a blank line between your paragraphs. How's that for formatting, easy to read and easy to write.
Let's take a look at some more examples of other Markdown formatting.
#This is an <h1> header in HTML
##This is an <h2> header in HTML
###This is an <h3> header
Here's an ordered list
Here's an unordered list
> a block quote
These examples show you the simplicity of the formatting. When you run the above text through the MultiMarkdown program it outputs perfect HTML with opening and closing tags, easy to use and easy to read. As you can see, the syntax is not hard to learn, start with the Markdown syntax, and then move up to MultiMarkdown syntax.
So what is the difference between Markdown and MultiMarkdown? The basic syntax is the same, since MultiMarkdown is a superset of Markdown. Learning the syntax is easy, start with the Markdown syntax, and then move up to MultiMarkdown syntax.
Multimarkdown allows you to output in more formats: XHTML, LaTeX, OpenDocument, OPML, and from these formats you can go to Microsoft Word, and many other word processing formats. MultiMarkdown has additional formatting for footnotes, tables, math support, citations and bibliography, smart typography, table and image captions, and definition lists, which weren't in the original Markdown. Like Markdown it runs on all operating systems.
Why spend the time to load the program on your computer, and learn the basic syntax of MultiMarkdown?
The MultiMarkdown formatting is simplistic compared to the opening and closing tags of HTML, and formatting text using MultiMarkdown is easier to type. Using MultiMarkdown makes formatting text easy, its fast, and makes reading the text after your finished like your reading an unformatted document, plus you can change the finished text to any format you want at a later date. MultiMarkdown makes writing HTML web content a breeze. What's not to like.