| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The most notable changes are the use of unicode_literals
and absolute_imports. Actually, absolute_imports was the
biggest deal as it gives us relative imports. For the first
time extensions import markdown relative to themselves.
This allows other packages to embed the markdown lib in a
subdir of their project and still be able to use our
extensions.
|
| |
| |
| |
| |
| |
| | |
As we no longer support older python versions, importing
ElementTree is much simpler. The documented way for
extensions to use etree still remains the same.
|
| | |
|
|/
|
|
|
|
| |
Fixes #194. The NAME_RE regex was failing in Python 3.3 with the range
`\u10000-\ueffff`. Also, in Python =< 3.2 the range `\u0300-\u036f` matches
a colon but not in Python 3.3.
|
|
|
|
|
|
|
|
|
| |
Fixes #195. This was getting missed because the HeadrerId extension's
reset method was resetting the IDs to a list. However, some third party
extensions may want to call the unique function and it should work as
documented. Interestingly, the TOC extension was using it and passing in
a list as well. All fixed now. Also added a test of the `unique` function
directly so we shouldn't repeat this in the future.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This appears to have recently been broken with the fixes in #191.
This time I've added tests to prevent future breakage and added
documentation to explain the behavior.
|
|
|
|
| |
clean up code
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #148. The "force_linenos" config setting of the CodeHilite extension has been
marked as Pending Deprecation and a new setting "linenums" has been added to
replace it. See documentation for the [CodeHilite Extension] for an explaination
of the new "linenums" setting. The new setting will honor the old "force_linenos"
if it is set, but it will raise a PendingDeprecationWarning and will likely be
removed in a future version of Python-Markdown.
[CodeHilite Extension]: extensions/codehilite.html
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #183. Finally got this working properly. The key was
using a regex substitution with non-overlapping matches that
removed all whitespace from the begining of *all* blank lines
when normalizing whitespace.
Once I got that, I could simplfy the EmptyBlockProcessor
and easily output one or two blank lines appropriately.
A blank block gets two new lines (`'\n\n'`), while a
block which starts with a newline gets one.
|
|
|
|
|
|
| |
Closes #143. If you would like to continue using
the extension (not recomended), it is archived on
[Github](https://gist.github.com/waylan/4773365).
|
|
|
|
|
| |
If an adminition title is capitalized, the html class on the
div should still be lowercased.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
docs/extensions/index.txt
tests/extensions/test.cfg
|
| |
| |
| |
| |
| | |
Previously they contained colons - and they still do for HTML4 and XHTML.
Fixes #180.
|
| |
| |
| |
| | |
Fixes #184. Also delted some commented out code I missed in previous commit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #150 - at least as much as I'm willing to. This allows whitespace
normalization to be overridable by the extension API. Yes, I realize that most
other processors will also proabably need to be overniriden to work with any
differant whitespace normalization - but I'm okay with that.
As pointed out in #150, some processors have the tab length hardcoded in
regexes. I'm willing to accept a working patch that fixes that - and keeps
the regexes easy to override in a subclass (the provded patch moved them
inside the __init__ method - which is not so easy to override in a subclass)).
However, that is about the only additional change I'm willing to consider for
this issue.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
My previous commit (d5a94c2) broke a few things badly. Unfortunately I failed
to run the complete test suite and didn't catch it. A bad regex was crashing
the test suite. Also cleaned up a few other odds and ends from previous work
on #183. Still loosing a few random empty lines in code blocks though.
I suspect this may also fix #188.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Partial fix for #183. This has the same effect on empty lines in code blocks
as not using the html processor at all (which was eating some of the missing
newlines as reported in issue #183).
By doing `rsplit('\n\n')` the third newline (in each set of three) always ends
up at the end of a block, rather than the begining - which it less of an issue
for the html processor.
Also updated tests to indicate final intended output, although they do not fully
pass yet.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Partial fix for #183. By preserving tabs at the start of empty lines in
code blocks, the parser will retain those empty lines. Still does not work
consistantly if the tab is missing!? Not sure why.
Also added tests.
|
| |
| |
| |
| |
| |
| | |
Partial fix for #183. Some lines are still being lost. When the processors are run, one line is lost. When their calling code is comments out (completely skiped) a line is still lost if more than 3 exist in a row.
Also need to add some tests for this.
|
| |
| |
| |
| |
| |
| | |
Fixes #177. When using both extensions, breaks (`<br>`) must have a linebreak (`\n`) after them before attr_list is run. This patch reorders the treeprocessors so that happens ('attr_list' runs after 'prettify' not before).
Also had to alter headerid extension so it runs after 'prettify' or it would run before 'attr_list' if loaded before 'attr_list' by user.
|
| |
| |
| |
| | |
Fixes #171. While that report provided an example of an unordered list item that started with a colon, any block that starts with a colon and has no siblings before it (paragraph as begining if document, list item, etc) all exhibit this same behavior. Following PHP Markdown Extra's lead, these are not definition items as they have no term before them.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
extensions are used togeather. While this means headerid may alter IDs defined in attr_lists for uniqueness, automaticaly generated ids will not contain unparsed attr_lists. This is the lesser of two evils - and actually generates a more valid output (all IDs will be unique)
|
| |
| |
| |
| | |
crash the serealizer.
|
| |
| |
| |
| |
| | |
Also refactored the version info to force PEP 386 compliance and to avoid
the need to change the version in both the source and setup.py
|
| |
| |
| |
| |
| |
| |
| | |
When in safe_mode, there is no raw html to contain `markdown=1` for
processing, so there is no need to turn on that feature. The symptom
reported in issue #160 appears to be a side effect of commit
a2377e1129331430998de821ed3abf38247edca1.
|
| |\
| | |
| | | |
Fixed pyflakes warnings
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently, the `errors` keyword to encode was added in Python 2.7.
In previous versions, it was just a positional argument. This should
now work in all support versions.
Thanks to @Gamma3000 for assistance in working through this issue.
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This is another try at this problem. The trick is geting code that works
with both Python 2 and Python 3. I think this does it. The only improvment
I can see now is to catch any errors and customize the error message to sugg
that the user set the environment variable PYTHONIOENCODING to the desired
encoding before calling the commandline script.
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
only of an Element - rather than the html which just gets html escaped in the output anyway.
|
| | | |
|
| | |
| | |
| | |
| | | |
placeholder is an Elementtree Element.
|
| |/ |
|
| | |
|
| | |
|
| | |
|