Markdown
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.
- MarkEdit is a MacOS app to edit Markdown files. It is open source.
- SilverBullet is an extensible, open source, personal knowledge management application. Indeed, fundamentally that’s fancy talk for “a note-taking app with links.”. It is also written in Deno + Typescript
- Typora — a minimal markdown reading & writing app is probably the most featureful Markdown editor for Mac.
- Markdeep is a technology for writing plain text documents that will look good in any web browser. It supports diagrams, common styling conventions, and equations as extensions of Markdown syntax.
- Marp is a cross-platform Markdown Presentation Writer. HN discussion
- MedleyText - Take programming notes with style
- MindForger - Thinking Notebook and Markdown IDE
- VNote - A note-taking application that knows programmers and Markdown better — Qt app.
- fabiospampinato/notable: The markdown-based note-taking app that doesn’t suck. — Electron app.
- 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.”
Wrappers
Foliant
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 - A generic Preprocessor (with Pandoc in mind)
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
Markdown to PDF conversion
- yogsototh/mkdocs: No brainer Markdown to HTML and PDF
- Geemili/mdproof: A standalone markdown to PDF converter
- parrt/bookish: A tool that translates augmented markdown into HTML or latex — “a translator that generates HTML using SVG for equations and PDF from native latex equations.” It was created to write this document with 100s of equations — “The Matrix Calculus You Need For Deep Learning”
- vsch/flexmark-java: Java Markdown parser with source level AST. CommonMark 0.28, emulation of: pegdown, kramdown, markdown.pl, MultiMarkdown. With HTML to MD, MD to PDF, MD to DOCX conversion modules.
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
Command line tools
- Automatic citation extraction from URLs - phiresky’s blog (
pandoc-url2cite
)
- mermaid - Generation of diagrams and flowcharts from text in a similar manner as markdown.
- Markdown to Confluence Convertor. TL;DR — Install:
gem install markdown2confluence
and use it:markdown2confluence foo.md
- lunaryorn/mdcat: Cat for markdown
- termbook is a command-line tool and library designed to make
mdbook
documentation executable. “…it is essentially nothing more than an mdbook clone with a custom preprocessor.” - Demobox is a quick & stylish way of getting a demo page up and running for your new react component.
Python One liner:
python3 -m markdown -x markdown.extensions.fenced_code -x markdown.extensions.codehilite index.md > index2.html
Browser tools
- HackMD - Collaborative markdown notes via Data stories
- Markdown Presentations For Developers on GitHub, GitLab and Bitbucket - GitPitch. Typical - GitPitch Slideshow URL https://gitpitch.com/user/repo/branch.
- Remark — “A simple, in-browser, Markdown-driven slideshow tool targeted at people who know their way around HTML and CSS”
- ivanceras/spongedown: Markdown with svg bob support. docs. LIVE
- hiroppy/fusuma: ✍️Make slides with Markdown easily.
- Convert Medium Posts to Markdown — “Make Medium Reable Again”
- blocks.md - Markdown to amazing forms and web pages
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.
- facelessuser/pymdown-extensions: Extensions for Python Markdown; Not using this yet, but looks interesting for learning; Apr 2023.
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!
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
- Bookish is an xml-ish + some markdown format for books and articles that it can convert to HTML and latex; used to generate this article: The Matrix Calculus You Need For Deep Learning and PDF
- iamgio/quarkdown: 🪐 Markdown with superpowers.; Quarkdown demo