| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now use importlib which means we no longer support Python 2.6.
Also, this refactor properly imports third party extensions which reside
at the root of PYTHONPATH. Previously, either `markdown.extensions.` or
`mdx_` would be appended to any extension name that did not contain a
dot, which required third party extensions to either be in submodules or
use the old `mdx_` naming convention.
This commit is also in preperation for #336. It will now be much easier to
deprecate (and later remove) support for the old ways of handling extension
names.
|
|
|
|
|
|
| |
These couple lines were from an old - no longer used - method of
stashing inlines. There is no need for it today. The if statement would
never evaluate True.
|
|
|
|
|
| |
A couple scenarios with "None" were previously not accounted for.
Also updated tests which guives us 100% for markdown/util.py
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The `--extension_configs` option must point to a YAML or JSON file.
The contents of the file must parse to a Python Dict which will be
passed to the `extension_configs` keyword of the `markdown.Markdown`
class.
Also added tests for all of the CLI option parsing options and updated
documentation.
|
| |
|
| |
|
|
|
|
| |
'https://pythonhosted.org/Markdown/'. The former redirects to the latter anyway. Might as well point to the actual destination.
|
| |
|
| |
|
| |
|
|
|
|
| |
allows to overwrite all substitution strings. Fixed line length in docs.
|
|
|
|
| |
to replace quotes. This makes it possible to use the correct quotes in languages other than English.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #325. All extensions can now accept a dict of configs or
**kwargs, not just a list of tuples. Third party extensions may want
to follow suite. Extensions may only accept keyword arguments
in the future. These changes still need to be documented.
A couple things of note:
The CodeHilite extension previously issued a DeprecationWarning
if the old config key `force_linenos` was used. With thins change,
a KeyError will now be raised.
The `markdown.util.parseBoolValue` function gained a new argument:
`preserve_none` (defaults to False), which when set to True, will
pass None through unaltered (will not convert it to False).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As pointed out in #325, setting up Extension configs is kind of a
mess. Some places pass a list of tuples on initialization, others
a dict. And sometimes they're passed as an arg, othertimes a kwarg.
Addiitonaly, the docs are just as inconsistant.
This refactor addresses all those sinerios with tests included.
The existing extensions still need refactored. But the fact that
their tests still pass means we havn't broken third party extensions
either.
This refactor also introduces a new API, which is the prefered
method going forward. All docs should be updated to match.
Whereas previously one might do:
```python
MyExtension(configs={'key': 'foo', 'otherkey': 'bar'})
```
This can now be done:
```python
MyExtension(key='foo', otherkey='bar')
```
Of course, the old way still works for backward compatability.
But that means the `configs` keyword has special status and cannot
be used for another purpose.
|
|
|
|
| |
The rest should have test cases added.
|
| |
|
|
|
|
| |
See <http://en.wikipedia.org/wiki/Guillemet>.
|
|\
| |
| | |
Python 3.4 and fixes for doctests
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
Make smarty extension work together with attr_list
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #300. When a python module (.../__init__.py) is imported by `__import__`
and the `from_list` argument is a unicode string (as is returned by
rpartition), then an error is raised in Python 2.7. Force conversion to default
string type (byte in 2.7 and unicode in 3) to avoid the error.
For a full explaination, see issue
[300](https://github.com/waylan/Python-Markdown/issues/300).
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Simplified, unified style, added some undocumented options.
NOTE: Footnotes/UNIQUE_IDS stays mostly undocumented
|
|
|
|
|
|
|
|
| |
The previous problem happened because canonicalize() removed the
space from closeClass regexp.
Instead of fixing the function, get rid of it completely. It should
also make module load a bit faster.
|
| |
|
|
|
|
|
|
| |
This was limiting the parser to only 10,000 placeholders (0-9999) per document.
removing this limitation allows longer documents ot be parsered correctly.
Fixes #255.
|
|\ |
|
| |\
| | |
| | | |
tables and attr_list compatibility
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #257 and slightly alters comment parsing behavior.
Unlike self-closing tags, a comment can contain angle brackets between the
opening and closing tags. The greaterthan angle bracket at the end of the
first block should not be mistaken for closing the comment. Need to actually
check for a comment closing tag (`-->`). If one if not found, then the comment
keeps going (to the end of the document if nessecary) just like in HTML.
That last bit is a slight change from previous behavior, but should be
unsurprising as that's how broswers parse html comments. And as far as
I can tell, more implementations follow this behavior than any other. The
ones that don't seem to be all over the place.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current implementation was wrong as it also percent encoded query strings
(which should be plus encoded) and calling urllib.quote on the path (and
urllib.quote_plus on the query string) assumes the url is not already encoded.
What if the document author pasted a url that was already encoded? She probably
did not intend for `%20` to become `%2520`. Or did she? It is now clear to me
why many implementation do nothing to urls. Just pass them though as-is. To bad
if they are not valid HTML. HTML authors have to encodee their own urls, so I
guess markdown authors have to as well.
|
| |
| |
| |
| |
| |
| | |
Leave all other chars prefaced by a backslash alone. Fixes #242.
Not sure why I thought that I needed to add another backslash.
Thanks for the report and the test case @mhubig.
|
| |
| |
| |
| |
| | |
This mostly revolves around old APIs for ElementTree, but includes a few
others as well. Fixes #254. Thanks for the report.
|
|\ \
| | |
| | | |
Add feature for emphasizing some lines in a code block.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
A code blocked headed by “:::python{1,3}” now emphasizes the first and third lines. With fences enabled, ```python{1,3} has the same effect.
|
|/ / |
|
|/ |
|
| |
|