Package: python-creole
about python-creolepython-creole is a OpenSource (GPL) Python lib for converting markups.
python-creole is pure python. No external libs needed.Compatible Python Versions (seetox.ini):3.9, 3.8, 3.7, 3.6PyPy3Existing converters:creole -> htmlhtml -> creole markupreSt -> html (for clean html code)html -> reStructuredText markup (only a subset of reSt supported)html -> textile markup (not completed yet)The creole2html part based on the creole markup parser and emitter from the MoinMoin project by Radomir Dopieralski and Thomas Waldmann.installPython packages available on:http://pypi.python.org/pypi/python-creole/~$ pip install python-creoleTo setup a virtualenv via Poetry, seeunittestssection below.dependenciesFor the most parts (creole2htmlandhtml2creole) no external libraries are needed.For all functionality (and running the unittests) these modules are needed:docutils(for the ReStructuredText stuff)textile(for html2textile tests)examplecreole2htmlConvert 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'html2creoleConvert 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//**'rest2htmlConvert ReStructuredText into clean html code (needsdocutils):>>> 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)html2restConvert 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*!'html2textileConvert 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.pyImage size additionalYou can pass image width/height in image tags, e.g.:>>> from creole import creole2html
>>> creole_markup="""{{foobar.jpg|image title|90x160}}"""
>>> creole2html(creole_markup)
'<p><img src="foobar.jpg" title="image title" alt="image title" width="90" height="160" /></p>'The third part (90x160) is not in creole standard, you can force astrictmode, e.g.:>>> creole2html(creole_markup, strict=True)
'<p><img src="foobar.jpg" title="image title|90x160" alt="image title|90x160" /></p>'Source code highlighting supportYou can find a example macro which highlight source code thanks to the pygments
library. It is located here:/creole/shared/example_macros.py.
Here is how to use it:>>> from creole import creole2html
>>> from creole.shared.example_macros import code
>>> creole_markup="""<<code ext=".py">>#some code\nprint('coucou')\n<</code>>"""
>>> creole2html(creole_markup, macros={'code': code})commandline interfaceIf you have python-creole installed, you will get these simple CLI scripts:creole2htmlhtml2creolehtml2resthtml2textileHere the--helpoutput fromhtml2creole:$ html2creole --help
usage: html2creole [-h] [-v] [--encoding ENCODING] sourcefile destination

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

positional arguments:
  sourcefile           source file to convert
  destination          Output filename

optional arguments:
  -h, --help           show this help message and exit
  -v, --version        show program's version number and exit
  --encoding ENCODING  Codec for read/write file (default encoding: utf-8)Example to convert a html file into a creole file:$ html2creole foobar.html foobar.creoledocumentationWe store documentation/examples into the project wiki:https://github.com/jedie/python-creole/wikiHow to handle unknown html tags in html2creole:https://github.com/jedie/python-creole/wiki/Unknown-Html-TagsContributers should take a look at this page:https://github.com/jedie/python-creole/wiki/Developer-InfoCreole Markup Cheat Sheet can be found here:http://www.wikicreole.org/wiki/CheatSheetunittests# clone repository (or use your fork):
~$ git clone https://github.com/jedie/python-creole.git
~$ cd python-creole

# install or update poetry:
~/python-creole$ make install-poetry

# install python-creole via poetry:
~/python-creole$ make install

# Run pytest:
~/python-creole$ make pytest

# Run pytest via tox with all environments:
~/python-creole$ make tox

