summaryrefslogtreecommitdiff
path: root/markdown
Commit message (Collapse)AuthorAgeFilesLines
* Use pyspelling to check spelling.Waylan Limberg2023-04-0630-348/+341
| | | In addition to checking the spelling in our documentation, we are now also checking the spelling of the README.md and similar files as well as comments in our Python code.
* Bump to version to 3.4.33.4.3Waylan Limberg2023-03-231-1/+1
|
* Bump version to 3.4.23.4.2Waylan Limberg2023-03-221-1/+1
|
* Switch from setup.py to pyproject.toml (#1324)Waylan Limberg2023-03-221-1/+1
|
* Consider <html> a block-level HTML element (#1309)kernc2022-12-022-14/+4
|
* codehilite: Update Pygments URLLetu Ren2022-11-281-1/+1
|
* Improve standalone * and _ parsing.Waylan Limberg2022-11-151-1/+1
| | | | | | | | | | | The `NOT_STRONG_RE` regex matchs 1, 2, or 3 * or _ which are surrounded by white space to prevent them from being parsed as tokens. However, the surrounding white space should not be consumed by the regex, which is why lookhead and lookbehind assertions are used. As `^` cannot be matched in a lookbehind assertion, it is left outside the assertion, but as it is zero length, that should not matter. Tests added and/or updated to cover various edge cases. Fixes #1300.
* docs: Fix a few typosTim Gates2022-07-252-2/+2
| | | | | | | | | | | | | | | | | There are small typos in: - docs/extensions/fenced_code_blocks.md - docs/extensions/meta_data.md - markdown/extensions/codehilite.py - markdown/extensions/footnotes.py - tests/test_legacy.py Fixes: - Should read `delimiters` rather than `deliminators`. - Should read `shebang` rather than `sheband`. - Should read `processing` rather than `proccesing`. - Should read `backslash` rather than `blackslash`. Signed-off-by: Tim Gates <tim.gates@iress.com>
* Bump version to 3.4.13.4.1Waylan Limberg2022-07-151-1/+1
|
* Fix import issue with importlib.utilWaylan Limberg2022-07-151-1/+1
| | | | Fixes #1274.
* Bump version to 3.43.4Waylan Limberg2022-07-151-1/+1
| | | Cleaned up the release notes.
* Move backslash unescaping to treeprocessorWaylan Limberg2022-07-153-6/+36
| | | | | | | | | | By unescaping backslash escapes in a treeprocessor, the text is properly escaped during serialization. Fixes #1131. As it is recognized that various third-party extensions may be calling the old class at `postprocessors.UnescapePostprocessor` the old class remains in the codebase, but has been deprecated and will be removed in a future release. The new class `treeprocessors.UnescapeTreeprocessor` should be used instead.
* fixed some spelling mistakesBastian Venthur2022-06-171-2/+2
|
* Remove redundant lines from PrettifyTreeprocessorId3aFly2022-06-131-2/+0
| | | Lines in 409 and 410 are part of an if-condition-block. However, they are called identically L411 and L412 outside of the if-block anyways. Fixes #1267.
* Remove previously deprecated objectsWaylan Limberg2022-05-278-182/+4
| | | This completely removes all objects which were deprecated in version 3.0 (this change will be included in version 3.4). Given the time that has passed, and the fact that older unmaintained extensions are not likely to support the new minimum Python version, this is little concern about breaking older extensions.
* Update PrettifyTreeprocessor `<pre><code>` handlingfourpoints2022-05-271-2/+5
| | | Fixes #1263.
* Add None check to PrettifyTreeprocessorfourpoints2022-05-251-1/+1
| | | Fixes #1261.
* Drop support for PY36Waylan Limberg2022-05-244-262/+3
| | | | | | | | Python dropped support on 2021-12-23. Our policy (#760) is to drop support on the next point release after Python does. * Remove py36 tests * Test multiple recent versions of pypy * Remove pep562 backport
* Only enumerate extension entry points when requiredAarni Koskela2022-05-242-10/+12
|
* Pass language to Pygments formatter in CodeHiliteLiang-Bo Wang2022-05-181-3/+13
| | | | | | | | * Add an extra option `lang_str` to pass the language of the code block to the specified Pygments formatter. * Include an example custom Pygments formatter in the documentation that includes the language of the code in the output using the new option. Resolves #1255.
* Use `@deprecated` for __setitem__ and __delitem__ of Registry.L2022-05-161-12/+2
|
* Use `@deprecated` for Registry.add()L2022-05-161-6/+1
|
* Support for custom Pygments formatterShrikant Sharat Kandula2022-05-091-2/+14
| | | | | This adds configuration support for using a custom Pygments formatter, either by giving the string name, or a custom formatter class (or callable).
* Support custom CSS class on TOC elementJannis Vajen2022-05-051-1/+5
| | | Closes #1224
* Footnotes improvementsysard2022-05-051-2/+11
| | | | | | | | | | | | | * footnotes: Allow to use backlink title without footnote number - The placeholder '{}' is optional. So a user can choose to include or not the footnote number in the backlink text. - The modification is backward compatible with configurations using the old '%d' placeholder. * footnotes: Allow to use custom superscript text - The addition of a new SUPERSCRIPT_TEXT option allows to specify a placeholder receiving the footnote number for the superscript text.
* Update th/td to use style attributeGaige B Paulsen2022-05-051-3/+16
| | | | | | | | | | This allows better interoperation with CSS style sheets, as the align object on the TH is skipped if the css uses 'text-align: inherit' and the previous 'text-align' is used instead (or the default: left). Added an override to restore the original `align` behavior Moved existing tests to the new test infrastructure Added new tests to test the configuration parameter Updated documentation to document the configuration parameter.
* Bump version to 3.3.73.3.7Waylan Limberg2022-05-051-1/+1
|
* Ensure fenced code attributes are properly escaped.Waylan Limberg2022-05-041-15/+10
| | | Fixes #1247.
* extensions: copy config dict on each highlighted blockGert van Dijk2022-04-181-2/+3
| | | | | | | | | This fixes a bug where any subsequent highlighted block with codehilite would result in the omission of the style setting, because it was popped off the dict. It would then fall back to pygments_style 'default' after the first block. Fixes #1240
* Fix typos and remove trailing spacesKian-Meng Ang2022-04-106-7/+7
|
* [style]: fix various typos in docstrings and commentsFlorian Best2022-03-1814-22/+22
|
* Disallow square brackets in reference link ids.Waylan Limberg2022-01-101-1/+1
| | | | | | We already disallow right square brackets. This also disallows left square brackets, which ensures link references will be less likely to collide with standard links in some weird edge cases. Fixes #1209.
* Bump version to 3.3.63.3.6Waylan Limberg2021-11-171-1/+1
|
* Bump version to 3.3.53.3.5Waylan Limberg2021-11-161-1/+1
|
* Support Python 3.10Waylan Limberg2021-11-161-4/+4
| | | Fixes #1124.
* Ensure <summary> tags are parsed correctly.Waylan Limberg2021-11-032-3/+4
| | | | Fixes #1079.
* Improve email address validation for Automatic LinksCarlos2021-08-111-2/+2
|
* Re-use compiled regex for block level checksHebaruSan2021-08-091-1/+3
|
* Don't process shebangs in codehilite when processing fenced codeIsaac Muse2021-08-042-3/+3
| | | Fixes #1156.
* Better toc detectionCharles de Beauchesne2021-07-271-1/+6
| | | Fixes #1160.
* Remove SO attributions to sidestep licensing greynessJarek Głowacki2021-07-011-9/+12
|
* Fix missing space in CLI option helpjohnthagen2021-06-011-1/+1
|
* Fix cubic ReDoS in fenced code and referencesB. Caller2021-05-072-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two regular expressions were vulerable to Regular Expression Denial of Service (ReDoS). Crafted strings containing a long sequence of spaces could cause Denial of Service by making markdown take a long time to process. This represents a vulnerability when untrusted user input is processed with the markdown package. ReferencesProcessor: https://github.com/Python-Markdown/markdown/blob/4acb949256adc535d6e6cd8/markdown/blockprocessors.py#L559-L563 e.g.: ```python import markdown markdown.markdown('[]:0' + ' ' * 4321 + '0') ``` FencedBlockPreprocessor (requires fenced_code extension): https://github.com/Python-Markdown/markdown/blob/a11431539d08e14b0bd821c/markdown/extensions/fenced_code.py#L43-L54 e.g.: ```python import markdown markdown.markdown('```' + ' ' * 4321, extensions=['fenced_code']) ``` Both regular expressions had cubic worst-case complexity, so doubling the number of spaces made processing take 8 times as long. The cubic behaviour can be seen as follows: ``` $ time python -c "import markdown; markdown.markdown('[]:0' + ' ' * 1000 + '0')" python -c "import markdown; markdown.markdown('[]:0' + ' ' * 1000 + '0')" 1.25s user 0.02s system 99% cpu 1.271 total $ time python -c "import markdown; markdown.markdown('[]:0' + ' ' * 2000 + '0')" python -c "import markdown; markdown.markdown('[]:0' + ' ' * 2000 + '0')" 9.01s user 0.02s system 99% cpu 9.040 total $ time python -c "import markdown; markdown.markdown('[]:0' + ' ' * 4000 + '0')" python -c "import markdown; markdown.markdown('[]:0' + ' ' * 4000 + '0')" 74.86s user 0.27s system 99% cpu 1:15.38 total ``` Both regexes had three `[ ]*` groups separated by optional groups, in effect making the regex `[ ]*[ ]*[ ]*`. Discovered using [regexploit](https://github.com/doyensec/regexploit).
* Fix minor typosMatthieu Bacconnier2021-05-021-6/+6
|
* toc: Do not remove diacritical marks when slugify_unicode is usedDmitry Shachnev2021-03-241-4/+7
| | | | | | | Update the existing test and add a new one to make sure that the behavior of default slugify function has not changed. Fixes #1118.
* Bump version to 3.3.43.3.4Waylan Limberg2021-02-241-1/+1
|
* Ensure permalinks and ankorlinks are not restricted by toc_depthWaylan Limberg2021-02-242-13/+22
| | | | | | | | | | | | This fixes a regression which was introduced with support for toc_depth. Relevant tests have been moved and updated to the new framework. Fixes #1107. The test framework also received an addition. The assertMarkdownRenders method now accepts a new keyword expected_attrs which consists of a dict of attrs and expected values. Each is checked against the attr of the Markdown instance. This was needed to check the value of md.toc and md.toc_tokens in some of the included tests.
* Fix minor grammatical errorTani N-K2021-02-151-1/+1
| | | | Corrected "shorte" to "short"
* Ensure admonition content is detabbed properlyIsaac Muse2021-02-052-11/+17
|
* Preserve text immediately before an admonitionOleh Prypin2020-12-301-0/+2
|