| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Python 3.5 reached end-of-life on 2020-09-12 and Python 3.9 was released on 2020-10-05.
|
| |
|
| |
A second function, `slugify_unicode` was added rather than changing the existing function so as to maintain backward compatibility. While an `encoding` parameter was added to the `slugify` function, we can't expect existing third party functions to accept a third parameter. Therefore, the two parameter API was preserved with this change.
|
| |
|
|
|
|
|
|
|
|
| |
The HTML parser has been completely replaced. The new HTML parser is built on Python's html.parser.HTMLParser, which alleviates various bugs and simplifies maintenance of the code.
The md_in_html extension has been rebuilt on the new HTML Parser, which drastically simplifies it. Note that raw HTML elements with a markdown attribute defined are now converted to ElementTree Elements and are rendered by the serializer. Various bugs have been fixed.
Link reference parsing, abbreviation reference parsing and footnote reference parsing has all been moved from preprocessors to blockprocessors, which allows them to be nested within other block level elements. Specifically, this change was necessary to maintain the current behavior in the rebuilt md_in_html extension. A few random edge-case bugs (see the included tests) were resolved in the process.
Closes #595, closes #780, closes #830 and closes #1012.
|
| |
|
|
| |
Closes #1019.
|
| |
|
|
| |
As of richleland/pygments-css@146834e1 the css class was set to `.highlight`.
Closes #1020.
|
| | |
|
| |
|
| |
Fixes #918.
|
| |
|
|
|
| |
Add better logic to admonitions to account for more complex list cases
Fixes #1004
|
| |
|
|
| |
Fixes #897.
|
| |
|
|
| |
Fixes #894.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Ignore empty braces. Braces must contain at least one non-whitepsace
character to be recognized as an attr list.
Attr lists for table cells must be at the end of the cell content and must
be seperated from the content by at least one space. This appears to be
a breaking change. However, it is consistent with the behavior elsewhere.
Fixes #898.
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously, we'd unescape both `>` and `>` to the same
string because we were running the & => & replacement first.
By changing the order of this replacement, we now convert:
`> >` => `> >`
as expected.
Fixes #988.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the Python stack comes within 100 frames of the recursion limit,
then the nesting limit of blockquotes is met. Any remaining text,
including angle brackets, are simply wrapped in a paragraph. To
increasing the nesting depth, increase Python's recursion limit.
However, be aware that each level of recursion will likely result in
multiple frames being added to the Python stack. Therefore, the
recursion depth and nesting depth are not one-to-one.
Performance is an concern here. However, the current solution seems like
a reasonable compromise. It doesn't slow things down too much, but also
avoids Markdown input resulting in an error. This is mostly only a concern
with contrived input anyway. For the average Markdown document, this will
likely never be an issue.
Fixes #799.
|
| |
|
|
|
| |
Document the behavior of single terms and clarify other behaviors.
Addresses #964.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add `language-` prefix to output when syntax highlighting is
disabled for both codehilite and fenced_code extensions.
* Add `lang_prefix` config option to customize the prefix.
* Add a 'pygments' env to tox which runs the tests with Pygments
installed. Pygments is locked to a specific version in the env.
* Updated codehilite to accept any Pygments options.
* Refactor fenced code attributes.
- ID attr is defined on `pre` tag.
- Add support for attr_list extension, which allows setting arbitrary
attributes.
- When syntax highlighting is enabled, any pygments options can
be defined per block in the attr list.
- For backward compatibility, continue to support `hi_lines` outside
of an attr_list. That is the only attr other than lang which is allowed
without the brackets (`{}`) of an attr list. Note that if the brackets
exist, then everything, including lang and hl_lines, must be within
them.
* Resolves #775. Resolves #334. Addresses #652.
|
| |
|
|
|
| |
Resolves issue that can occur with complex emphasis combinations.
Fixes #979
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are too many random arbitrary failures with this check. We still
want the check to run to ensure we don't introduce any new errors.
However, the random errors on external URLs are frustrating, especcially
when a different URL fails on each run. And then when the URL is checked
manually, it is clearly good.
If the tool provided a flag to limit the check to intenral URLs only (it
doesn't), we wouldn't use that anyway because we do want to know when an
extenral URL becomes invalid. Although, I suppose we could do two runs,
one intenral and one external and only allow the external to fail. But
that will have to wait until such a feature is added to the tool or we
find a better tool.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
With `long_description_content_type="text/markdown"` it is now possible
to use Markdown text in the `long_description` meta-data field. Make sure
the latest tools (setuptools, wheel, twine) are installed before deploying.
See https://dustingram.com/articles/2018/03/16/markdown-descriptions-on-pypi/
for details.
|
| |
|
|
|
| |
* The build button/badge in the README now only points to push events so that an unmerged failing PR doesn't cause the build status to show as 'failing.'
* Restrict node setup to checklinks env.
|
| |
|
| |
Point to GitHub workflow action rather than Travis.
|
| |
|
|
|
| |
The latest version of flake8 added some new tests. This cleans up after
them.
|
| |
|
|
| |
Closes #965.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Also clean up dead links.
|
| |
|
|
|
| |
* Move Patterns sections. Fixes #729.
* Rewrite tree processor docs. Fixes #949.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Importing the `pkg_resources` module has high memory and startup time
cost. A recent change in 102e01c already avoided it for loading extensions,
but it's still used for validating that __version__ is correctly formatted.
It is possible to avoid it by installing the `packaging` package, but
that adds a dependency for something quite trivial.
Instead, remove the validation and add tests which check the output is
as expected.
Since `setuptools` is no longer required at runtime, remove it from
`install_required`.
|
| |
|
| |
Also Raise a `KeyError` when attempting to delete a nonexistent key from the extension registry.
|
| | |
|
| |
|
|
| |
This should be more performant. Fixes #942.
|
| |
|
| |
Fixes #931.
|
| |
|
|
|
| |
Not sure how tests didn't get run on this, but it was completely
breaking all tests. This reverts the change.
|
| |
|
|
| |
`util` already provides the regex we need for all placeholders, and we're doing extra work parsing for the explicit union of all of them.
In documents with ~30000 placeholders, I get a ~5x speedup with this change.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixed spellings :
1. shebang
2. identification
Added 'the' before 'said'
Fixed vertical line column size to 79
Fixed failing tests : Removed trailing spaces
|
| | |
|
| |
|
|
| |
Closes #913
|
| | |
|
| |
|
|
| |
Fixes #906.
|
| | |
|
| | |
|
| |
|
| |
Resolves #892.
|
| |
|
|
|
|
|
|
| |
cElementTree is a deprecated alias for ElementTree since Python 3.3.
Also drop the recommendation to import etree from markdown.util,
and deprecate markdown.util.etree.
|