Md Markup Cheat Sheet



A notebook is a collection of runnable cells (commands). When you use a notebook, you are primarily developing and running cells.

It's nice to have stumbled upon this cheat sheet. The thing is, it's that on macOS the short cut is CMD+CTRL+SPACE for emoji. But certainly this list useful since github has some emoji that macOS doesn't offer. E.g my favourite. The primary goal of markdown is to allow the text to be as readable as possible in plain text syntax without the addition of tags and other formatting tags. The following markdown cheat sheet provides an overview of the formatting rules available for writing plain text with markdown syntax.

All notebook tasks are supported by UI actions, but you can also perform many tasks using keyboard shortcuts. Toggle the shortcut display by clicking the icon or selecting ? > Shortcuts.

Develop notebooks

This section describes how to develop notebook cells and navigate around a notebook.

In this section:

A notebook has a toolbar that lets you manage the notebook and perform actions within the notebook:

and one or more cells (or commands) that you can run:

At the far right of a cell, the cell actions , contains three menus: Run, Dashboard, and Edit:

— —

and two actions: Hide and Delete .

To add a cell, mouse over a cell at the top or bottom and click the icon, or access the notebook cell menu at the far right, click , and select Add Cell Above or Add Cell Below.

Go to the cell actions menu at the far right and click (Delete).

When you delete a cell, by default a delete confirmation dialog displays. To disable future confirmation dialogs, select the Do not show this again checkbox and click Confirm. You can also toggle the confirmation dialog setting with the Turn on command delete confirmation option in > User Settings > Notebook Settings.

To restore deleted cells, either select Edit > Undo Delete Cells or use the (Z) keyboard shortcut.

Go to the cell actions menu at the far right, click , and select Cut Cell.

You can also use the (X) keyboard shortcut.

To restore deleted cells, either select Edit > Undo Cut Cells or use the (Z) keyboard shortcut.

You can select adjacent notebook cells using Shift + Up or Down for the previous and next cell respectively. Multi-selected cells can be copied, cut, deleted, and pasted.

To select all cells, select Edit > Select All Cells or use the command mode shortcut Cmd+A.

The default language for each cell is shown in a (<language>) link next to the notebook name. In the following notebook, the default language is SQL.

To change the default language:

Md file cheat sheet
  1. Click (<language>) link. The Change Default Language dialog displays.

  2. Select the new language from the Default Language drop-down.

  3. Click Change.

  4. To ensure that existing commands continue to work, commands of the previous default language are automatically prefixed with a language magic command.

You can override the default language by specifying the language magic command %<language> at the beginning of a cell. The supported magic commands are: %python, %r, %scala, and %sql.

Note

When you invoke a language magic command, the command is dispatched to the REPL in the execution context for the notebook. Variables defined in one language (and hence in the REPL for that language) are not available in the REPL of another language. REPLs can share state only through external resources such as files in DBFS or objects in object storage.

Notebooks also support a few auxiliary magic commands:

  • %sh: Allows you to run shell code in your notebook. To fail the cell if the shell command has a non-zero exit status, add the -e option. This command runs only on the Apache Spark driver, and not the workers. To run a shell command on all nodes, use an init script.
  • %fs: Allows you to use dbutils filesystem commands. See Databricks CLI.
  • %md: Allows you to include various types of documentation, including text, images, and mathematical formulas and equations. See the next section.

To include documentation in a notebook you can use the %md magic command to identify Markdown markup. The included Markdown markup is rendered into HTML. For example, this Markdown snippet contains markup for a level-one heading:

It is rendered as a HTML title:

Collapsible headings

Cells that appear after cells containing Markdown headings can be collapsed into the heading cell. The following image shows a level-one heading called Heading 1 with the following two cells collapsed into it.

To expand and collapse headings, click the + and -.

Also see Hide and show cell content.

Link to other notebooks

You can link to other notebooks or folders in Markdown cells using relative paths. Specify the hrefattribute of an anchor tag as the relative path, starting with a $ and then follow the samepattern as in Unix file systems:

