Skip to main content

python-creole is an open-source (GPL) markup converter in pure Python for: creole2html, html2creole, html2ReSt, html2textile

Project description

about

python-creole is a OpenSource (GPL) Python lib for converting markup:

Existing converters:

  • creole markup -> html

  • html -> creole markup

  • reStructuredText -> html (for clean html code)

  • html -> reStructuredText markup (only a subset of reSt supported)

  • html -> textile markup (not completed yet)

python-creole is pure python. No external libs needed.

The creole2html part based on the creole markup parser and emitter from the MoinMoin project by Radomir Dopieralski and Thomas Waldmann.

install

Python packages available on: http://pypi.python.org/pypi/python-creole/

~$ easy_install python-creole

example

creole2html

Convert creole markup to html code:

>>> from creole import creole2html
>>> creole2html("This is **creole //markup//**")
u'<p>This is <strong>creole <i>markup</i></strong></p>\n'

html2creole

Convert html code back into creole markup:

>>> from creole import html2creole
>>> html2creole(u'<p>This is <strong>creole <i>markup</i></strong></p>\n')
u'This is **creole //markup//**'

rest2html

Convert ReStructuredText into clean html code (needs docutils):

>>> from creole.rest2html.clean_writer import rest2html
>>> rest2html(u"A ReSt link to `PyLucid CMS <http://www.pylucid.org>`_ :)")
u'<p>A ReSt link to <a href="http://www.pylucid.org">PyLucid CMS</a> :)</p>\\n'

(more information: rest2html wiki page)

html2rest

Convert html code into ReStructuredText markup:

>>> from creole import html2rest
>>> html2rest(u'<p>This is <strong>ReStructuredText</strong> <em>markup</em>!</p>')
u'This is **ReStructuredText** *markup*!'

html2textile

Convert html code into textile markup

>>> from creole import html2textile
>>> html2textile(u'<p>This is <strong>textile <i>markup</i></strong>!</p>')
u'This is *textile __markup__*!'

See also: http://github.com/jedie/python-creole/blob/master/demo.py

documentation

We store documentation/exmplate into the project wiki:

How to handle unknown html tags in html2creole:

Contributers should take a look at this page:

history

  • v0.7.1

    • Bugfix if docutils are not installed

    • API change: rest2html is now here: from creole.rest2html.clean_writer import rest2html

  • v0.7.0

    • NEW: Add a html2reStructuredText converter (only a subset of reSt supported)

  • v0.6.1

    • Bugfix: separate lines with one space in “wiki style line breaks” mode

  • v0.6

    • NEW: html2textile converter

    • some API changed!

  • v0.5

    • API changed:

      • Html2CreoleEmitter optional argument ‘unknown_emit’ takes now a callable for handle unknown html tags.

      • No macros used as default in creole2html converting.

      • We remove the support for callable macros. Only dict and modules are allowed.

    • remove unknown html tags is default behaviour in html2creole converting.

    • restructure and cleanup sourcecode files.

  • v0.4

    • only emit children of empty tags like div and span (contributed by Eric O’Connell)

    • remove inter wiki links and doesn’t check the protocol

  • v0.3.3

    • Use <tt> when {{{ … }}} is inline and not <pre>, see: PyLucid Forum Thread

    • Bugfix in html2creole: insert newline before new list. TODO: apply to all block tags: issues 16

  • v0.3.2

    • Bugfix for spaces after Headline: issues 15

  • v0.3.1

    • Make argument ‘block_rules’ in Parser() optional

  • v0.3.0

    • creole2html() has the optional parameter ‘blog_line_breaks’ to switch from default blog to wiki line breaks

  • v0.2.8

    • bugfix in setup.py

  • v0.2.7

    • handle obsolete non-closed <br> tag

  • v0.2.6

    • bugfix in setup.py

    • Cleanup DocStrings

    • add unittests

  • v0.2.5

    • creole2html: Bugfix if “–”, “//” etc. stands alone, see also: issues 12

    • Note: bold, italic etc. can’t cross line any more.

  • v0.2.4

    • creole2html: ignore file extensions in image tag

  • v0.2.3

    • html2creole bugfix/enhanced: convert image tag without alt attribute:

      • see also: issues 6

      • Thanks Betz Stefan alias ‘encbladexp’

  • v0.2.2

    • html2creole bugfix: convert <a href="/url/">Search & Destroy</a>

  • v0.2.1

    • html2creole bugfixes in:

      • converting tables: ignore tbody tag and better handling p and a tags in td

      • converting named entity

  • v0.2

    • remove all django template tag stuff: issues 3

    • html code always escaped

  • v0.1.1

    • improve macros stuff, patch by Vitja Makarov: issues 2

  • v0.1.0

Project details


Download files

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

Source Distribution

python-creole-0.7.1.tar.gz (47.5 kB view details)

Uploaded Source

File details

Details for the file python-creole-0.7.1.tar.gz.

File metadata

File hashes

Hashes for python-creole-0.7.1.tar.gz
Algorithm Hash digest
SHA256 116e0f47d0cc519e8b0b0e60c6ab72fc40f53fdd365a51b5ba9d0b5fe7eaf439
MD5 9918e81e5b889c7415d7973318faa118
BLAKE2b-256 c79e16075f513f99f58ee0a2122ddbe87eb4fad1da527ad9cfe0c0e87fd76637

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page