Markdown is the best way to write in plain text but still create complex documents. Unlike more advanced markup languages, HTML or LaTex, for example, Markdown is simple to learn. Though initially made to export to HTML, you can export Markdown to PDF, RTF, and even DOCX depending on the app. There are different apps available for all operating systems. So you can get started today.
Why Plain Text
When you are first learning to use a computer, you are taught to use Word Processors to write. For producing the formatted reports that schools expect, these do a great job. However, Word Processors often rely on proprietary formats and are resource intensive. Not to mention the amount of time that messing with formats wastes.
Markdown allows you to work in plain text, and its syntax is simple enough that your document is still easily readable by humans. Also if you switch platforms or programs, you do not have to spend any time converting your files. You also won’t need to maintain a license for a program you don’t use anymore just to access your old work.
The Simple Stuff
The original Markdown is the most straightforward implementation of the standard. It has a powerful syntax that allows you to quickly do most things you would do in a word processor.
For your first step, how about setting a word to bold or italics. You do this with an asterisk. One is for italics/emphasis and two for bold/strong.
*Plain Text* in Markdown as Italicized Text
**Plain Text** in Markdown as Bold Text
If you prefer, you can also use underscores for the same effect; it is a matter of personal choice.
_Plain Text_ in Markdown as Italicized Text
__Plain Text__ in Markdown as Bold Text
Creating headings for your documents is easy as well. Markdown takes its headings from HTML heading levels, so it is easy to remember. Each # that you have at the start of the line determines what kind of header it is. A single # is H1, and six # is H6.
###This is an H3 Heading in plain text.
This is H3 in Markdown
Lists are another easy to learn part of the syntax. There are two kinds of lists, ordered and unordered. These both descended from HTML. You create an unordered list by using a * followed by a space before each line. Begin each item in an ordered list with a number and a period. You can also use any numbers; they do not even have to be in order.
* Text Item * Text Item * Text Item
This converts to:
- Text Item
- Text Item
- Text Item
1. Text One 2. Text Two 3. Text Three
These items become:
- Text One
- Text Two
- Text Three
The Advanced Stuff
With the basics, you should be able to create simple documents. When creating more complex documents, you need more advanced techniques. In most Word processors, these would be a menu option. Using Markdown instead, you can complete them without lifting your hands off the keyboard.
Adding inline links to your document is very easy. You put the link text inside brackets, and then paste the actual link next to it inside parentheses.
[This is your text that becomes a link](https://thisisyourlink.intext)
Adding images to your document is similarly straightforward. You just leave the brackets empty and put an exclamation point in front of them. If you are writing for the web, you can use the brackets to create Alt Text for your image. There’s no rendered example for this one, but your text should look like the following line.
Also, if you need to use any of these defined Markdown characters in your text, you need to use a backslash in front of them. Some of the characters that need a backslash are asterisks, brackets, and underscores.
There are many reasons why you might want to add some code to your document. However, you do not have to put backslashes in front of every single one of your examples. Instead, you can display code in one of two ways. First, if you want to show code inline with text, you put it between tags.
This is your `<code>
inline code in text</code>`
This is your
<code>in line code in Markdown</code>
If you want to break out your code examples into blocks, you indent your text with a tab, continuing each line that way until you finish your code.
John Gruber originally invented Markdown; he has a thorough breakdown of the syntax. However, it was never a hard standard. It has been implemented in different ways. Though there is an attempt to ratify that standard using something called CommonMark. These implementations are called flavors and add features to the original syntax.
- MultiMarkdown – MultiMarkdown adds more advanced document features like footnotes, citations, and tables. The tables are the most interesting, as you essentially draw a spreadsheet in plain text. Its eponymous editor gives the most support for professional editors. However, many other editors may support specific features.
- CriticMarkup – This is one of the more interesting takes on markdown. There are no new features for document creation. Instead, CriticMarkup adds support for comments and marking text to add or remove. There is support for this flavor already built into some editors.
- Fountain – This is proof that love of Markdown has moved beyond programmers and bloggers. Fountain is an attempt to break screenwriters free from Final Draft (an expensive app required to submit most screenplays). It is a standard for both writers and developers, already in use by many apps.
- GitHub – Made for helping programmers, GitHub’s Markdown implementation adds some cool features. Its programming cred is due to improved code blocks. You use backticks to start and stop your code without having leading spaces. It supports building tasks lists in the same format as Taskpaper. You can mention other users in your comments with the @ symbol. Most importantly, it uses Slack’s text emoji standard.
Apps For Your Platform
- Mac and iOS – Ulysses (Subscription $39.99 Per Year) – Both iOS and the Mac have a multitude of Markdown apps to try. Ulysses stands out from all of them. With a powerful document manager, as well as an array of export options it is excellent for all types of writing. It tweaks Markdown in ways to make it more intuitive when working with your documents.
- Windows – MarkdownPad (Free) – If you are looking for the gold standard for Markdown on Windows, this is it. We have written it up before because it is one of the best tools for the job. You can unlock even more features with the pro version for $15.
- Linux – Retext (Free) – Linux may not have the same breadth of choices as other platforms, but it does have Rextext. The app has a simple UI, so it is easy to get working. However, there are more advanced features you can add as you gain experience.
- Android – iAWriter (Free) – iAWriter is feature-rich Markdown writer. It has a typewriter mode and syncs with Dropbox and Google Drive. There are multiple supported export formats. It also allows you to publish directly to Medium. (Full Disclosure: I do not have an Android phone or tablet. I did use iAWriter on iOS and the Mac for a long time until Ulysses came around.)
- Multiplatform – Write! ($19.95) – If you are a multi-platform warrior and want the same app across all of your platforms, use Write! The app features cloud storage, so your documents are always synced across your machines. We took an in-depth look at the app when it was still in Beta.
- Programmers – Visual Studio Code (Free) – If you do not want another editor, Visual Studio Code has several Markdown plugins. There are hundreds of plugins to tailor your development environment the way you like it. As a result, you can create your documents in the same place you write your code. You can grab Visual Studio Code for Windows, Linux, or Mac.
Don’t pick a markdown editor right away. You can use the text editor that came with your platform to start creating. You can even stick with Microsoft Word if you want. You can then use Gruber’s original web converter to get your HTML or rich text. First of all, play around and get comfortable. This simple approach is going to be the easiest way to start using Markdown. Then as you get more experience with markdown, you can invest in an editor you enjoy. Finally, when you are working with Markdown for all your writing, you can even get fiddly with your style.
What has held you back from trying markdown? Is there a project you feel is perfect for plain text? Is there a better editor for your platform? Let us know the reason that it is better than our picks. Which markdown flavor is your favorite, and what makes it your favorite? Let us know in the comments.