This project has been archived by its maintainers, and is no longer receiving any updates.
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.
Metadata
Release files for mdx_titlecase 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mdx_titlecase-1.2.0.tar.gz | 15.2 kB | Without provenance | Details for mdx_titlecase-1.2.0.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mdx_titlecase-1.2.0-py3.6.egg | Legacy Egg format | - | - | Details for mdx_titlecase-1.2.0-py3.6.egg |
| mdx_titlecase-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for mdx_titlecase-1.2.0-py3-none-any.whl |
Total release size: 30.1 kB
Release files / mdx_titlecase-1.2.0.tar.gz
| Download URL | mdx_titlecase-1.2.0.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc9eb63a810409983cde15c1cb1ce860d656080c298463bad0ab3d17f0a44d95
|
|
BLAKE2b-256 checksum How to use checksums |
1ed6c1674c2f21a74ec7eb6580e8569c336dcd352804eeea83d5d12ec8ff5024
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / mdx_titlecase-1.2.0-py3.6.egg
| Download URL | mdx_titlecase-1.2.0-py3.6.egg |
|---|---|
| Size | 7.4 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
360edc10025d3dff9a4d2d54b66e0b61fbb41ac110f41dde79367f6e37a6ae31
|
|
BLAKE2b-256 checksum How to use checksums |
93fd54663ecb22d5c570d9dafc0e986b0dfa26d357714f94475703cc233df6a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / mdx_titlecase-1.2.0-py3-none-any.whl
| Download URL | mdx_titlecase-1.2.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
71c76103c1de3420238c1dbb2925a27db9bc3d17e585182549ca8dff5255b648
|
|
BLAKE2b-256 checksum How to use checksums |
c3126016e051981bf9610c03bf690e737c8416cdd363ae66cee99834ec361c02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for mdx_titlecase 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.