Markdown, and what to do with it
- Markdown to HTML: what actually happens to your file — What a Markdown to HTML converter really does to your file — parse to a tree, render tags, sanitise the result, then wrap it in a document
- Share a Markdown file with someone who does not use Markdown — Four honest ways to share a .md file with someone who will not install anything, and what a read-only link should and should not ask of them
- How to open a .md file — A .md file is plain text, which is why double-clicking one opens a code editor — here is how to read it properly on Windows, macOS or Linux.
- Markdown tables that survive conversion — Pipe syntax, the separator row, alignment colons, blank lines and line breaks — why a Markdown table breaks on the way to HTML, and how to fix each case
- Publishing Markdown from a pull request — Render the Markdown a pull request changed, publish each file as a page, and comment the links, so reviewers read the document instead of the diff
- Markdown allows raw HTML, which means it allows scripts — Markdown renderers pass raw HTML straight through, so untrusted input needs a sanitiser: allow-lists, javascript: URLs, DOM clobbering and a CSP
- Code blocks: fences, languages and the backtick problem — Fenced versus indented code, what the language hint really does, how to print a backtick, and why a list item swallows a block
- Release notes people actually read — Decide what belongs in release notes rather than the commit log, group changes by impact, and turn a CHANGELOG.md into a page you can send.
- Converting Markdown from a terminal — Three ways to convert Markdown to HTML from a terminal — a local converter, a Node script and an HTTP API — and what changes once CI runs it
- Which Markdown are you writing? — Original Markdown, CommonMark and GitHub Flavored Markdown are three languages, not one - how to tell which your tool speaks, and what to do when two disagree
- Images and links that still work after you send the file — How Markdown images, relative paths and heading anchors behave once the converted HTML leaves the folder it was written in, and how to fix each one
- Documentation that lives next to the code — Why documentation in the repository stays closer to true, where docs as code breaks down for non-engineers, and what a good README contains
- Rendering Markdown in JavaScript without shipping a hole — marked, markdown-it and the unified pipeline compared, plus the render-then-sanitise pattern that keeps XSS out of the HTML you ship
- Your AI assistant writes Markdown. Your colleagues do not read it. — Why chat assistants answer in Markdown, what breaks when you paste it into email or a document, and the shorter route: save, convert, share
- Turning a folder of Markdown files into one document — Ordering, heading levels, duplicate anchor ids, separators and stray frontmatter — what breaks when you chain a folder of Markdown files into one document
- Line breaks, lists and the other small betrayals — Two spaces, a backslash or a blank line; the indent a nested list needs; loose and tight lists; and how to escape a character that means something
- Rendering Markdown to HTML in Python — The four Python Markdown libraries, the extension flags that catch everyone out, sanitising the HTML with nh3, and a script that converts a directory
- Getting Markdown out of the tool it is trapped in — Export paths out of Notion, Obsidian, Confluence, Google Docs and Word — what each one produces, what it quietly mangles, and what to check after
- When you need Pandoc, and when you do not — Pandoc is the right answer for DOCX, EPUB, citations and typeset PDF, but if all you want is an HTML page, here is what each route costs to set up
- How to judge a Markdown converter in five minutes — A short test document and five checks that tell you what a Markdown to HTML converter's landing page will not: flavour, sanitiser, output, privacy, API