Display images

To display images stored in the FileStore, use the syntax:

For example, suppose you have the Databricks logo image file in FileStore:

When you include the following code in a Markdown cell:

the image is rendered in the cell:

Display mathematical equations

Notebooks support KaTeX for displaying mathematical formulas and equations. For example,

renders as:

and

renders as:

Include HTML

You can include HTML in a notebook by using the function displayHTML. See HTML, D3, and SVG in notebooks for an example of how to do this.

Note

The displayHTML iframe is served from the domain databricksusercontent.com and the iframe sandbox includes the allow-same-origin attribute. databricksusercontent.com must be accessible from your browser. If it is currently blocked by your corporate network, it must added to an allow list.

You can have discussions with collaborators using command comments.

To toggle the Comments sidebar, click the Comments button at the top right of a notebook.

To add a comment to a command:

  1. Highlight the command text and click the comment bubble:

  2. Add your comment and click Comment.

To edit, delete, or reply to a comment, click the comment and choose an action.

There are three display options for notebooks:

  • Standard view: results are displayed immediately after code cells
  • Results only: only results are displayed
  • Side-by-side: code and results cells are displayed side by side, with results to the right

Go to the View menu to select your display option.

To show line numbers or command numbers, go to the View menu and select Show line numbers or Show command numbers. Once they’re displayed, you can hide them again from the same menu. You can also enable line numbers with the keyboard shortcut Control+L.

If you enable line or command numbers, Databricks saves your preference and shows them in all of your other notebooks for that browser.

Command numbers above cells link to that specific command. If you click the command number for a cell, it updates your URL to be anchored to that command. If you want to link to a specific command in your notebook, right-click the command number and choose copy link address.

To find and replace text within a notebook, select Edit > Find and Replace. The current match is highlighted in orange and all other matches are highlighted in yellow.

To replace the current match, click Replace. To replace all matches in the notebook, click Replace All.

To move between matches, click the Prev and Next buttons. You can also pressshift+enter and enter to go to the previous and next matches, respectively.

To close the find and replace tool, click or press esc.

You can use Databricks autocomplete to automatically complete code segments as you type them. Databricks supports two types of autocomplete: local and server.

Local autocomplete completes words that are defined in the notebook. Server autocomplete accesses the cluster for defined types, classes, and objects, as well as SQL database and table names. To activate server autocomplete, attach your notebook to a cluster and run all cells that define completable objects.

Important

Server autocomplete in R notebooks is blocked during command execution.

To trigger autocomplete, press Tab after entering a completable object. For example, after you define and run the cells containing the definitions of MyClass and instance, the methods of instance are completable, and a list of valid completions displays when you press Tab.

Type completion and SQL database and table name completion work in the same way.

— —

In Databricks Runtime 7.4 and above, you can display Python docstring hints by pressing Shift+Tab after entering a completable Python object. The docstrings contain the same information as the help() function for an object.

Databricks provides tools that allow you to format SQL code in notebook cells quickly and easily. These tools reduce the effort to keep your code formatted and help to enforce the same coding standards across your notebooks.

You can trigger the formatter in the following ways:

  • Single cells

    • Keyboard shortcut: Press Cmd+Shift+F.

    • Command context menu: Select Format SQL in the command context drop-down menu of a SQL cell. This item is visible only in SQL notebook cells and those with a %sqllanguage magic.

  • Multiple cells

    Select multiple SQL cells and then select Edit > Format SQL Cells. If you select cells of more than one language, only SQL cells are formatted. This includes those that use %sql.

Here’s the first cell in the preceding example after formatting:

To display an automatically generated table of contents, click the arrow at the upper left of the notebook (between the sidebar and the topmost cell). The table of contents is generated from the Markdown headings used in the notebook.

To close the table of contents, click the left-facing arrow.

You can choose to display notebooks in dark mode. To turn dark mode on or off, select View > Notebook Theme and select Light Theme or Dark Theme.

