mermaid-filter - Pandoc filter for creating diagrams in mermaid syntax blocks in markdown docs

  •        600

mermaid-filter is a pandoc filter that adds support for mermaid syntax diagrams in markdown. Windows 8.1 - On windows 8.1, mermaid-filter.cmd fails - apparently due to change in how the CMD.exe works for subprocesses? - see this issue thread. You have to edit the globally installed mermaid-filter.cmd located in c:\users\\AppData\Roaming\npm to use ~dp$PATH:0. Unfortunately, you will need to do this each time you install/update mermaid-filter since it overwrites the cmd file.


imgur : ^0.2.0
lodash : ~3.10.1
mermaid : ^7.1.2
mermaid.cli : ^0.4.6
pandoc-filter : ^0.1.3
tmp : 0.0.28



Related Projects

markdown-preview-enhanced - One of the 'BEST' markdown preview extensions for Atom editor!

  •    HTML

Markdown Preview Enhanced is an extension that provides you with many useful functionalities such as automatic scroll sync, math typesetting, mermaid, PlantUML, pandoc, PDF export, code chunk, presentation writer, etc. A lot of its ideas are inspired by Markdown Preview Plus and RStudio Markdown. Feel free to ask questions, post issues, submit pull request, and request new features.

pandoc-crossref - Pandoc filter for cross-references

  •    Haskell

