Skip to main content

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.

Stable release: Last release Software license Requirements freshness Popularity

Development: Unit-tests status Coverage Status Code Quality

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.n0.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

mdx_titlecase-1.2.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distributions

mdx_titlecase-1.2.0-py3.6.egg (7.4 kB view details)

Uploaded Source

mdx_titlecase-1.2.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file mdx_titlecase-1.2.0.tar.gz.

File metadata

File hashes

Hashes for mdx_titlecase-1.2.0.tar.gz
Algorithm Hash digest
SHA256 cc9eb63a810409983cde15c1cb1ce860d656080c298463bad0ab3d17f0a44d95
MD5 f2de2f9339519e4d335eab70192675a4
BLAKE2b-256 1ed6c1674c2f21a74ec7eb6580e8569c336dcd352804eeea83d5d12ec8ff5024

See more details on using hashes here.

File details

Details for the file mdx_titlecase-1.2.0-py3.6.egg.

File metadata

File hashes

Hashes for mdx_titlecase-1.2.0-py3.6.egg
Algorithm Hash digest
SHA256 360edc10025d3dff9a4d2d54b66e0b61fbb41ac110f41dde79367f6e37a6ae31
MD5 72ee4219e08f1e282a2bccc057ede653
BLAKE2b-256 93fd54663ecb22d5c570d9dafc0e986b0dfa26d357714f94475703cc233df6a3

See more details on using hashes here.

File details

Details for the file mdx_titlecase-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mdx_titlecase-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71c76103c1de3420238c1dbb2925a27db9bc3d17e585182549ca8dff5255b648
MD5 88348c3283a4f701b7c81f71462fce84
BLAKE2b-256 c3126016e051981bf9610c03bf690e737c8416cdd363ae66cee99834ec361c02

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page