Extremely simplified quasi-markdown to HTML parsing, available in both Javascript and Python.
To install the python package:
pip install dumbdown
To install the npm package:
npm install dumbdown
To see the demo: clone this repo, install node modules from package.json
and open demo.html
in your favorite browser. Try typing some text with * and _ characters.
It allows 3 kinds of formatting marks, bold, italic, and > blockquotes but it uses Slack's syntax for these and not Markdown syntax.
Bold text must have *
surrounding it:
For example, *this would be bold*.
Italicized text has _
surrounding it:
And _this would be in italics_.
Bold and italics can be nested within each other:
*bold _bold-italics_*, _italics with some *bold* inside_. *_Nice!_*.
A blockquote is a line starting with >
:
> this is a blockquote
> woo
The Python version provides two functions: to_html
and to_plain
.
>>> from dumbdown import to_html, to_plain
>>> to_html("*This is bold _this is bold ital._*\nThis is on a new line")
'<p><strong>This is bold <i>this is bold ital.</i></strong></p><p>This is on a new line</p>'
>>> to_plain("*This is bold _this is bold ital._*\nThis is on a new line")
'This is bold this is bold ital. This is on a new line'
The Javascript version provides two functions: toHtml
and toPlain
.
>>> import { toHtml, toPlain } from "dumbdown";
>>> toHtml("*This is bold _this is bold ital._*\nThis is on a new line");
'<p><strong>This is bold <i>this is bold ital.</i></strong></p><p>This is on a new line</p>'
>>> toPlain("*This is bold _this is bold ital._*\nThis is on a new line")
'This is bold this is bold ital. This is on a new line'
To test:
pytest
yarn run test
python setup.py sdist bdist_wheel
twine upload dist/*
yarn run build
npm publish