Run notebooks

This section describes how to run one or more notebook cells.

In this section:

The notebook must be attached to a cluster. If the cluster is not running, the cluster is started when you run one or more cells.

In the cell actions menu at the far right, click and select Run Cell, or press shift+enter.

Important

The maximum size for a notebook cell, both contents and output, is 16MB.

For example, try running this Python code snippet that references the predefined sparkvariable.

and then, run some real code:

Note

Notebooks have a number of default settings:

  • When you run a cell, the notebook automatically attaches to a running cluster without prompting.
  • When you press shift+enter, the notebook auto-scrolls to the next cell if the cell is not visible.

To change these settings, select > User Settings > Notebook Settings and configure the respective checkboxes.

To run all cells before or after a cell, go to the cell actions menu at the far right, click , and select Run All Above or Run All Below.

Run All Below includes the cell you are in. Run All Above does not.

To run all the cells in a notebook, select Run All in the notebook toolbar.

Important

Do not do a Run All if steps for mount and unmount are in the same notebook. It could lead to a race condition and possibly corrupt the mount points.

Python notebooks and %python cells in non-Python notebooks support multiple outputs per cell.

This feature requires Databricks Runtime 7.1 or above and can be enabled in Databricks Runtime 7.1-7.3 by setting spark.databricks.workspace.multipleResults.enabledtrue.It is enabled by default in Databricks Runtime 7.4 and above.

Python and Scala notebooks support error highlighting. That is, the line of code thatis throwing the error will be highlighted in the cell. Additionally, if the error output is a stacktrace,the cell in which the error is thrown is displayed in the stacktrace as a link to the cell. You can click this link to jump to the offending code.

Notifications alert you to certain events, such as which command is currently running during Run all cells and which commands are in error state. When your notebook is showing multiple error notifications, the first one will have a link that allows you to clear all notifications.

Notebook notifications are enabled by default. You can disable them under > User Settings > Notebook Settings.

Databricks Advisor automatically analyzes commands every time they are run and displays appropriate advice in the notebooks. The advice notices provide information that can assist you in improving the performance of workloads, reducing costs, and avoiding common mistakes.

View advice

A blue box with a lightbulb icon signals that advice is available for a command. The box displays the number of distinct pieces of advice.

Click the lightbulb to expand the box and view the advice. One or more pieces of advice will become visible.

Click the Learn more link to view documentation providing more information related to the advice.

Click the Don’t show me this again link to hide the piece of advice. The advice of this type will no longer be displayed. This action can be reversed in Notebook Settings.

Click the lightbulb again to collapse the advice box.

Advice settings

Access the Notebook Settings page by selecting > User Settings > Notebook Settings or by clicking the gear icon in the expanded advice box.

Toggle the Turn on Databricks Advisor option to enable or disable advice.

Markup language cheat sheet

The Reset hidden advice link is displayed if one or more types of advice is currently hidden. Click the link to make that advice type visible again.

You can run a notebook from another notebook by using the %run<notebook> magic command. This is roughly equivalent to a :load command in a Scala REPL on your local machine or an import statement in Python. All variables defined in <notebook> become available in your current notebook.

%run must be in a cell by itself, because it runs the entire notebook inline.

Note

You cannot use %run to run a Python file and import the entities defined in that file into a notebook. To import from a Python file you must package the file into a Python library, create a Databricks library from that Python library, and install the library into the cluster you use to run your notebook.

Example

Suppose you have notebookA and notebookB. notebookA contains a cell that has the following Python code:

Even though you did not define x in notebookB, you can access x in notebookB after you run %runnotebookA.

To specify a relative path, preface it with ./ or ../. For example, if notebookA and notebookB are in the same directory, you can alternatively run them from a relative path.

For more complex interactions between notebooks, see Notebook workflows.

Manage notebook state and results

Cheat

After you attach a notebook to a cluster and run one or more cells, your notebook has state and displays results. This section describes how to manage notebook state and results.

In this section:

