Markdown writing guide
Markdown Basics, GitHub-Flavored Markdown, and Editing Tips
Markdown stays popular because it is readable in plain text, fast to write, and portable across tools. You do not need a heavy editor to create a useful note, tutorial, changelog, or documentation draft. This guide covers the core syntax, where GitHub-flavored Markdown helps, and how to set up a smoother draft-and-preview workflow.
In this guide
What Markdown is good for
Markdown is a lightweight way to mark structure in plain text. Instead of clicking toolbar buttons for every heading, list, or code block, you use simple characters such as #, *, and backticks to describe intent. That makes Markdown especially useful for documentation, README files, project notes, drafts, knowledge bases, and any workflow where portability matters.
One of Markdown's biggest advantages is that the source stays readable even before it is rendered. You can open it in a code editor, send it in version control, or move it between apps without dragging along layout-heavy formatting. That makes it a practical writing format, not just a publishing format.
Core Markdown syntax
The core syntax is intentionally small. Once you learn a few patterns, most documents become fast to draft.
- Headings: use one or more hash symbols at the start of a line.
- Lists: use hyphens or numbers for ordered and unordered lists.
- Links: wrap text in square brackets and the destination in parentheses.
- Emphasis: use single or double asterisks for italic and bold text.
- Code: use backticks for inline code and fenced blocks for larger snippets.
- Blockquotes: use a greater-than sign at the start of the line.
The point is not to memorize every edge case. It is to make common document structure easy enough that the writing stays the focus.
GitHub-flavored Markdown features
Many modern tools support GitHub-flavored Markdown, which extends the basic syntax with extra convenience features. These additions are common enough that they are worth learning if you publish technical or collaborative content.
- Tables: useful for summaries, comparisons, and release notes.
- Task lists: useful when a document doubles as a checklist or plan.
- Fenced code blocks with language labels: useful for readable examples with syntax highlighting.
- Strikethrough and autolinks: useful for updates, revisions, and linking plain URLs.
Good habit:
Keep the document readable as raw text first. Fancy rendering is helpful, but clear structure in the source will save you more time in the long run.
A better draft-and-preview workflow
Practical workflow
- Start with a short outline using headings before you write full paragraphs.
- Draft in plain text without worrying about final polish on the first pass.
- Use live preview to catch broken links, uneven sections, and formatting slips early.
- Add tables, code fences, and task lists only after the main structure is stable.
- Import or paste existing content when you need to clean up a draft from another source.
A live editor is useful because it shortens the feedback loop. You can see whether a list is nesting the way you expect or whether a heading hierarchy reads clearly without switching tools. That matters when you are drafting quickly or editing documentation in short bursts.
Common mistakes to avoid
- Skipping heading hierarchy: jumping from a top-level heading to a deeply nested section can make documents hard to scan.
- Overusing formatting: if everything is bold, nothing stands out.
- Broken code fences: unmatched backticks are a common cause of confusing previews.
- Writing walls of text: Markdown is simple enough that you can and should create clean sections and short lists.
- Assuming every renderer is identical: some Markdown features vary by platform, especially beyond the core syntax.
Because the editor runs locally in the browser, it is also a comfortable place to draft sensitive notes before they are ready for a hosted document system. The point is not to replace full publishing tools, but to make the drafting stage faster and cleaner.