| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This should avoid any warnings. We use `unsafe_load` because users may
need to pass in actual Python objects. As this is only available from
the CLI, the user has much worse problems if an attacker can use this
as an attach vector.
|
| |
|
|
|
|
| |
Part of the discussion in #798.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
|
| |
|
|
| |
Fixes #793.
|
| |
|
| |
Python is dropping support for PY3.4 on 2019-03-16. Therefore we are dropping support as well. See #760.
|
| |
|
|
| |
Closes #786.
|
| |
|
|
|
| |
Recursively run substitution to handle overlapping matches.
Fixes #458.
|
| |
|
| |
In computing, `whitespace` is a word. See https://en.wikipedia.org/wiki/Whitespace_character.
|
| |
|
|
|
|
| |
All whitespace characters should be treated the same by inline patterns.
Previoulsy, emphasis patterns were only accounting for spaces, but not
other whitepsace characters such as newlines. Fixes #783.
|
| |
|
| |
Document a new label type for issues and PR which include discussions regarding policies and development process. See #760 for an example.
|
| |
|
|
|
| |
Adjust pattern to allow for escaped hashes, but take care to not treat
escaped escapes before hashes as escaped hashes. Close #762.
|
| |
|
| |
Use a vendored Pep562 backport to simulate Python 3.7's new PEP 562 feature. For Python3.7 and later, default to the official implementation.
|
| | |
|
| |
|
| |
This fixes #755
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use "testing" extras_require
This centralized testing requirements and allows for
`pip install -e .[testing]` etc.
pytidylib is kept separate according to
https://github.com/Python-Markdown/markdown/pull/754/files#r233561159.
* Travis: simplify installation of deps
* Travis: use xenial by default, trusty for py34
* Travis: codecov: use flags
* Travis: only install aspell for checkspelling job
* Remove coverage version restriction
|
| | |
|
| | |
|
| |
|
| |
Previously only newlines preceded by whitespace were collapsed. Fixes #742.
|
| | |
|
| |
|
|
| |
This essentially implements the closest we can get to PEP 562 which allows for modules to control `__dir__` and `__getattr__` in order to deprecate attributes. Here we provide a wrapper class for the module in `util`. If a module has attributes that need to deprecated, we derive from the wrapper class and define the attributes as functions with the `property` decorator and the provided `deprecated` decorator. The class is instantiated with the module's `__name__` attribute and the class will properly replace the module with the wrapped module. When accessing the depracted attributes, a warning is raised. Closes #739.
|
| | |
|
| |
|
|
|
| |
Its too easy to forget to update the Markdown version manually in the
docs config. This ensures it is included automatically.
|
| |
|
|
| |
This is the version where setuptools.build_meta was introduced.
|
| |
|
|
|
|
|
|
| |
Update version format to be PEP 440 compliant in preparation for #732.
Add `pyproject.toml` file and configure tox to use it. Define requirement for `setuptools>=36` which validates and normalizes the version format.
|
| | |
|
| |
|
|
| |
Block level elements should be defined per instance, not as base class variables.
|
| |
|
|
|
|
| |
Add a config to set the footnote separator. Also remove rel/rev as they aren't really compatible with HTML5 and we already have classes set for refs and backrefs.
Fixes 723.
|
| |
|
|
|
| |
Fixes #725
|
| | |
|
| |
|
|
| |
Related to #709.
|
| | |
|
| | |
|
| |
|
|
| |
Fixes #712.
|
| |
|
|
| |
... for backward compatibility with older (<3.0) versions.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
New `toc_tokens` attribute on Markdown class.
Contains the raw tokens used to build the Table of Contents. Users can
use this to build their own custom Table of Contents rather than needing
to parse the HTML available on the `toc` attribute of the Markdown
class.
|
| | |
|
| | |
|
| |
|
|
| |
And other docs cleanup.
|
| |
|
|
|
| |
Allows users and/or extensions to alter the list of block level
elements. The old implementation remains with a DeprecationWarning.
Fixes #575.
|
| |
|
|
|
|
| |
In the past, most of the config was defined using globals. Today all of
the config is held on the class instance. Therefore, the `md_globals`
parameter is no longer necessary.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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 (no smart em or smart strong).
This completes the removal of keywords. All parser behavior is now
modified by extensions, not by keywords on the Markdown class.
|
| |
|
|
| |
This was adapted from 11408e50 of the md3 branch.
|
| |
|
| |
This was missed in #683.
|
| |
|
|
|
|
|
|
|
|
| |
Serializer should only escape & in attributes if not part of &
Better regex avoid Unicode and `_` in amp detection.
In general, we don't want to escape already escaped content, but with code content, we want literal representations of escaped content, so have code content explicitly escape its content before placing in AtomicStrings.
Closes #669.
|
| |
|
|
| |
Fixes #435.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, instances of the Markdown class were represented as any one
of 'md', 'md_instance', or 'markdown'. This inconsistency made it
difficult when developing extensions, or just maintaining the existing
code. Now, all instances are consistently represented as 'md'.
The old attributes on class instances still exist, but raise a
DeprecationWarning when accessed. Also on classes where the instance was
optional, the attribute always exists now and is simply None if no
instance was provided (previously the attribute wouldn't exist).
|