Why Use plain text (like markdown) to write things? Dr Kieran Healy has a nice website explaining how
The Markdown Guide for the Perplexed
Desktop Tools
I MarkEdit as the default app to open .md files on MacOS. Otherwise it is painful to wait for XCode to open it. MarkEdit is quite fast and nimble. I have also used Typora before for the same thing before.
- Glow terminal based markdown reader.
- markdown-service-tools are a collection of OS X Services designed to make writing Markdown text that much easier.
- PanWriter Markdown editor for macOS, Windows and Linux.
- MarkdownDown -- "Convert any webpage to a clean markdown w/ images downloaded."
Web tools
uselink — Turn any doc into a living, shareable link
Wrappers
Foliant is a all-in-one documentation authoring tool. It lets you produce standalone documents in pdf and docx, as well as websites, from single Markdown source.
Foliant is a higher order tool, which means it uses other programs to do its job. For pdf and docx, it uses Pandoc, for websites it uses MkDocs.
Foliant preprocessors let you include parts of documents in other documents, show and hide content with flags, render diagrams from text, and much more.
Who Is Foliant for?
You'll love Foliant if you:
- need to ship documentation as pdf, docx, and website forms
- want to use Markdown with consistent extension system instead of custome syntax for every new bit of functionality
- like reStructuredText's extensibility and Asciidoc's flexibility, but actually would rather use Markdown
- want a tool that you can actually write custom extensions for without dealing with something as overengineered as Sphinx
- have documentation spread across many repos and want to reuse parts between documents
PP is a text preprocessor designed for Pandoc (and more generally Markdown and reStructuredText).
pp now implements:
- macros
- literate programming
- GraphViz, PlantUML and ditaa diagrams
- Asymptote and R figures
- Bash, Cmd, PowerShell, Python, Lua, Haskell and R scripts
- Mustache
GitHub - drasimwagan/mdv: MDV — a Markdown superset for documents, dashboards, and slides with embedded data and visualizations. HTML + PDF export, live preview, VS Code extension. · GitHub
Markdown to PDF conversion
HTML to Markdown
Show HN: HTML-to-Markdown – convert entire websites to Markdown with Golang/CLI | Hacker News -- a few tools mentioned, like jina.ai
markdown.new - Markdown for Agents | Cloudflare-Powered URL to Markdown
Markdown Styling
ReMarkdown — HTML that looks like Markdown text
Command line tools
Python One liner:
python3 -m markdown -x markdown.extensions.fenced_code -x markdown.extensions.codehilite index.md > index2.html
mq '.h' demo.md
... lists all the h elements ..
Browser tools
Python Markdown
This is intersting to me because i use Python Markdown to render this site, and use many built-in and third party extensions.
Libraries
Mistune for Python
: * claims to be fastest markdown renderer for Python
mistune.markdown('I am using **mistune markdown parser**')
- options are configurable
- contribs
lowdown — simple markdown translator is a Markdown translator producing HTML5 and roff documents in the ms and man formats. Written in C. "Beyond the basic Markdown syntax support, lowdown supports the following Markdown features and extensions: autolinking, fenced code, tables, superscripts, footnotes, disabled inline HTML, “smartypants”, metadata, commonmark (in progress). You can control which parser features are used by using the -d (disable feature) and -e (enable feature) flags."
Gottox/smu: simple markup - markdown like syntax
syntax-tree/mdast: Markdown Abstract Syntax Tree format; see also syntax-tree/unist: Universal Syntax Tree used by unifiedjs
lkesteloot/teamten's markdown parser in Java is very easy to understand how the parsing works. It is a good read!
wernsey/d.awk: An Awk script to generate documentation from Markdown comments in C, C++, Java, JavaScript, C# source code.
Markdown for the component era | MDX MDX allows you to use JSX in your markdown content. You can import components, such as interactive charts or alerts, and embed them within your content. This makes writing long-form content with components a blast. 🚀
Competing mark-up languages
- Shirakumo/markless: An text markup standard focusing on being intuitive and fast to parse.
- bakpakin/bkdoc: Markup format and compiler that can output to different document formats.
- ArchieML --" was created at The New York Times to make it easier to write and edit structured text on deadline that could be rendered in web pages, or more specifically, rendered in interactive graphics.One of the main goals was to make it easy to tag text as data, without having type a lot of special characters."
- eno -- " is a structured, plain-text notation language, related in many ways to its ancestors and relatives JSON, YAML, TOML, ArchieML, StrictYAML, and others. Through its simple syntax and versatile nature it targets a wide audience, both in regards to cultural background as well as technical ability. As a modern foundational technology for file-based content it enables highly productive and reliable application development, and the possibility to create file-based content applications for a wider and more diverse user audience than was previously possible."
- Documenting and Presenting with Pillar Pillar is a markup syntax and associated tools to write and generate documentation and books. (from the Smalltalk world).
- typst Typst A Programmable Markup Language for Typesetting (PDF)
- MyST Markdown - Tools for the future of technical communication - MyST Markdown
- nota
- Quaint is a markup language that you can use to write documents. It is similar to
Markdown, but it is more powerful and more extensible.
- LiaScript "a simple and extendable Markdown-dialect that allows sharing knowledge by creating interactive courses in an Open-Source manner, where anyone can participate and contribute."
- Podlite is a lightweight block-based markup language designed for flexibility and ease of use. podlite+next.js; online playground
- Standoff Markup