# Run pytest via tox with one Python version:
~/python-creole$ make tox-py38
~/python-creole$ make tox-py37
~/python-creole$ make tox-py36make targetsTo see all make targets, just callmake:~/python-creole$ make
help                 List all commands
install-poetry       install or update poetry
install              install python-creole via poetry
lint                 Run code formatters and linter
fix-code-style       Fix code formatting
tox-listenvs         List all tox test environments
tox                  Run pytest via tox with all environments
tox-py36             Run pytest via tox with *python v3.6*
tox-py37             Run pytest via tox with *python v3.7*
tox-py38             Run pytest via tox with *python v3.8*
tox-py39             Run pytest via tox with *python v3.9*
pytest               Run pytest
update-rst-readme    update README.rst from README.creole
publish              Release new version to PyPiUse creole in READMEWith python-creole you can convert a README on-the-fly from creole into ReStructuredText in setup.py
How to do this, read:https://github.com/jedie/python-creole/wiki/Use-In-SetupNote: In this case you must installdocutils! See above.historydev-compare v1.4.10…masterTBCv1.4.10 - 2021-05-11 -compare v1.4.9…v1.4.10Update some string formatting to f-stringsReplace somejoin()list comprehension with generatorsTest on github actions also under MacOSRemove Travis CI (All tests already running via github actions)v1.4.9 - 2020-11-4 -compare v1.4.8…v1.4.9Add missing classifier for Python 3.9 (Contributed by jugmac00)Update readme testv1.4.8 - 2020-10-17 -compare v1.4.7…v1.4.8Validate generatedREADME.rstwithreadme-rendererv1.4.7 - 2020-10-17 -compare v1.4.6…v1.4.7update_rst_readme()will touchREADME.rstif there are not change (timestamp will not changed in file)Run tests with Python 3.9, too.Some meta updates to project setupv1.4.6 - 2020-02-13 -compare v1.4.5…v1.4.6less restricted dependency specificationv1.4.5 - 2020-02-13 -compare v1.4.4…v1.4.5new:creole.setup_utils.assert_rst_readmefor project setup testsusehttps://github.com/ymyzk/tox-gh-actionson gitlab CIv1.4.4 - 2020-02-07 -compare v1.4.3…v1.4.4Fix #44: Movepoetry-publishtodev-dependenciesand lowerdocutilsrequirement tosome code style updatedAlways update README.rst before publishv1.4.3 - 2020-02-01 -compare v1.4.2…v1.4.3Use newpoetry-publishformake publishv1.4.2 - 2020-02-01 -compare v1.4.1…v1.4.2Update CI configs on github and travisUpdateMakefile: addmake publishandmakeupdate-rst-readmeAdd generatedREADME.rstin repository to fix install problems about missing readmev1.4.1 - 2020-01-19 -compare v1.4.0…v1.4.1Remove Python v2 support codeFix “Undefined substitution referenced” errorcontributed by dforsiFix regression in tests for setup_utilscontributed by jugmac00Fix code style with: autopep8sort imports with isortchange old%-formattedand.format(...)strings into Python 3.6+’sf-stringswith flyntActivate linting in CI pipelinev1.4.0 - 2020-01-19 -compare v1.3.2…v1.4.0modernize project:use poetryAdd aMakefileuse pytest and toxremove Python v2 supportTest with Python v3.6, v3.7 and v3.8v1.3.2 - 2018-02-27 -compare v1.3.1…v1.3.2Adding optional img size to creole2html and html2creole contributed byJohn Dupuyrun tests also with python 3.5 and 3.6v1.3.1 - 2015-08-15 -compare v1.3.0…v1.3.1Bugfix for “Failed building wheel for python-creole”v1.3.0 - 2015-06-02 -compare v1.2.2…v1.3.0Refactory internal file structurerun unittests and doctests with noseRefactor CLI testsskip official support for Python 2.6small code cleanups and fixes.usejson.dumps()instead ofrepr()in some casesv1.2.2 - 2015-04-05 -compare v1.2.1…v1.2.2Bugfix textile unittests if url scheme is unknownmigrate google-code Wiki to github and remove google-code linksv1.2.1 - 2014-09-14 -compare v1.2.0…v1.2.1Use origin PyPi code to check generated reStructuredText in setup.pyUpdate unitest for textile v2.1.8v1.2.0 - 2014-05-15 -compare v1.1.1…v1.2.0NEW: Add<<code>>example macro (Source code highlighting with pygments) - implemented by Julien EnselmeNEW: Add<<toc>>macro to create a table of contents listBugfix for: AttributeError: ‘CreoleParser’ object has no attribute ‘_escaped_char_repl’Bugfix for: AttributeError: ‘CreoleParser’ object has no attribute ‘_escaped_url_repl’API Change: Callable macros will raise a TypeError instead of create a DeprecationWarning (Was removed in v0.5)v1.1.1 - 2013-11-08Bugfix: Setup script exited with error: can’t copy ‘README.creole’: doesn’t exist or not a regular filev1.1.0 - 2013-10-28NEW: Simple commandline interface added.v1.0.7 - 2013-08-07Bugfix in ‘clean reStructuredText html writer’ if docutils => v0.11 used.Bugfix for PyPy 2.1 usagev1.0.6 - 2012-10-15Security fix in rest2html: Disable “file_insertion_enabled” and “raw_enabled” as default.v1.0.5 - 2012-09-03made automatic protocol links more strict: Only whitespace before and at the end are allowed.Bugfix: Don’t allowftp:/broken(Only one slash) to be a link.v1.0.4 - 2012-06-11html2rest: Handle double link/image substitution and raise better error messagesBugfix in unittests (include test README file in python package).  Thanks to Wen Heping for reporting this.v1.0.3 - 2012-06-11Bugfix:AttributeError: 'module' object has no attribute 'interesting_cdata'from HTMLParser patch. Thanks to Wen Heping for reporting this.Fix a bug in get_long_description() ReSt test for Py3k and his unittests.Use Travis CI, too.v1.0.2 - 2012-04-04Fix “AttributeError: ‘NoneType’ object has no attribute ‘parent’” in html2creole.v1.0.1 - 2011-11-16Fix “TypeError: expected string or buffer” in rest2html.Bugfix in exception handling.v1.0.0 - 2011-10-20Change API: Replace ‘parser_kwargs’ and ‘emitter_kwargs’ with separate arguments. (More information onAPI Wiki Page)v0.9.2Turn zip_safe in setup.py on and change unittests API.v0.9.1Many Bugfixes, tested with CPython 2.6, 2.7, 3.2 and PyPy v1.6v0.9.0Add Python v3 support (likehttp://python3porting.com/noconv.htmlstrategy)move unittests into creole/tests/Tested with Python 2.7.1, 3.2 and PyPy v1.6.1 15798ab8cf48 jitv0.8.5Bugfix in html2creole: ignore links without hrefv0.8.4Bugfix in html parser if list tag has attributes:https://code.google.com/p/python-creole/issues/detail?id=19#c4v0.8.3Better error message if given string is not unicode:https://code.google.com/p/python-creole/issues/detail?id=19v0.8.2Bugfix in get_long_description() error handling (local variable ‘long_description_origin’ referenced before assignment)v0.8.1Bugfix for installation under python 2.5Note:setup helperchanged: renameGetLongDescription(...)toget_long_description(...)v0.8New GetLongDescription() helper for setup.py, see:https://github.com/jedie/python-creole/wiki/Use-In-Setupv0.7.3Bugfix in html2rest:table without<th>headernew line after tablecreate reference hyperlinks in table cells intead of embedded urls.Don’t always use raise_unknown_node()Add child content to raise_unknown_node()v0.7.2Activate----to<hr>in html2restUpdate demo.pyv0.7.1Bugfix if docutils are not installedAPI change: rest2html is now here:from creole.rest2html.clean_writer import rest2htmlv0.7.0NEW: Add a html2reStructuredText converter (only a subset of reSt supported)v0.6.1Bugfix: separate lines with one space in “wiki style line breaks” modev0.6NEW: html2textile convertersomeAPI changed!v0.5API 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.4only emit children of empty tags like div and span (contributed by Eric O’Connell)remove inter wiki links and doesn’t check the protocolv0.3.3Use <tt> when {{{ … }}} is inline and not <pre>, see:PyLucid Forum ThreadBugfix in html2creole: insert newline before new list. TODO: apply to all block tags:issues 16v0.3.2Bugfix for spaces after Headline:issues 15v0.3.1Make argument ‘block_rules’ in Parser() optionalv0.3.0creole2html() has the optional parameter ‘blog_line_breaks’ to switch from default blog to wiki line breaksv0.2.8bugfix in setup.pyv0.2.7handle obsolete non-closed <br> tagv0.2.6bugfix in setup.pyCleanup DocStringsadd unittestsv0.2.5creole2html: Bugfix if “–”, “//” etc. stands alone, see also:issues 12Note: bold, italic etc. can’t cross line any more.v0.2.4creole2html: ignore file extensions in image tagsee also:issues 7v0.2.3html2creole bugfix/enhanced: convert image tag without alt attribute:see also:issues 6Thanks Betz Stefan alias ‘encbladexp’v0.2.2html2creole bugfix: convert<ahref="/url/">Search&Destroy</a>v0.2.1html2creole bugfixes in:converting tables: ignore tbody tag and better handling p and a tags in tdconverting named entityv0.2remove all django template tag stuff:issues 3html code always escapedv0.1.1improve macros stuff, patch by Vitja Makarov:issues 2v0.1.0first version cut out fromPyLucid CMSfirst source code was written 27.11.2008:Forum thread (de)Project linksGitHubhttps://github.com/jedie/python-creoleWikihttps://github.com/jedie/python-creole/wikiPyPihttps://pypi.org/project/python-creole/donationpaypal.me/JensDiemerFlattr This!SendBitcoinsto1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6FNote: this file is generated from README.creole2021-05-1116:58:01 with"python-creole"