Skip to main content

export a complex Markdown file into a standalone HTML file.

Project description

Super-Markdown
==============

a Python library to export a complex Markdown file into a standalone HTML file.


It will include:

* [Mermaid.js][mermaid.js] to create diagrams with javascript
* [graphviz][graphviz] to create Diagrams in [Dot language][Dot language]
* [Markdown-TOC][TOC] to create Table of Content
* [markdown-checklist][markdown-checklist] to support create Checklists
* [Github Flavoured MarkdownStylesheet][GFM]


Instalation
-----------

### Old School

git clone https://github.com/madeindjs/super-markdown.git
cd super-markdown
python setup.py install

### New School

pip install supermarkdown


Usage
-----

### Command line usage

to export **one markdown file** in one **Html file**

super-markdown -f README.md

to export **many markdown file** in one **Html file**

super-markdown -d /home/alex/markdown_files/


### API usage

#### Hello World

~~~Python
from SuperMarkdown import SuperMarkdown

supermd = SuperMarkdown()
content = "# Hello World\r\n"
content += "[SuperMarkdown](https://github.com/madeindjs/Super-Markdown) is awesome!"

supermd.add_content(text=content)
supermd.export()
~~~




#### Add [Table of Content][TOC]

~~~Python
supermd.add_TOC(text=content)
content = "## Other title\r\n## Other title\r\n###sutitle\r\n## Other title"
supermd.add_content(text=content)
supermd.export()
~~~




#### Add [Dot Graph][Dot language]

~~~Python
dotgraph = """~~~dotgraph
digraph "pet-shop" {
graph [rankdir=LR]
node [shape=plaintext]
edge [arrowhead=vee arrowsize=2]
parrot
dead
parrot -> dead
}
~~~"""
supermd.add_content(text=dotgraph)
supermd.export()
~~~




#### Convert markdown file(s)

##### one file

~~~Python
supermd = SuperMarkdown()
supermd.add_content('/home/alex/markdown_files/a_file.md')
supermd.export()
~~~


##### many files

~~~Python
files = os.listdir('/home/alex/markdown_files/')
supermd = SuperMarkdown()
supermd.add_content(*files)
supermd.export()
~~~


Syntax
------

### Table of content

To create a [Table of content][TOC] you just need to insert `[TOC]`
in your markdown file


### Markdown

[Markdown-Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)


### Mermaid.js

[Mermaid.js Basic Syntax](https://knsv.github.io/mermaid/#flowcharts-basic-syntax)


### Dot Language

[Dot Language Cheatsheet](http://www.graphviz.org/content/dot-language)





Requirements
------------

First you need to install [graphviz](http://www.graphviz.org/Download..php) on
your computer

Then you need to install these python librairy

* [Python-Markdown][Python-Markdown]
* [markdown-checklist][Python-Markdown]
* [graphviz][graphviz]
* [beautifulsoup4](https://pypi.python.org/pypi/beautifulsoup4)

You can do it quickly with this command `pip install -r requirements.txt`


Author
------

[Rousseau Alexandre][madeindjs]

License
-------

[MIT](https://opensource.org/licenses/MIT)


[super-markdown]: https://github.com/madeindjs/Super-Markdown.git

[Python-Markdown]: https://pythonhosted.org/Markdown/
[graphviz]: https://pypi.python.org/pypi/graphviz
[TOC]: https://pythonhosted.org/Markdown/extensions/toc.html
[markdown-checklist]: https://github.com/FND/markdown-checklist
[mermaid.js]: https://github.com/knsv/mermaid
[GFM]: https://gist.github.com/andyferra/2554919
[Dot language]: https://en.wikipedia.org/wiki/DOT_(graph_description_language)

[madeindjs]: https://github.com/madeindjs/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for SuperMarkdown, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size SuperMarkdown-0.2.2.zip (248.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page