Markdown Mastery — Everything You Need for Technical Writing
Markdown is the lingua franca of technical writing. It’s simple enough to write in any editor, yet powerful enough for code, tables, and structured content. This guide covers the full spectrum.
Basic Syntax
You probably know the basics: **bold**, *italic*, # headings, - or * for lists. A few often-forgotten gems:
Strikethrough
Use ~~strikethrough~~ for deprecated outdated information.
Inline code
Wrap with backticks: `code`. For literal backticks, use double backticks: `` ` ``.
Links and images
[link text](https://example.com)

Code Blocks
Fenced code blocks with language tags enable syntax highlighting:
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
def greet(name: str) -> str:
return f"Hello, {name}!"
npm install
npm run build
Tables
GitHub-style tables are widely supported:
| Feature | Supported | Notes |
|---|---|---|
| Headers | Yes | Use --- for alignment |
| Alignment | Yes | :--- left, :---: center |
| Cells | Yes | Pipe ` |
Blockquotes
Blockquotes are great for callouts, testimonials, or highlighting important points.
They can span multiple paragraphs. Just add a
>to each line.
Nested Lists
- First item
- Nested unordered
- Another nested
- Second item
- Indent with 2-4 spaces
- Or a tab
Task Lists
- Completed task
- Another done item
- Pending task
Footnotes
Here’s a sentence with a footnote1. And another reference2.
Horizontal Rules
Use ---, ***, or ___ for a horizontal rule.
Best Practices
- Use blank lines between block elements for consistent rendering
- Add alt text to images for accessibility
- Keep line length under 80-100 characters for diffs
- Use semantic headings — don’t skip levels (h1 → h3)
- Escape special characters when needed:
\*for literal asterisk
Extensions
Many tools support extensions:
- MDX — JSX in Markdown for interactive components
- Admonitions — Custom block syntax for notes and warnings
- Math — LaTeX with
$...$for inline and$$...$$for block - Diagrams — Mermaid, PlantUML for flowcharts
Master these patterns and you’ll write faster, cleaner documentation that renders beautifully everywhere.