pandoc-crossref is a pandoc filter for numbering figures, equations, tables and cross-references to them. The input file (like can be converted into HTML, LaTeX, PDF, Markdown or other formats.

pandocfilters - A python module for writing pandoc filters, with a collection of examples

  •    Python

or using the --filter (or -F) command-line option. For more on pandoc filters, see the pandoc documentation under --filter and the tutorial on writing filters.

pandoc-templates - Some elementary (xe)tex templates and css files for Pandoc.

  •    CSS

A collection of support files for use with Pandoc, and specifically for helping to turn pandoc markdown files into nice HTML, LaTeX, and PDF output. These files go in your ~/.pandoc/ folder and are designed to work with the style and configuration material provided in latex-custom-kjh, socbibs, and the Emacs Starter Kit for the Social Sciences. The only real dependencies are the latex class and style files in latex-custom-kjh, however. Some Pandoc templates for an article in PDF (vita LaTeX) or HTML. These go in ~/.pandoc/templates. These can be be pointed to directly with the --template= switch as appropriate. The latex.template and xelatex.template depend on the style files in latex-custom-kjh.

pandoc-latex-template - A pandoc LaTeX template to convert markdown files to PDF or LaTeX.

  •    TeX

A clean pandoc LaTeX template to convert your markdown files to PDF or LaTeX. It is designed for lecture notes and exercises with a focus on computer science. The template is compatible with pandoc 2. Install pandoc from You also need to install LaTeX.

Mermaid - Generation of diagram and flowchart from text in a similar manner as markdown

  •    Javascript

Generation of diagrams and flowcharts from text in a similar manner as markdown. Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code? This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript.

Pandoc - Universal markup converter

  •    Haskell

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. Pandoc can read Markdown, CommonMark, PHP Markdown Extra, GitHub-Flavored Markdown, MultiMarkdown, and (subsets of) Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, TWiki markup, TikiWiki markup, Creole 1.0, Haddock markup, OPML, Emacs Org mode, DocBook, JATS, Muse, txt2tags, Vimwiki, EPUB, ODT, and Word docx.

pandoc-templates - Templates for pandoc


Templates for pandoc. If you use custom templates, we recommend forking this repository, so that you can integrate changes to the default templates in future pandoc releases.

academicmarkdown - Academic writing with Markdown

  •    Python

Academic Markdown is a Python module for generating .md, .html, .pdf, .docx, and .odt files from Markdown source. Pandoc is used for most of the heavy lifting, so refer to the Pandoc website for detailed information about writing in Pandoc Markdown. However, Academic Markdown offers some additional functionality that is useful for writing scientific documents, such as integration with Zotero references, and a number of useful Academic Markdown extensions. At present, the main target for Academic Markdown is the OpenSesame documentation site,, although it may in time grow into a more comprehensive and user-friendly tool.

pandoc-ruby - Lightweight Ruby wrapper for Pandoc

  •    Ruby

Lightweight Ruby wrapper for Pandoc

category-theory-programmers - Notes on category theory in the context of (functional) programming


This document contains notes on category theory in the context of (functional) programming. Originally they were lecture notes for a seminar hosted at Centrum Wiskunde & Informatica, the national research centre for mathematics and computer science in the Netherlands. The main reason for compiling these notes is to provide a way to gain familiarity with concepts of category theory (and other branches of mathematics) that apply in a broad sense to the field of functional programming. The notes are written in Markdown, and pandoc is used to generate the document. Running make inside the doc directory should result in an (updated) pdf, granted that pandoc, pandoc-citeproc and a LaTeX environment are installed.

pandoc-starter - Template *.md and Makefiles for getting started with pandoc

  •    TeX

Template *.md and Makefiles for getting started with pandoc

gitit - A wiki using HAppS, pandoc, and git

  •    Haskell

Gitit is a wiki program written in Haskell. It uses Happstack for the web server and pandoc for markup processing. Pages and uploaded files are stored in a git, darcs, or mercurial repository and may be modified either by using the VCS's command-line tools or through the wiki's web interface. By default, pandoc's extended version of markdown is used as a markup language, but reStructuredText, LaTeX, HTML, DocBook, or Emacs Org-mode markup can also be used. Pages can be exported in a number of different formats, including LaTeX, RTF, OpenOffice ODT, and MediaWiki markup. Gitit can be configured to display TeX math (using texmath) and highlighted source code (using highlighting-kate).

patat - Terminal-based presentations using Pandoc

  •    Haskell

patat (Presentations Atop The ANSI Terminal) is a small tool that allows you to show presentations using only an ANSI terminal. It does not require ncurses. You can also find generic linux binaries here:

Pandoc - General Markup Converter

  •    Haskell

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It an convert documents in markdown, reStructuredText, textile, HTML, DocBook, or LaTeX to HTML formats, Word processor formats, PDF and other markup formats. - Pandoc based document editor and converter in your browser.

  •    Haskell is a client-side app that lets you edit, preview and convert between documents written in various markup languages in your browser. Check out on github to view the source code, file issues and contribute.

ReLaXed - Create PDF documents using web technologies

  •    Javascript

ReLaXed creates PDF documents interactively using HTML or Pug (a shorthand for HTML). It allows complex layouts to be defined with CSS and JavaScript, while writing the content in a friendly, minimal syntax close to Markdown or LaTeX. ReLaXed has support for Markdown, LaTeX-style mathematical equations (via MathJax), CSV conversion to HTML tables, plot generation (via Vega-Lite or Chart.js), and diagram generation (via mermaid). Many more features can be added simply by importing an existing JavaScript or CSS framework.

cfilter - Cuckoo Filter implementation in Go, better than Bloom Filters (unmaintained, unfortunately)

  •    Go

Cuckoo filter is a Bloom filter replacement for approximated set-membership queries. Cuckoo filters support adding and removing items dynamically while achieving even higher performance than Bloom filters. For applications that store many items and target moderately low false positive rates, cuckoo filters have lower space overhead than space-optimized Bloom filters. Some possible use-cases that depend on approximated set-membership queries would be databases, caches, routers, and storage systems where it is used to decide if a given item is in a (usually large) set, with some small false positive probability. Alternatively, given it is designed to be a viable replacement to Bloom filters, it can also be used to reduce the space required in probabilistic routing tables, speed longest-prefix matching for IP addresses, improve network state management and monitoring, and encode multicast forwarding information in packets, among many other applications. Cuckoo filters provide the flexibility to add and remove items dynamically. A cuckoo filter is based on cuckoo hashing (and therefore named as cuckoo filter). It is essentially a cuckoo hash table storing each key's fingerprint. Cuckoo hash tables can be highly compact, thus a cuckoo filter could use less space than conventional Bloom filters, for applications that require low false positive rates (< 3%).

EloquentFilter - An Eloquent Way To Filter Laravel Models And Their Relationships

  •    PHP

The default namespace for all filters is App\ModelFilters\ and each Model expects the filter classname to follow the {$ModelName}Filter naming convention regardless of the namespace the model is in. Here is an example of Models and their respective filters based on the default naming convention.

AdguardFilters - AdGuard Ad Blocking Filters

  •    Python

This is the place where we create filters for AdGuard. Every filter represents a set of rules in text format which are used by AdGuard apps and programs to filter advertising and privacy-threatening content (such as banners, pop-ups, trackers etc.). Rules specific for a particular Internet segment (German filter, Russian filter etc.), or serving a specific purpose (Social media filter, Spyware filter etc.) are combined into one list - filter - and can be enabled/disabled all at once. Our filters are being constantly updated. This repository lets anyone draw our attention to anything from a missed ad to a false positive, thus helping us to modify our filters, make them better and keep up-to-date.