To clear the notebook state and results, click Clear in the notebook toolbar and select the action:

By default downloading results is enabled. To toggle this setting, see Manage the ability to download results from notebooks. If downloading results is disabled, the button is not visible.

You can download a cell result that contains tabular output to your local machine. Click the button at the bottom of a cell.

A CSV file named export.csv is downloaded to your default download directory.

Download full results

By default Databricks returns 1000 rows of a DataFrame. When there are more than 1000 rows, a down arrow is added to the button. To download all the results of a query:

  1. Click the down arrow next to and select Download full results.

  2. Select Re-execute and download.

    After you download full results, a CSV file named export.csv is downloaded to your local machine and the /databricks-results folder has a generated folder containing full the query results.

Cell content consists of cell code and the result of running the cell. You can hide and show the cell code and result using the cell actions menu at the top right of the cell.

To hide cell code:

  • Click and select Hide Code

To hide and show the cell result, do any of the following:

  • Click and select Hide Result
  • Select
  • Type Esc > Shift + o

To show hidden cell code or results, click the Show links:

See also Collapsible headings.

Notebook isolation refers to the visibility of variables and classes between notebooks. Databricks supports two types of isolation:

  • Variable and class isolation
  • Spark session isolation

Note

Since all notebooks attached to the same cluster execute on the same cluster VMs, even with Spark session isolation enabled there is no guaranteed user isolation within a cluster.

Variable and class isolation

Variables and classes are available only in the current notebook. For example, two notebooks attached to the same cluster can define variables and classes with the same name, but these objects are distinct.

To define a class that is visible to all notebooks attached to the same cluster, define the class in a package cell. Then you can access the class by using its fully qualified name, which is the same as accessing a class in an attached Scala or Java library.

Spark session isolation

Md Markup Cheat Sheet

Every notebook attached to a cluster running Apache Spark 2.0.0 and above has a pre-defined variable called spark that represents a SparkSession. SparkSession is the entry point for using Spark APIs as well as setting runtime configurations.

Spark session isolation is enabled by default. You can also use global temporary views to share temporary views across notebooks. See Create View or CREATE VIEW. To disable Spark session isolation, set spark.databricks.session.share to true in the Spark configuration.

Important

Setting spark.databricks.session.share true breaks the monitoring used by both streaming notebook cells and streaming jobs. Specifically:

  • The graphs in streaming cells are not displayed.
  • Jobs do not block as long as a stream is running (they just finish “successfully”, stopping the stream).
  • Streams in jobs are not monitored for termination. Instead you must manually call awaitTermination().
  • Calling the display function on streaming DataFrames doesn’t work.

Cells that trigger commands in other languages (that is, cells using %scala, %python, %r, and %sql) and cells that include other notebooks (that is, cells using %run) are part of the current notebook. Thus, these cells are in the same session as other notebook cells. By contrast, a notebook workflow runs a notebook with an isolated SparkSession, which means temporary views defined in such a notebook are not visible in other notebooks.

Version control

Databricks has basic version control for notebooks. You can perform the following actions on revisions: add comments, restore and delete revisions, and clear revision history.

To access notebook revisions, click Revision History at the top right of the notebook toolbar.

In this section:

To add a comment to the latest revision:

  1. Click the revision.

  2. Click the Save now link.

  3. In the Save Notebook Revision dialog, enter a comment.

  4. Click Save. The notebook revision is saved with the entered comment.

To restore a revision:

  1. Click the revision.

  2. Click Restore this revision.

  3. Click Confirm. The selected revision becomes the latest revision of the notebook.

To delete a notebook’s revision entry:

  1. Click the revision.

  2. Click the trash icon .

  3. Click Yes, erase. The selected revision is deleted from the notebook’s revision history.

To clear a notebook’s revision history:

  1. Select File > Clear Revision History.

  2. Click Yes, clear. The notebook revision history is cleared.

    Warning

    Once cleared, the revision history is not recoverable.

Note

