Everything you need to know about Markdown.

Josh Campbell
3 min readFeb 2, 2022

Use Markdown for accessible and reliable software documentation.

Markdown was developed by programmers, John Gruber and Aaron Swartz

What is Markdown?

Markdown (or MD) is a free easy-to-use markup language that can be used to make your programming documentation more organized and interactive. It can be implemented in almost any IDE (integrated development environment) without any heavy installs.

Why is documentation important?

Good documentation can keep a software development team on the right page. It is important because it keeps the team informed, decreases the chances for miscommunication, and every detail of the project is accessible to the team.

In other words, documentation means success for the team and quality for the project/product/application.

Syntax for MD

Basic Formatting

  • Bold/Strong: **Bold**
  • Emphasized/Italic: *Emphasized*
  • Strikethrough : ~~Strikethrough~~
  • Horizontal rules: --- (three hyphens), *** (three asterisks), or ___ (three underscores).

Headings

All heading levels (e.g. H1, H2, etc), are marked by # at the beginning of a line. For example, an H1 is # Heading 1 and an H2 is ## Heading 2. This continues to ###### Heading 6.

Links

Links can be created using several methods:

  • Links can be [inline](https://joshecamp.medium.com/)
  • Inline links can [have a title](https://joshecamp.medium.com/ "Hover text")
  • Also, there can be reference links that allow the URL to be placed later in the document:
  • Here is a [reference link][joshecamp] that links to this site.
  • References are case-insensitive (for example [this link][joshecamp] works).
  • References/Footnotes can also [use numbers][1].
  • Or leave it empty and use the [link text itself].
  • Also, you can use relative links [like this](../blob/master/LICENSE.txt).
  • URLs and URLs in angle brackets will automatically get turned into links: https://joshecamp.medium.com/or <https://joshecamp.medium.com/>.

Images

Images can also be inline or use a reference style, similar to links. Simply prepend an exclamation point to turn the link into an image. For example:

Images with the full URL: ![alt text](https://placebear.com/300/300

Lists (Ordered Lists and Unordered Lists)

Lists are made by using indentation and a beginning-of-line marker to indicate a list item. For example, unordered lists are made like this:

* One item
* Another item
* A sub-item
* A deeper item
* Back in sub-item land
* And back at the main level

Unordered lists can use an asterisk (*), plus (+), or minus (-) to indicate each list item.

Ordered lists use a number at the beginning of the line. The numbers do not need to be incremented — this will happen for you automatically by the HTML. That makes it easier to re-order your ordered lists (in MD) as needed.

Also, ordered and unordered lists can be nested within each other. For example:

* One item
* Another item
1. A nested ordered list
1. This is the second item
* And now an unordered list as its child
* Another item in this list
1. One more in the ordered list
* And back at the main level

Code and Syntax Highlighting

Inline code uses `backticks` around it. Code blocks are either fenced by three backticks (```) or indented four spaces. For example:

```
var foo = 'bar';
function baz(s) {
return foo + ':' + s;
}
```

Blockquotes

Use > to offset text as a blockquote. For example:

> This is some part of a blockquote.
> Some more stuff.

Will produce:

This is some part of a blockquote. Some more stuff.

To access the sample MD file, click here.

Project PYZCES: A personal resource for Python programmers to understand C syntax and C Programmers to understand python syntax by using Markdown and HTML to display the two languages side-by-side.

Sources:

Cone, M. (2017). Markdown cheat sheet. Markdown Guide. Retrieved January 31, 2022, from https://www.markdownguide.org/cheat-sheet/

Thomerson, J. (2017). Convert markdown to HTML. Free Markdown to HTML Converter. Retrieved January 31, 2022, from https://markdowntohtml.com/

--

--

Josh Campbell

Computer Engineering @ UIC. Pursuing a career to become a tech executive in the Midwest creating innovation for the future of technology.