|
@@ -113,20 +113,20 @@ saving the page!) by calling ``str()`` on it:: |
|
|
|
|
|
|
|
|
Likewise, use ``unicode(code)`` in Python 2. |
|
|
Likewise, use ``unicode(code)`` in Python 2. |
|
|
|
|
|
|
|
|
Caveats |
|
|
|
|
|
|
|
|
Limitations |
|
|
|
|
|
----------- |
|
|
While the MediaWiki parser generates HTML, mwparserfromhell acts as an interface to |
|
|
While the MediaWiki parser generates HTML, mwparserfromhell acts as an interface to |
|
|
the source code. mwparserfromhell therefore is unaware of template definitions since |
|
|
the source code. mwparserfromhell therefore is unaware of template definitions since |
|
|
if it would substitute templates with their output you could no longer change the templates. |
|
|
|
|
|
This has several implications: |
|
|
|
|
|
|
|
|
if it would substitute templates with their output you would no longer be working |
|
|
|
|
|
with the source code. This has several implications: |
|
|
|
|
|
|
|
|
* Start and end tags generated by templates aren't recognized e.g. ``<b>foobar{{bold-end}}``. |
|
|
* Start and end tags generated by templates aren't recognized e.g. ``<b>foobar{{bold-end}}``. |
|
|
|
|
|
|
|
|
* Templates adjacent to external links e.g. ``http://example.com{{foo}}`` are |
|
|
* Templates adjacent to external links e.g. ``http://example.com{{foo}}`` are |
|
|
considered part of the link. |
|
|
considered part of the link. |
|
|
|
|
|
|
|
|
* Crossed constructs like ``{{echo|''Hello}}, world!''`` are not supported. |
|
|
|
|
|
We compromise by treating the first node as plain text. |
|
|
|
|
|
|
|
|
* Crossed constructs like ``{{echo|''Hello}}, world!''`` are not supported, |
|
|
|
|
|
the first node is treated as plain text. |
|
|
|
|
|
|
|
|
The current workaround for cases where you are not interested in text |
|
|
The current workaround for cases where you are not interested in text |
|
|
formatting is to pass ``skip_style_tags=True`` to ``mwparserfromhell.parse()``. |
|
|
formatting is to pass ``skip_style_tags=True`` to ``mwparserfromhell.parse()``. |
|
@@ -135,6 +135,17 @@ This has several implications: |
|
|
A future version of mwparserfromhell will include multiple parsing modes to get |
|
|
A future version of mwparserfromhell will include multiple parsing modes to get |
|
|
around this restriction. |
|
|
around this restriction. |
|
|
|
|
|
|
|
|
|
|
|
Configuration unawareness |
|
|
|
|
|
------------------------- |
|
|
|
|
|
|
|
|
|
|
|
* `word-ending links`_ are not supported since the linktrail rules are language-specific. |
|
|
|
|
|
|
|
|
|
|
|
* Localized namespace names aren't recognized, e.g. ``[[File:...]]`` |
|
|
|
|
|
links are treated as regular wikilinks. |
|
|
|
|
|
|
|
|
|
|
|
* Anything that looks like an XML tag is parsed as a tag since, |
|
|
|
|
|
the available tags are extension-dependent. |
|
|
|
|
|
|
|
|
Integration |
|
|
Integration |
|
|
----------- |
|
|
----------- |
|
|
|
|
|
|
|
@@ -178,6 +189,7 @@ Python 3 code (via the API_):: |
|
|
.. _GitHub: https://github.com/earwig/mwparserfromhell |
|
|
.. _GitHub: https://github.com/earwig/mwparserfromhell |
|
|
.. _Python Package Index: http://pypi.python.org |
|
|
.. _Python Package Index: http://pypi.python.org |
|
|
.. _get pip: http://pypi.python.org/pypi/pip |
|
|
.. _get pip: http://pypi.python.org/pypi/pip |
|
|
|
|
|
.. _word-ending links: https://www.mediawiki.org/wiki/Help:Links#linktrail |
|
|
.. _EarwigBot: https://github.com/earwig/earwigbot |
|
|
.. _EarwigBot: https://github.com/earwig/earwigbot |
|
|
.. _Pywikibot: https://www.mediawiki.org/wiki/Manual:Pywikibot |
|
|
.. _Pywikibot: https://www.mediawiki.org/wiki/Manual:Pywikibot |
|
|
.. _API: http://mediawiki.org/wiki/API |
|
|
.. _API: http://mediawiki.org/wiki/API |