{"id":16298791,"url":"https://github.com/kdeldycke/mdx_titlecase","last_synced_at":"2025-08-12T00:10:33.984Z","repository":{"id":54885775,"uuid":"46683591","full_name":"kdeldycke/mdx_titlecase","owner":"kdeldycke","description":"Proper title-casing for Python's Markdown library.","archived":false,"fork":false,"pushed_at":"2021-01-22T09:58:37.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-07-16T07:12:25.677Z","etag":null,"topics":["extension","markdown","python","title-case","typography"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mdx_titlecase/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdeldycke.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"kdeldycke"}},"created_at":"2015-11-22T22:29:21.000Z","updated_at":"2023-09-08T17:03:55.000Z","dependencies_parsed_at":"2022-08-14T05:40:54.485Z","dependency_job_id":null,"html_url":"https://github.com/kdeldycke/mdx_titlecase","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/kdeldycke/mdx_titlecase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fmdx_titlecase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fmdx_titlecase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fmdx_titlecase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fmdx_titlecase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdeldycke","download_url":"https://codeload.github.com/kdeldycke/mdx_titlecase/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdeldycke%2Fmdx_titlecase/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269976849,"owners_count":24506478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension","markdown","python","title-case","typography"],"created_at":"2024-10-10T20:45:23.617Z","updated_at":"2025-08-12T00:10:33.955Z","avatar_url":"https://github.com/kdeldycke.png","language":"Python","funding_links":["https://github.com/sponsors/kdeldycke"],"categories":[],"sub_categories":[],"readme":"Markdown title-casing extension\n===============================\n\n`Python's Markdown \u003chttps://pythonhosted.org/Markdown/\u003e`_ extension to apply\nproper English title-casing.\n\nThis project use `titlecase \u003chttps://pypi.python.org/pypi/titlecase\u003e`_ module\nunder the hood. Transformation is applied on content enclosed in ``\u003ch1\u003e`` to\n``\u003ch6\u003e`` HTML tags. `Meta-Data extension\n\u003chttps://pythonhosted.org/Markdown/extensions/meta_data.html\u003e`_ is supported so\nthat document title can be transformed too.\n\nStable release: |release| |license| |dependencies| |popularity|\n\nDevelopment: |build| |coverage| |quality|\n\n.. |release| image:: https://img.shields.io/pypi/v/mdx_titlecase.svg?style=flat\n    :target: https://pypi.python.org/pypi/mdx_titlecase\n    :alt: Last release\n.. |license| image:: https://img.shields.io/pypi/l/mdx_titlecase.svg?style=flat\n    :target: https://www.gnu.org/licenses/gpl-2.0.html\n    :alt: Software license\n.. |popularity| image:: https://img.shields.io/pypi/dm/mdx_titlecase.svg?style=flat\n    :target: https://pypi.python.org/pypi/mdx_titlecase#downloads\n    :alt: Popularity\n.. |dependencies| image:: https://img.shields.io/requires/github/kdeldycke/mdx_titlecase/main.svg?style=flat\n    :target: https://requires.io/github/kdeldycke/mdx_titlecase/requirements/?branch=main\n    :alt: Requirements freshness\n.. |build| image:: https://img.shields.io/travis/kdeldycke/mdx_titlecase/develop.svg?style=flat\n    :target: https://travis-ci.org/kdeldycke/mdx_titlecase\n    :alt: Unit-tests status\n.. |coverage| image:: https://codecov.io/github/kdeldycke/mdx_titlecase/coverage.svg?branch=develop\n    :target: https://codecov.io/github/kdeldycke/mdx_titlecase?branch=develop\n    :alt: Coverage Status\n.. |quality| image:: https://img.shields.io/scrutinizer/g/kdeldycke/mdx_titlecase.svg?style=flat\n    :target: https://scrutinizer-ci.com/g/kdeldycke/mdx_titlecase/?branch=develop\n    :alt: Code Quality\n\n\nInstall\n-------\n\nThis package is `available on PyPi\n\u003chttps://pypi.python.org/pypi/mdx_titlecase\u003e`_, so you can install the\nlatest stable release and its dependencies with a simple `pip` call:\n\n.. code-block:: bash\n\n    $ pip install mdx_titlecase\n\nSee also `pip installation instructions\n\u003chttps://pip.pypa.io/en/stable/installing/\u003e`_.\n\n\nConfiguration\n-------------\n\n+--------------+-----------------+--------------------------------------------+\n| Parameter    | Default value   | Description                                |\n+==============+=================+============================================+\n| ``metadata`` | ``['title', ]`` | List of metadata keys to which apply       |\n|              |                 | titlecasing.                               |\n+--------------+-----------------+--------------------------------------------+\n\n\nDevelopment\n-----------\n\nCheck out latest development branch:\n\n.. code-block:: bash\n\n    $ git clone git@github.com:kdeldycke/mdx_titlecase.git\n    $ cd ./mdx_titlecase\n    $ python ./setup.py develop\n\nRun unit-tests:\n\n.. code-block:: bash\n\n    $ python ./setup.py nosetests\n\nRun `PEP8 \u003chttps://pep8.readthedocs.org\u003e`_ and `Pylint\n\u003chttp://docs.pylint.org\u003e`_ code style checks:\n\n.. code-block:: bash\n\n    $ pip install pep8 pylint\n    $ pep8 mdx_titlecase\n    $ pylint --rcfile=setup.cfg mdx_titlecase\n\n\nStability policy\n----------------\n\nHere is a bunch of rules we're trying to follow regarding stability:\n\n* Patch releases (``0.x.n`` → ``0.x.(n+1)`` upgrades) are bug-fix only. These\n  releases must not break anything and keeps backward-compatibility with\n  ``0.x.*`` and ``0.(x-1).*`` series.\n\n* Minor releases (``0.n.*`` → ``0.(n+1).0`` upgrades) includes any non-bugfix\n  changes. These releases must be backward-compatible with any ``0.n.*``\n  version but are allowed to drop compatibility with the ``0.(n-1).*`` series\n  and below.\n\n* Major releases (``n.*.*`` → ``(n+1).0.0`` upgrades) are not planned yet:\n  we're still in beta and the final feature set of the ``1.0.0`` release is not\n  decided yet.\n\n\nRelease process\n---------------\n\nStart from the ``develop`` branch:\n\n.. code-block:: bash\n\n    $ git clone git@github.com:kdeldycke/mdx_titlecase.git\n    $ git checkout develop\n\nRevision should already be set to the next version, so we just need to set the\nreleased date in the changelog:\n\n.. code-block:: bash\n\n    $ vi ./CHANGES.rst\n\nCreate a release commit, tag it and merge it back to ``main`` branch:\n\n.. code-block:: bash\n\n    $ git add ./mdx_titlecase/__init__.py ./CHANGES.rst\n    $ git commit -m \"Release vX.Y.Z\"\n    $ git tag \"vX.Y.Z\"\n    $ git push\n    $ git push --tags\n    $ git checkout main\n    $ git pull\n    $ git merge \"vX.Y.Z\"\n    $ git push\n\nPush packaging to the `test cheeseshop\n\u003chttps://wiki.python.org/moin/TestPyPI\u003e`_:\n\n.. code-block:: bash\n\n    $ pip install wheel\n    $ python ./setup.py register -r testpypi\n    $ python ./setup.py clean\n    $ rm -rf ./build ./dist\n    $ python ./setup.py sdist bdist_egg bdist_wheel upload -r testpypi\n\nPublish packaging to `PyPi \u003chttps://pypi.python.org\u003e`_:\n\n.. code-block:: bash\n\n    $ python ./setup.py register -r pypi\n    $ python ./setup.py clean\n    $ rm -rf ./build ./dist\n    $ python ./setup.py sdist bdist_egg bdist_wheel upload -r pypi\n\nBump revision back to its development state:\n\n.. code-block:: bash\n\n    $ pip install bumpversion\n    $ git checkout develop\n    $ bumpversion --verbose patch\n    $ git add ./mdx_titlecase/__init__.py ./CHANGES.rst\n    $ git commit -m \"Post release version bump.\"\n    $ git push\n\nNow if the next revision is no longer bug-fix only:\n\n.. code-block:: bash\n\n    $ bumpversion --verbose minor\n    $ git add ./mdx_titlecase/__init__.py ./CHANGES.rst\n    $ git commit -m \"Next release no longer bug-fix only. Bump revision.\"\n    $ git push\n\n\nLicense\n-------\n\nThis software is licensed under the `GNU General Public License v2 or later\n(GPLv2+)\n\u003chttps://github.com/kdeldycke/mdx_titlecase/blob/main/LICENSE\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdeldycke%2Fmdx_titlecase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdeldycke%2Fmdx_titlecase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdeldycke%2Fmdx_titlecase/lists"}