Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Creole markup tools written in Python.
Pull request Compare This branch is 1 commit ahead, 210 commits behind jedie:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Python lib for:

 - creole markup -> html

 - html -> creole markup 

 - 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.


Python packages available on:

~$ easy_install python-creole


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

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

See also:


We store documentation/exmplate into the project wiki:


How to handle unknown html tags in html2creole:


Contributers should take a look at this page:



- v0.6

  - *NEW*: html2textile converter
  - some API changed!

- v0.5

  - API changed:

	- Html2CreoleEmitter optinal argument 'unknown_emit' taks 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 doen't check the protocol

- v0.3.3

  - Use <tt> when {{{ ... }}} is inline and not <pre>, see:
  - Bugfix in html2creole: insert newline before new list. TODO: apply to all block tags: 

- v0.3.2

  - Bugfix for spaces after Headline:

- v0.3.1

  - Make argument 'block_rules' in Parser() optional 

- v0.3.0

  - creole2html() has the optinal parameter 'blog_line_breaks' to switch from default blog to wiki line breaks

- v0.2.8

  - bugfix in

- v0.2.7

  - handle obsolete non-closed <br> tag

- v0.2.6

  - bugfix in
  - Cleanup DocStrings
  - add unittests

- v0.2.5

  - creole2html: Bugfix if "--", "//" etc. stands alone, see also:
  - Note: bold, italic etc. can't cross line anymore.

- v0.2.4

  - creole2html: ignore file extensions in image tag
    - see also:

- v0.2.3
  - html2creole bugfix/enhanced: convert image tag without alt attribute:
    - see also:
    - 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:
  - html code always escaped

- v0.1.1

  - improve macros stuff, patch by Vitja Makarov:

- v0.1.0

  - first version cut out from PyLucid CMS -





:flattr this:

Something went wrong with that request. Please try again.