To sync your work in Databricks with a remote Git repository, Databricks recommends using Repos for Git integration.

Databricks also integrates with these Git-based version control tools:

What is Markdown?

Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages.

Using Markdown is different than using a WYSIWYG editor. In an application like Microsoft Word, you click buttons to format words and phrases, and the changes are visible immediately. Markdown isn’t like that. When you create a Markdown-formatted file, you add Markdown syntax to the text to indicate which words and phrases should look different.

For instance, to denote a heading, you add a number sign before it (e.g., # Heading One). Or to make a phrase bold, you add two asterisks before and after it (e.g., **this text is bold**). It may take a while to get used to seeing Markdown syntax in your text, especially if you’re accustomed to WYSIWYG applications. The screenshot below shows a Markdown file displayed in the Atom text editor.

You can add Markdown formatting elements to a plaintext file using a text editor application. Or you can use one of the many Markdown applications for macOS, Windows, Linux, iOS, and Android operating systems. There are also several web-based applications specifically designed for writing in Markdown.

Depending on the application you use, you may not be able to preview the formatted document in real time. But that’s okay. According to Gruber, Markdown syntax is designed to be readable and unobtrusive, so the text in Markdown files can be read even if it isn’t rendered.

The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

Why Use Markdown?

You might be wondering why people use Markdown instead of a WYSIWYG editor. Why write with Markdown when you can press buttons in an interface to format your text? As it turns out, there are a couple different reasons why people use Markdown instead of WYSIWYG editors.

  • Markdown can be used for everything. People use it to create websites, documents, notes, books, presentations, email messages, and technical documentation.

  • Markdown is portable. Files containing Markdown-formatted text can be opened using virtually any application. If you decide you don’t like the Markdown application you’re currently using, you can import your Markdown files into another Markdown application. That’s in stark contrast to word processing applications like Microsoft Word that lock your content into a proprietary file format.

  • Markdown is platform independent. You can create Markdown-formatted text on any device running any operating system.

  • Markdown is future proof. Even if the application you’re using stops working at some point in the future, you’ll still be able to read your Markdown-formatted text using a text editing application. This is an important consideration when it comes to books, university theses, and other milestone documents that need to be preserved indefinitely.

  • Markdown is everywhere. Websites like Reddit and GitHub support Markdown, and lots of desktop and web-based applications support it.

Kicking the Tires

The best way to get started with Markdown is to use it. That’s easier than ever before thanks to a variety of free tools.

You don’t even need to download anything. There are several online Markdown editors that you can use to try writing in Markdown. Dillinger is one of the best online Markdown editors. Just open the site and start typing in the left pane. A preview of the rendered document appears in the right pane.

You’ll probably want to keep the Dillinger website open as you read through this guide. That way you can try the syntax as you learn about it. After you’ve become familiar with Markdown, you may want to use a Markdown application that can be installed on your desktop computer or mobile device.

How Does it Work?

Dillinger makes writing in Markdown easy because it hides the stuff happening behind the scenes, but it’s worth exploring how the process works in general.

When you write in Markdown, the text is stored in a plaintext file that has an .md or .markdown extension. But then what? How is your Markdown-formatted file converted into HTML or a print-ready document?

The short answer is that you need a Markdown application capable of processing the Markdown file. There are lots of applications available — everything from simple scripts to desktop applications that look like Microsoft Word. Despite their visual differences, all of the applications do the same thing. Like Dillinger, they all convert Markdown-formatted text to HTML so it can be displayed in web browsers.

Markdown applications use something called a Markdown processor (also commonly referred to as a “parser” or an “implementation”) to take the Markdown-formatted text and output it to HTML format. At that point, your document can be viewed in a web browser or combined with a style sheet and printed. You can see a visual representation of this process below.

Note: The Markdown application and processor are two separate components. For the sake of brevity, I've combined them into one element ('Markdown App') in the figure below.

Md Markup Cheat Sheet Pdf

To summarize, this is a four-part process:

  1. Create a Markdown file using a text editor or a dedicated Markdown application. The file should have an .md or .markdown extension.
  2. Open the Markdown file in a Markdown application.
  3. Use the Markdown application to convert the Markdown file to an HTML document.
  4. View the HTML file in a web browser or use the Markdown application to convert it to another file format, like PDF.

From your perspective, the process will vary somewhat depending on the application you use. For example, Dillinger essentially combines steps 1-3 into a single, seamless interface — all you have to do is type in the left pane and the rendered output magically appears in the right pane. But if you use other tools, like a text editor with a static website generator, you’ll find that the process is much more visible.

What’s Markdown Good For?

Markdown is a fast and easy way to take notes, create content for a website, and produce print-ready documents.

It doesn’t take long to learn the Markdown syntax, and once you know how to use it, you can write using Markdown just about everywhere. Most people use Markdown to create content for the web, but Markdown is good for formatting everything from email messages to grocery lists.

Here are some examples of what you can do with Markdown.

Websites

Markdown was designed for the web, so it should come as no surprise that there are plenty of applications specifically designed for creating website content.

If you’re looking for the simplest possible way to create a website with Markdown files, check out blot.im and smallvictori.es. After you sign up for one of these services, they create a Dropbox folder on your computer. Just drag and drop your Markdown files into the folder and — poof! — they’re on your website. It couldn’t be easier.

If you’re familiar with HTML, CSS, and version control, check out Jekyll, a popular static site generator that takes Markdown files and builds an HTML website. One advantage to this approach is that GitHub Pages provides free hosting for Jekyll-generated websites. If Jekyll isn’t your cup of tea, just pick one of the many other static site generators available.

Note: I used Jekyll to create the Markdown Guide. You can view the source code on GitHub.

If you’d like to use a content management system (CMS) to power your website, take a look at Ghost. It’s a free and open-source blogging platform with a nice Markdown editor. If you’re a WordPress user, you’ll be happy to know there’s Markdown support for websites hosted on WordPress.com. Self-hosted WordPress sites can use the Jetpack plugin.

Documents

Markdown doesn’t have all the bells and whistles of word processors like Microsoft Word, but it’s good enough for creating basic documents like assignments and letters. You can use a Markdown document authoring application to create and export Markdown-formatted documents to PDF or HTML file format. The PDF part is key, because once you have a PDF document, you can do anything with it — print it, email it, or upload it to a website.

Here are some Markdown document authoring applications I recommend:

  • Mac:MacDown, iA Writer, or Marked
  • iOS / Android:iA Writer
  • Windows:ghostwriter or Markdown Monster
  • Linux:ReText or ghostwriter
  • Web:Dillinger or StackEdit
Tip:iA Writer provides templates for previewing, printing, and exporting Markdown-formatted documents. For example, the 'Academic – MLA Style' template indents paragraphs and adds double sentence spacing.

Notes

In nearly every way, Markdown is the ideal syntax for taking notes. Sadly, Evernote and OneNote, two of the most popular note applications, don’t currently support Markdown. The good news is that several other note applications do support Markdown:

  • Simplenote is a free, barebones note-taking application available for every platform.
  • Notable is a note-taking application that runs on a variety of platforms.
  • Bear is an Evernote-like application available for Mac and iOS devices. It doesn’t exclusively use Markdown by default, but you can enable Markdown compatibility mode.
  • Boostnote bills itself as an “open source note-taking app designed for programmers.”

If you can’t part with Evernote, check out Marxico, a subscription-based Markdown editor for Evernote, or use Markdown Here with the Evernote website.

Books

Looking to self-publish a novel? Try Leanpub, a service that takes your Markdown-formatted files and turns them into an electronic book. Leanpub outputs your book in PDF, EPUB, and MOBI file format. If you’d like to create paperback copies of your book, you can upload the PDF file to another service such as Kindle Direct Publishing. To learn more about writing and self-publishing a book using Markdown, read this blog post.

Presentations

Believe it or not, you can generate presentations from Markdown-formatted files. Creating presentations in Markdown takes a little getting used to, but once you get the hang of it, it’s a lot faster and easier than using an application like PowerPoint or Keynote. Remark (GitHub project) is a popular browser-based Markdown slideshow tool, as are Cleaver (GitHub project) and Marp (GitHub project). If you use a Mac and would prefer to use an application, check out Deckset, Hyperdeck, or Marked.

Email

If you send a lot of email and you’re tired of the formatting controls available on most email provider websites, you’ll be happy to learn there’s an easy way to write email messages using Markdown. Markdown Here is a free and open-source browser extension that converts Markdown-formatted text into HTML that’s ready to send.

Collaboration

Collaboration and team messaging applications are a popular way of communicating with coworkers and friends at work and home. These applications don’t utilize all of Markdown’s features, but the features they do provide are fairly useful. For example, the ability to bold and italicize text without using the WYSIWYG interface is pretty handy. Slack, Discord, and Mattermost are all good collaboration applications.

Documentation

Markdown is a natural fit for technical documentation. Companies like GitHub are increasingly switching to Markdown for their documentation — check out their blog post about how they migrated their Markdown-formatted documentation to Jekyll. If you write documentation for a product or service, take a look at these handy tools:

  • Read the Docs can generate a documentation website from your open source Markdown files. Just connect your GitHub repository to their service and push — Read the Docs does the rest. They also have a service for commercial entities.
  • MkDocs is a fast and simple static site generator that’s geared towards building project documentation. Documentation source files are written in Markdown and configured with a single YAML configuration file. MkDocs has several built in themes, including a port of the Read the Docs documentation theme for use with MkDocs. One of the newest themes is MkDocs Material.
  • Docusaurus is a static site generator designed exclusively for creating documentation websites. It supports translations, search, and versioning.
  • VuePress is a static site generator powered by Vue and optimized for writing technical documentation.
  • Jekyll was mentioned earlier in the section on websites, but it’s also a good option for generating a documentation website from Markdown files. If you go this route, be sure to check out the Jekyll documentation theme.

Flavors of Markdown

One of the most confusing aspects of using Markdown is that practically every Markdown application implements a slightly different version of Markdown. These variants of Markdown are commonly referred to as flavors. It’s your job to master whatever flavor of Markdown your application has implemented.

To wrap your head around the concept of Markdown flavors, it might help to think of them as language dialects. People in Ciudad Juárez speak Spanish just like the people in Barcelona, but there are substantial differences between the dialects used in both cities. The same is true for people using different Markdown applications. Using Dillinger to write with Markdown is a vastly different experience than using Ulysses.

Practically speaking, this means you never know exactly what a company means when they say they support “Markdown.” Are they talking about only the basic syntax elements, or all of the basic and extended syntax elements combined, or some arbitrary combination of syntax elements? You won’t know until you read the documentation or start using the application.

If you’re just starting out, the best advice I can give you is to pick a Markdown application with good Markdown support. That’ll go a long way towards maintaining the portability of your Markdown files. You might want to store and use your Markdown files in other applications, and to do that you need to start with an application that provides good support. You can use the tool directory to find an application that fits the bill.

Additional Resources

There are lots of resources you can use to learn Markdown. Here are some other introductory resources:

  • John Gruber’s Markdown documentation. The original guide written by the creator of Markdown.
  • Markdown Tutorial. An open source website that allows you to try Markdown in your web browser.
  • Awesome Markdown. A list of Markdown tools and learning resources.
  • Typesetting Markdown. A multi-part series that describes an ecosystem for typesetting Markdown documents using pandoc and ConTeXt.
Take your Markdown skills to the next level.

Learn Markdown in 60 pages. Designed for both novices and experts, The Markdown Guide book is a comprehensive reference that has everything you need to get started and master Markdown syntax.

Get the Book
Want to learn more Markdown?

Don't stop now! 😎 Star the GitHub repository and then enter your email address below to receive new Markdown tutorials via email. No spam!