| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Fixes #440. Thanks @jandecaluwe for the bug report.
|
| | |
|
| |
|
|
|
| |
Conflicts:
markdown/__version__.py
|
| |
|
|
|
|
| |
Drppoed the non-greedy quantifier from the end of the inlinePatterns as it
served no useful purpose and was actually (in very rare edge cases) causing
newlines to be dropped. FIxes #439. Thanks to @munificent for the report.
|
| |
|
|
|
| |
Conflicts:
markdown/__version__.py
|
| |
|
|
| |
must stick with coverage<4.0.
|
| |
|
|
|
| |
Conflicts:
tests/extensions/test.cfg
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should fix the remaining corner cases that can cause infinite
loops. Previous iterations did not account for scenarios where the
“end” index was less than the “start” index. If the “end” index is
ever less than or equal to the “start” index, the “end” will be
adjusted to to be “start” + 1 allow the full range to be extracted and
replaced.
Conflicts:
markdown/preprocessors.py
|
| | |
|
| | |
|
| |
|
|
|
| |
Add a restriction that the closing angled quote should not be duplicate,
so that we can use our own pattern for handling duplicate quotes.
|
| | |
|
| |
|
|
|
|
|
| |
That commit caused a regression where `<<` and `>>` inside code
blocks were wrongly replaced with double quotes.
This reverts commit 5029d829c1532f31adc9acbf54d88bb469a69a4f.
|
| |
|
|
|
|
|
| |
Run that processor before inline processor to fix the test failure.
Conflicts:
markdown/extensions/smarty.py
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Conflicts:
markdown/blockprocessors.py
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
The smart_strong extension has been removed and its behavior is now the
default (smart em and smart strong are the default). The legacy_em
extension restores legacy behavior.
This completes the removal of keywords. All parser behavior is now modified
by extensions, not by keywords on the Markdown class.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
If you have existing documents that use the legacy attributes format,
then you should enable the legacy_attrs extension for those documents.
Everyone is encouraged to use the attr_list extension going forward.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
We started with the numbers before HTML5 was a thing and we thought there
might be an XHTML2. Today, we know that all we have are HTML style tags and
XHTML style tags. Nothing else really matters in the real world.
Note that if '(x)html1' '(x)html4' or '(x)html5' are passed in, the number is
stripped/ignored. Users shouldn't need to change their code for this.
|
| | |
|
| |
|
|
|
|
|
| |
Previously, instances of the Markdown class were represented as any one of
'md', 'md_instance', or 'markdown'. This inconsistancy made it diffcult
when developing extensions, or just maintaining the existing code.
Now, all instances are consistantly represented as 'md'.
|
| |
|
|
| |
Use the TOC extension instead.
|
| |
|
|
|
| |
There is no need for this anymore. In the past, most config was using
globals. Today all config is held on the class instance.
|
| | |
|
| |
|
| |
Also pointed shields to the correct repo for Travis-CI and Coveralls.
|
| |
|
|
|
|
|
|
|
|
| |
The 'build' command never should have called 'build_docs'. It can
confuse users:
https://stackoverflow.com/questions/28387828/folders-installed-by-python-markdown
In fact, I have always run 'build_docs' seperately when I actually need to
build the docs. It serves no useful purpose as a subcommand of 'build'.
|
| |
|
|
|
|
|
|
| |
The 'bin/markdown_py' script has been replaced with a 'markdown' entry point
and 'run_tests.py' with a 'mdtests' entry point.
The makefile uses 'python -m markdown.test' rather than 'mdtests' so it can run
even if the package is not installed.
|
| |
|
|
| |
And misc. cleanup from adopting entrypoints for extensions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All previously supported methods of loading an extension given a string
name have now been replaced with entry points. Extension classes must be
registered as entry points in the 'markdown.extensions' group to support
string names. The old module-level 'makeExtension' function is no longer
needed. In fact, multiple extensions could be defined in one module
and still use string names if entry points are defined pointing to
each Extension subclass.
All of the build-in extensions are now registered with names that
mimic their paths (using dot notation). That may change in the future.
It is expected that all extensions will use short names. We may support
both ('extra' & 'markdown.extensions.extra') in the interim.
Also, all extension configs must now be dicts. Support for a list
of tuples has been removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The testing framework can now be used by third party extensions to run local
tests using Python-Markdown's testing framework. All syntax tests are assumed
to be in `cwd/tests/` (where 'cwd' is the current working directory) and its
subdirectories. As previosly, UnitTests use normal discovery methods. Note
that the actual tests themselves are not in the lib, only the framework.
To run tests, from the appropriate directory (the parent dir of `tests/`)
run `python -m markdown.test`.
Note that the HTMLOutput plugin has been removed as I haven't used in in
years.
|
| | |
|
| | |
|