Proper title-casing for Python's Markdown.
Project description
Markdown title-casing extension
Python’s Markdown extension to apply proper English title-casing.
This project use titlecase module under the hood. Transformation is applied on content enclosed in <h1> to <h6> HTML tags. Meta-Data extension is supported so that document title can be transformed too.
Install
This package is available on PyPi, so you can install the latest stable release and its dependencies with a simple pip call:
$ pip install mdx_titlecase
See also pip installation instructions.
Configuration
Parameter |
Default value |
Description |
---|---|---|
metadata |
['title', ] |
List of metadata keys to which apply titlecasing. |
Development
Check out latest development branch:
$ git clone git@github.com:kdeldycke/mdx_titlecase.git
$ cd ./mdx_titlecase
$ python ./setup.py develop
Run unit-tests:
$ python ./setup.py nosetests
Run PEP8 and Pylint code style checks:
$ pip install pep8 pylint
$ pep8 mdx_titlecase
$ pylint --rcfile=setup.cfg mdx_titlecase
Stability policy
Here is a bunch of rules we’re trying to follow regarding stability:
Patch releases (0.x.n → 0.x.(n+1) upgrades) are bug-fix only. These releases must not break anything and keeps backward-compatibility with 0.x.* and 0.(x-1).* series.
Minor releases (0.n.* → 0.(n+1).0 upgrades) includes any non-bugfix changes. These releases must be backward-compatible with any 0.n.* version but are allowed to drop compatibility with the 0.(n-1).* series and below.
Major releases (n.*.* → (n+1).0.0 upgrades) are not planned yet: we’re still in beta and the final feature set of the 1.0.0 release is not decided yet.
Release process
Start from the develop branch:
$ git clone git@github.com:kdeldycke/mdx_titlecase.git
$ git checkout develop
Revision should already be set to the next version, so we just need to set the released date in the changelog:
$ vi ./CHANGES.rst
Create a release commit, tag it and merge it back to master branch:
$ git add ./mdx_titlecase/__init__.py ./CHANGES.rst
$ git commit -m "Release vX.Y.Z"
$ git tag "vX.Y.Z"
$ git push
$ git push --tags
$ git checkout master
$ git pull
$ git merge "vX.Y.Z"
$ git push
Push packaging to the test cheeseshop:
$ pip install wheel
$ python ./setup.py register -r testpypi
$ python ./setup.py clean
$ rm -rf ./build ./dist
$ python ./setup.py sdist bdist_egg bdist_wheel upload -r testpypi
Publish packaging to PyPi:
$ python ./setup.py register -r pypi
$ python ./setup.py clean
$ rm -rf ./build ./dist
$ python ./setup.py sdist bdist_egg bdist_wheel upload -r pypi
Bump revision back to its development state:
$ pip install bumpversion
$ git checkout develop
$ bumpversion --verbose patch
$ git add ./mdx_titlecase/__init__.py ./CHANGES.rst
$ git commit -m "Post release version bump."
$ git push
Now if the next revision is no longer bug-fix only:
$ bumpversion --verbose minor
$ git add ./mdx_titlecase/__init__.py ./CHANGES.rst
$ git commit -m "Next release no longer bug-fix only. Bump revision."
$ git push
License
This software is licensed under the GNU General Public License v2 or later (GPLv2+).
ChangeLog
1.2.0 (2018-06-26)
Fix plugin initialization.
Add Python 3 support.
Add default isort config.
Add missing trove classifiers.
Activate tests on Python 3.3, 3.4, 3.5, PyPy and PyPy3.
Bump Markdown requirement to 2.6.
1.1.0 (2015-11-29)
Allow title casing of metadata.
1.0.1 (2015-11-23)
Switch from coveralls.io to codecov.io.
1.0.0 (2015-11-23)
First public release.
0.0.0 (2015-11-22)
First commit.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file mdx_titlecase-1.2.0.tar.gz
.
File metadata
- Download URL: mdx_titlecase-1.2.0.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc9eb63a810409983cde15c1cb1ce860d656080c298463bad0ab3d17f0a44d95 |
|
MD5 | f2de2f9339519e4d335eab70192675a4 |
|
BLAKE2b-256 | 1ed6c1674c2f21a74ec7eb6580e8569c336dcd352804eeea83d5d12ec8ff5024 |
File details
Details for the file mdx_titlecase-1.2.0-py3.6.egg
.
File metadata
- Download URL: mdx_titlecase-1.2.0-py3.6.egg
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 360edc10025d3dff9a4d2d54b66e0b61fbb41ac110f41dde79367f6e37a6ae31 |
|
MD5 | 72ee4219e08f1e282a2bccc057ede653 |
|
BLAKE2b-256 | 93fd54663ecb22d5c570d9dafc0e986b0dfa26d357714f94475703cc233df6a3 |
File details
Details for the file mdx_titlecase-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: mdx_titlecase-1.2.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71c76103c1de3420238c1dbb2925a27db9bc3d17e585182549ca8dff5255b648 |
|
MD5 | 88348c3283a4f701b7c81f71462fce84 |
|
BLAKE2b-256 | c3126016e051981bf9610c03bf690e737c8416cdd363ae66cee99834ec361c02 |