Markdown

Markdown and Markdown accessories

Created: by Pradeep Gowda Updated: May 06, 2024 Tagged: markdown

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

Table of Contents

[TOC]

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.

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

PDF conversion

Command line tools

Python One liner:

python3 -m markdown -x markdown.extensions.fenced_code -x markdown.extensions.codehilite index.md > index2.html

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