aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Simplify output_formats to html and xhtml.Waylan Limberg2018-01-254-34/+11
| | | | | | | | | | | 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.
* Flexible inline (#629)Isaac Muse2018-01-1716-184/+785
| | | | Add new InlineProcessor class that handles inline processing much better and allows for more flexibility. This adds new InlineProcessors that no longer utilize unnecessary pretext and posttext captures. New class can accept the buffer that is being worked on and manually process the text without regex and return new replacement bounds. This helps us to handle links in a better way and handle nested brackets and logic that is too much for regular expression. The refactor also allows image links to have links/paths with spaces like links. Ref #551, #613, #590, #161.
* Fix 'IndentationError' in release-2.6 documentraimon2018-01-151-2/+2
|
* Remove deprecated support for Extension args.Waylan Limberg2018-01-1317-73/+45
| | | | | | | | In the past Markdown used to pass extension config settings to the Extension class via a positional argument named `config`. That was deprecated in 2.6 in favor of using keyword arguments (`**kwargs`). Support has been completely dropped. Only keyword arguments are accepted.
* Improve test coverage.Waylan Limberg2018-01-1321-56/+79
|
* Correct spelling mistakes.Edward Betts2018-01-1321-25/+25
|
* docs: Remove references to header_id.md page.Dmitry Shachnev2018-01-125-9/+3
| | | | | | | The page was removed along with the extension in 1127013. Also ensure any future MkDocs warnings cause the build to fail in the tests so we don't introduce similar errors in the future.
* Refactor Extension loading (#627)Waylan Limberg2018-01-1227-291/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecated naming support is removed: * Removed special treatment for modules in `markdown.extensions` * Removed support for `mdx_` prefixes. Support for Entry Point names added: Support for "short names" are now implemented with entry points. Therefore all the users who call extension names as `toc` will not get errors as the builtin extensions all have entry points defined which match the old "short names" for modules in `markdown.extensions`. The benefit is that any extension can offer the same support without requiring the user to manually copy a file to that location on the file system (way to many extension authors have included such instructions in their installation documentation). The one odd thing about this is that we have been issuing a DeprecationWarning for short names and now they are fully supported again. But I think it's the right thing to do. Support for using dot notation is not removed. After all, it was never deprecated. And we shouldn't "force" entry points. There are plenty of reasons why users may not want that and not all of them can be resolved by using class instances instead. All of the following ways to load an extension are valid: # Class instance from markdown.extensions.toc import TocExtension markdown.markdown(src, extensions=[TocExtension()] # Entry point name markdown.markdown(src, extensions=['toc']) # Dot notation with class markdown.markdown(src, extensions=['markdown.extensions.toc:TocExtension']) # Dot notation without class markdown.markdown(src, extensions=['markdown.extensions.toc'])
* Removed some Py2.4-2.6 specific code.Waylan Limberg2018-01-112-21/+2
|
* Removed deprecated HeaderId Extension.Waylan Limberg2018-01-114-283/+0
| | | | Use the TOC extension instead.
* Removed deprecated safe_mode.Waylan Limberg2018-01-1132-741/+29
|
* Removed support for deprecated config in ext name.Waylan Limberg2018-01-112-26/+2
|
* Removed deprecated support for positional args.Waylan Limberg2018-01-112-37/+9
|
* Moved core to core.pyWaylan Limberg2018-01-114-514/+535
| | | | | | __version__ is now in __init__.py (as is should be) and the core is defined in core.py. Other than version, __init__.py is just a dummy which imports the pieces we make public.
* Document the new test tools.Waylan Limberg2018-01-085-140/+178
|
* Switch from nose to unittestWaylan Limberg2018-01-0819-593/+342
| | | | | | | | | | | | | | | All file-based tests are now defined as unittest test cases via a metaclass which walks a directory and builds a unittest for each pair of test files. To run the tests just run `python -m unittest discover tests`. Or use tox as the tox config has been updated to run the new tests and all nose specific code has been removed. The test generator tools have been removed as well. If any changes or additions need to be made to tests, they should be implemented using the new framework rather than with the file-based tests. Eventually, only the PHP and pl tests should remain as file-based tests.
* Provide new testing framework.Waylan Limberg2018-01-087-0/+1349
| | | | | | | | | | | | | | | | | | As a part of the Markdown lib, test tools can be used by third party extensions. Also keeps test dir clean as it only contains actual tests. More work in this vein to come as the need for Nose is removed. Tests are defined as Unittests rather than in text files allowing features to be more easily broken into units and run individually. Based completely on standard lib unittest with no external dependencies. Use `python -m unittest tests.test_syntax` to run. Pulled some tests from https://github.com/karlcow/markdown-testsuite. Many more test units to pull from that source. As we encounter the need to edit an existing textfile-based test, or add a new test, a new test should be created with this framework and the old test should be deleted. Also need to delete existing testfile-based tests which are covered in the new tests included here.
* Include MkDocs config in dist.Waylan Limberg2018-01-082-0/+4
| | | | Fixes #621.
* Version to 3.0.devWaylan Limberg2018-01-082-2/+2
| | | | | Development of version 3.0 starts here. Any bugfixes that should be applied to 2.x should be backported to the 2.6 branch.
* Up version to 2.6.11 (#620)2.6.11Waylan Limberg2018-01-043-2/+6
|
* Fix raw html reference issue (#585)Isaac Muse2018-01-045-1/+203
| | | | | | | | | | | | | | Preserve the line which a reference was on to prevent raw HTML indexing issue. Fixes #584. Prevent raw HTML parsing issue in abbr and footnotes Peserve abbreviation line when stripping and preserve a line for each footnote block. Footnotes should also accumulate the extraneous padding. Test extra lines at the end of references Strip the gathered extraneous whitespace When processing footnotes, we don't actually care to process the extra whitespace at the end of a footnote, but we want it to calculate lines to preserve.
* Avoid DeprecationWarnings for etreeWaylan Limberg2018-01-042-5/+5
| | | | Fixes #618.
* Warnings should cause tests to fail.Waylan Limberg2018-01-041-0/+7
|
* Make sure regex patterns are raw strings (#614)Isaac Muse2018-01-024-19/+19
| | | Python 3.6 is starting to reject invalid escapes. Regular expression patterns should be raw strings to avoid having regex escapes being mistaken for invalid string escapes. Fixes #611.
* Remove unwanted apostrophe from docsAlex Chan2017-12-271-1/+1
|
* [Footnote extension] Add a way to customize the backlink title (#616)Jorge Maldonado Ventura2017-12-222-2/+13
| | | Fixes #610.
* Restore code to use markdown_py as the console script name.Dmitry Shachnev2017-12-101-1/+6
|
* Fix spellchecking test.Waylan Limberg2017-12-084-6/+22
| | | | | | * Install deps. * Ensure test fails if deps are missing. * Update dictionary for recent docs changes.
* Build and upload wheels for releases.Waylan Limberg2017-12-084-55/+22
| | | | Update install docs.
* Switch to setuptools.Waylan Limberg2017-12-083-86/+19
| | | | Use console_scripts entry_point instead of manually built script.
* Update makefileWaylan Limberg2017-12-071-6/+2
| | | | | | | | The sdist command now builds the MANIFEST automatically. No need to do it manually. Also, PyPI now only accepts one sdist file per release, so let's not try to upload two. Also, the docs deploy command does not work right so it's removed.
* Upped version to 2.6.102.6.10Waylan Limberg2017-12-073-3/+5
| | | | | This version was released to force PyPI to point to the new docs location. Closes #601. The old PyPI hosted docs can be deleted after this.
* Switch docs to MKDocs (#602)Waylan Limberg2017-12-0683-3274/+2438
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #601. Merged in 6f87b32 from the md3 branch and did a lot of cleanup. Changes include: * Removed old docs build tool, templates, etc. * Added MkDocs config file, etc. * filename.txt => filename.md * pythonhost.org/Markdown => Python-Markdown.github.io * Markdown lint and other cleanup. * Automate pages deployment in makefile with `mkdocs gh-deploy` Assumes a git remote is set up named "pages". Do git remote add pages https://github.com/Python-Markdown/Python-Markdown.github.io.git ... before running `make deploy` the first time.
* Feature ancestry (#598)Isaac Muse2017-11-235-13/+107
| | | | | Ancestry exclusion for inline patterns. Adds the ability for an inline pattern to define a list of ancestor tag names that should be avoided. If a pattern would create a descendant of one of the listed tag names, the pattern will not match. Fixes #596.
* Update builds with py35 and py36 supportfacelessuser2017-11-173-1/+7
|
* Fix new flake8 722 errorfacelessuser2017-10-261-1/+1
|
* Clean up some docs formatting.Waylan Limberg2017-09-182-8/+9
|
* Switch to codecov from coverallsWaylan Limberg2017-09-083-3/+11
| | | | | | Note that we install coverage<4.0 in travis because test-requirements.txt is installing the same in the tox environments. The .coverage file format changed in 4.0.
* Manually define travis matrix.Waylan Limberg2017-09-071-7/+12
| | | | | | | | Travis-CI no longer has all supported Python versions installed by default. Each version needs to be set via the `python` setting. However, we don't want a matrix where every Python version runs with every `TOXENV`. Therefore, we now manually define the matrix so that the Python version is properly matched with the TOXENV.
* Adjust for new PyPI changesWaylan Limberg2017-08-172-3/+2
|
* Merge remote-tracking branch 'upstream/master'2.6.9Waylan Limberg2017-08-170-0/+0
|\
| * Upped version to 2.6.9Waylan Limberg2017-08-172-1/+5
| |
* | Upped version to 2.6.9Waylan Limberg2017-08-172-1/+5
|/
* GitHub/waylan => GitHub/Python-Markdown orgWaylan Limberg2017-08-1714-19/+18
|
* fix DeprecationWarning: invalid escape sequenced9pouces2017-07-251-1/+1
|
* fix DeprecationWarning: invalid escape sequenced9pouces2017-07-252-4/+4
|
* Fix typo s/Goggle/Google/Tim Chase2017-06-031-1/+1
|
* Fix a silly formatting error in README.Waylan Limberg2017-04-261-1/+1
|
* Added link to Code of Conduct in READMEWaylan Limberg2017-04-261-0/+8
|
* Add a code of conduct.Waylan Limberg2017-04-251-0/+50
| | | | | See http://contributor-covenant.org. I've adopted version 1.3 as I find 1.4 overly complex and lengthy.