Bang vs markdown-styles

Bang and markdown-styles are both open source static site generators. Bang is written in Python and markdown-styles is written in JavaScript.

Property Bang markdown-styles
Language Python JavaScript
Templates Custom Handlebars
License MIT BSD-3-Clause

Bang benefits

!!Bang!! is a text processor and static website generator that lets you shoot holes through text files!

Bang comprises of an extremely minimalist markup language and a quirky scripting language that can be extended with Python. The Bang processor itself is a short Python script that interprets Bang scripts and processes text files. This allows for variables in text files, as well as encouraging very modular code. The markup language allows you to shoot holes in text files with a double Bang enclosed keyword (eg: !!keyword!!). Keywords are then then filled with a word, line of text, text file, or Python function return value. Bang scripts define the values of keywords, which files will be processed and the order they will be processed in.

markdown-styles benefits

Converts Markdown files to HTML, with over a dozen builtin themes.

Features

  • Includes 15+ ready-made CSS stylesheets for Markdown, see the bottom of the readme for screenshots.
  • Reuse the stylesheets or use the generate-md tool to convert a folder of Markdown files to HTML using one of the built-in layouts or a custom layout.
  • Completely static output is easy to host anywhere.
  • Metadata support: Each file can include additional metadata in a header section, such as the page title and author name which can then be used in the layout.

Layout features

  • Built in support for code syntax highlighting via highlight.js; all layouts include a Github-style code highlighting theme by default.
  • Built in table of contents generation from Markdown headings, fully customizable by replacing the {{> toc}} partial in custom layout.
  • Built in header id and anchor generation for headings written in Markdown; all layouts support revealing the URL via header hover links.
  • Support for custom logic for rendering code blocks via --highlight-*; this can be used to implement custom blocks that render the content of the code block in some interesting way.
  • Automatically detects the document title from the first heading in the Markdown markup.
  • Create your own layout based on an existing layout via --layout with:
    • Full Handlebars support for layouts, helpers and partials
    • Fully customizable table of contents template via the toc partial
    • Support for relative path generation via the {{asset 'path'}} helper