While standard Markdown serves as an excellent foundation for content creation, its basic syntax sometimes falls short of meeting complex documentation needs. This is where Markdown flavours come in, offering extended capabilities that address real-world documentation challenges. This guide explores the most widely-used Markdown flavours and their practical applications in technical documentation.
Understanding Markdown flavours
Markdown flavours are extensions of the original Markdown specification that add new syntax features while maintaining backward compatibility. Several prominent flavours have emerged to address specific use cases:
- GitHub Flavoured Markdown (GFM)
- The default flavour used on GitHub, featuring tables, task lists, and automatic URL linking.
- Markdown Extra
- A flavour that adds definition lists, footnotes, and tables with advanced formatting options.
- MultiMarkdown
- An extended flavour supporting metadata, cross-references, and mathematical notation.
Enhanced syntax features
Definition lists
Definition lists provide a semantic way to present term-definition pairs, making them invaluable for glossaries, API documentation, and technical specifications.
Tip
REST
: Representational State Transfer, an architectural style for distributed systems.
API
: Application Programming Interface, a set of rules for software communication.
The HTML output maintains semantic structure:
<dl>
<dt>REST</dt>
<dd>Representational State Transfer, an architectural style for distributed systems.</dd>
<dt>API</dt>
<dd>Application Programming Interface, a set of rules for software communication.</dd>
</dl>
Tables
Tables in extended Markdown support various formatting options and alignment controls, making them ideal for presenting structured data.
Note
Basic table syntax:
| Feature | GFM | Extra | MultiMarkdown |
|:-----------|:---:|:-----:|-------------:|
| Tables | ✓ | ✓ | ✓ |
| Task Lists | ✓ | ✗ | ✗ |
| Footnotes | ✗ | ✓ | ✓ |
Advanced formatting options include:
- Left, centre, and right alignment using colons
- Header row separation with dashes
- Cell spanning (in some implementations)
- Inline formatting within cells
Task lists
GFM introduces task lists, which are particularly useful for project management and documentation of implementation status:
- [x] Basic authentication
- [ ] OAuth integration
- [ ] Rate limiting implementation
Automatic linking
GFM automatically converts URLs and references into clickable links:
Visit https://github.com
Issue #123 needs review
Best practices for extended syntax
- Maintain consistency
- Choose a single Markdown flavour for your project
- Document the chosen flavour in your contributing guidelines
- Use consistent formatting patterns throughout
- Consider compatibility
- Verify renderer support for chosen features
- Provide fallback formatting when necessary
- Test output across different platforms
- Optimise for readability
- Use consistent spacing in tables
- Align definition terms and descriptions
- Include blank lines between different elements
Important
Tools and implementation
Markdown editors
Several editors provide enhanced support for extended Markdown syntax:
- Visual Studio Code with Markdown extensions
- Typora with real-time preview
- StackEdit with collaborative features
Automated formatting
Tools for maintaining consistent Markdown formatting:
# Using Prettier for Markdown formatting
prettier --write "**/*.md"
# Using markdownlint for style checking
markdownlint "**/*.md"
Common use cases
Technical documentation
Extended Markdown syntax excels in technical documentation:
- API reference documentation using definition lists
- Implementation status tracking with task lists
- Feature comparison tables
- Code documentation with fenced code blocks
Content management
Content creators benefit from enhanced formatting options:
- Product documentation with structured layouts
- Knowledge base articles with semantic markup
- Tutorial series with cross-references
- FAQs using definition lists
Further reading and resources
Tip
Tip