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.
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.
Parameter | Default value | Description |
---|---|---|
metadata |
['title', ] |
List of metadata keys to which apply titlecasing. |
Check out latest development branch:
$ git clone [email protected]: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
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 with0.x.*
and0.(x-1).*
series. - Minor releases (
0.n.*
→0.(n+1).0
upgrades) includes any non-bugfix changes. These releases must be backward-compatible with any0.n.*
version but are allowed to drop compatibility with the0.(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 the1.0.0
release is not decided yet.
Start from the develop
branch:
$ git clone [email protected]: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 main
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 main
$ 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
This software is licensed under the GNU General Public License v2 or later (GPLv2+).