mksync


Namemksync JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-07-31 10:55:08
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # mksync

MkSync replaces directives in a Markdown file with corresponding content. It's a useful tool to add nice
features to your project's `README.md` file, such as a table of contents, without the manual upkeep.

<!-- table of contents -->
  * [Example](#example)
  * [Available Directives](#available-directives)
  * [Synopsis](#synopsis)
* [Changelog](#changelog)
  * [0.1.6 (2025-07-31)](#016-2025-07-31)
  * [0.1.5 (2025-07-31)](#015-2025-07-31)
  * [0.1.4 (2023-06-29)](#014-2023-06-29)
  * [0.1.3 (2023-06-29)](#013-2023-06-29)
<!-- end table of contents -->

## Example

Say this is your `README.md`:

```md
# My Project

<!-- toc -->

## Installation

## Documentation
```

Then running `mksync README.md` will update the file in-place to:

```md
# My Project

<!-- toc -->
* [Installation](#installation)
* [Documentation](#documentation)
<!-- end toc -->

## Installation

## Documentation
```

## Available Directives

* `toc` or `table of contents`: Produce an unordered list of links to all headers in the document after the directive.
* `include <path>`: Include the contents of the file at the given path. You can optionally specify a language name to
  wrap the content in a code block, e.g. `include code:python <path>`.
* `runcmd <command>`: Run the given command and include the output in the document. You can optionally specify a
  language name to wrap the output in a code block, e.g. `runcmd code:python <command>`.

## Synopsis

<!-- runcmd code: mksync --help -->
```
usage: mksync [-h] [--inplace] [--verbose] [--change-dir] file

MkSync is a utility to update Markdown files in-place to automate some common upkeep tasks, such as inling
example code and updating table of contents.

positional arguments:
  file              the file to process

options:
  -h, --help        show this help message and exit
  --inplace, -i     update the file in-place
  --verbose, -v     enable verbose logging
  --change-dir, -c  change into parent directory of the file
```
<!-- end runcmd -->

---

# Changelog

<!-- runcmd slap changelog format --all --markdown -->
## 0.1.6 (2025-07-31)

<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
  <tr><td>Fix</td><td>

Fix using correct filename when `--change-dir,-c` is used</td><td></td><td></td><td>@NiklasRosenstein</td></tr>
</table>

## 0.1.5 (2025-07-31)

<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
  <tr><td>Hygiene</td><td>

Use Uv and Tire instead of Slap and manual config of Mypy, Black, Flake8, isort, Pycln</td><td><a href="https://github.com/NiklasRosenstein/mksync/pull/2">2</a></td><td></td><td>@NiklasRosenstein</td></tr>
  <tr><td>Fix</td><td>

The `toc` directive no longer considers `#` in the middle of the line</td><td><a href="https://github.com/NiklasRosenstein/mksync/pull/2">2</a></td><td></td><td>@NiklasRosenstein</td></tr>
  <tr><td>Feature</td><td>

add `--change-dir,-c` option</td><td><a href="https://github.com/NiklasRosenstein/mksync/pull/2">2</a></td><td></td><td>@NiklasRosenstein</td></tr>
  <tr><td>Improvement</td><td>

log failing runcmd executions</td><td><a href="https://github.com/NiklasRosenstein/mksync/pull/2">2</a></td><td></td><td>@NiklasRosenstein</td></tr>
  <tr><td>Improvement</td><td>

Upgrade to `python-adjudicator>=0.5.1,<0.6`</td><td><a href="https://github.com/NiklasRosenstein/mksync/pull/2">2</a></td><td></td><td>@NiklasRosenstein</td></tr>
</table>

## 0.1.4 (2023-06-29)

<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
  <tr><td>Fix</td><td>

Fix placement of code block when rendering `include` directive back into the Markdown file.</td><td></td><td></td><td>@NiklasRosenstein</td></tr>
  <tr><td>Improvement</td><td>

Keep the same keyword that was used for the TOC directive, which can be one of `toc` and `table of contents`</td><td></td><td></td><td>@NiklasRosenstein</td></tr>
</table>

## 0.1.3 (2023-06-29)

<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>
  <tr><td>Fix</td><td>

Fix parsing of `include` directives</td><td></td><td></td><td>@NiklasRosenstein</td></tr>
</table>
<!-- end runcmd -->

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mksync",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Niklas Rosenstein <rosensteinniklas@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/66/d3/aae722676afb7103b6c627987085741cc85c263e50635f1887c8d552caa2/mksync-0.1.6.tar.gz",
    "platform": null,
    "description": "# mksync\n\nMkSync replaces directives in a Markdown file with corresponding content. It's a useful tool to add nice\nfeatures to your project's `README.md` file, such as a table of contents, without the manual upkeep.\n\n<!-- table of contents -->\n  * [Example](#example)\n  * [Available Directives](#available-directives)\n  * [Synopsis](#synopsis)\n* [Changelog](#changelog)\n  * [0.1.6 (2025-07-31)](#016-2025-07-31)\n  * [0.1.5 (2025-07-31)](#015-2025-07-31)\n  * [0.1.4 (2023-06-29)](#014-2023-06-29)\n  * [0.1.3 (2023-06-29)](#013-2023-06-29)\n<!-- end table of contents -->\n\n## Example\n\nSay this is your `README.md`:\n\n```md\n# My Project\n\n<!-- toc -->\n\n## Installation\n\n## Documentation\n```\n\nThen running `mksync README.md` will update the file in-place to:\n\n```md\n# My Project\n\n<!-- toc -->\n* [Installation](#installation)\n* [Documentation](#documentation)\n<!-- end toc -->\n\n## Installation\n\n## Documentation\n```\n\n## Available Directives\n\n* `toc` or `table of contents`: Produce an unordered list of links to all headers in the document after the directive.\n* `include <path>`: Include the contents of the file at the given path. You can optionally specify a language name to\n  wrap the content in a code block, e.g. `include code:python <path>`.\n* `runcmd <command>`: Run the given command and include the output in the document. You can optionally specify a\n  language name to wrap the output in a code block, e.g. `runcmd code:python <command>`.\n\n## Synopsis\n\n<!-- runcmd code: mksync --help -->\n```\nusage: mksync [-h] [--inplace] [--verbose] [--change-dir] file\n\nMkSync is a utility to update Markdown files in-place to automate some common upkeep tasks, such as inling\nexample code and updating table of contents.\n\npositional arguments:\n  file              the file to process\n\noptions:\n  -h, --help        show this help message and exit\n  --inplace, -i     update the file in-place\n  --verbose, -v     enable verbose logging\n  --change-dir, -c  change into parent directory of the file\n```\n<!-- end runcmd -->\n\n---\n\n# Changelog\n\n<!-- runcmd slap changelog format --all --markdown -->\n## 0.1.6 (2025-07-31)\n\n<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>\n  <tr><td>Fix</td><td>\n\nFix using correct filename when `--change-dir,-c` is used</td><td></td><td></td><td>@NiklasRosenstein</td></tr>\n</table>\n\n## 0.1.5 (2025-07-31)\n\n<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>\n  <tr><td>Hygiene</td><td>\n\nUse Uv and Tire instead of Slap and manual config of Mypy, Black, Flake8, isort, Pycln</td><td><a href=\"https://github.com/NiklasRosenstein/mksync/pull/2\">2</a></td><td></td><td>@NiklasRosenstein</td></tr>\n  <tr><td>Fix</td><td>\n\nThe `toc` directive no longer considers `#` in the middle of the line</td><td><a href=\"https://github.com/NiklasRosenstein/mksync/pull/2\">2</a></td><td></td><td>@NiklasRosenstein</td></tr>\n  <tr><td>Feature</td><td>\n\nadd `--change-dir,-c` option</td><td><a href=\"https://github.com/NiklasRosenstein/mksync/pull/2\">2</a></td><td></td><td>@NiklasRosenstein</td></tr>\n  <tr><td>Improvement</td><td>\n\nlog failing runcmd executions</td><td><a href=\"https://github.com/NiklasRosenstein/mksync/pull/2\">2</a></td><td></td><td>@NiklasRosenstein</td></tr>\n  <tr><td>Improvement</td><td>\n\nUpgrade to `python-adjudicator>=0.5.1,<0.6`</td><td><a href=\"https://github.com/NiklasRosenstein/mksync/pull/2\">2</a></td><td></td><td>@NiklasRosenstein</td></tr>\n</table>\n\n## 0.1.4 (2023-06-29)\n\n<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>\n  <tr><td>Fix</td><td>\n\nFix placement of code block when rendering `include` directive back into the Markdown file.</td><td></td><td></td><td>@NiklasRosenstein</td></tr>\n  <tr><td>Improvement</td><td>\n\nKeep the same keyword that was used for the TOC directive, which can be one of `toc` and `table of contents`</td><td></td><td></td><td>@NiklasRosenstein</td></tr>\n</table>\n\n## 0.1.3 (2023-06-29)\n\n<table><tr><th>Type</th><th>Description</th><th>PR</th><th>Issues</th><th>Author</th></tr>\n  <tr><td>Fix</td><td>\n\nFix parsing of `include` directives</td><td></td><td></td><td>@NiklasRosenstein</td></tr>\n</table>\n<!-- end runcmd -->\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.1.6",
    "project_urls": {
        "Bug Tracker": "https://github.com/NiklasRosenstein/mksync/issues",
        "Repository": "https://github.com/NiklasRosenstein/mksync"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "abff0adbcecfc506b74672664c5776f23b927717038daad69fbf60ca30e00f7d",
                "md5": "449b63069952f9cf777fee4c4f0a349b",
                "sha256": "3646be17da6b5290c5f3793a8736754870310bf7f8112fb225acf599a0d8d051"
            },
            "downloads": -1,
            "filename": "mksync-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "449b63069952f9cf777fee4c4f0a349b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 10963,
            "upload_time": "2025-07-31T10:55:07",
            "upload_time_iso_8601": "2025-07-31T10:55:07.683835Z",
            "url": "https://files.pythonhosted.org/packages/ab/ff/0adbcecfc506b74672664c5776f23b927717038daad69fbf60ca30e00f7d/mksync-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "66d3aae722676afb7103b6c627987085741cc85c263e50635f1887c8d552caa2",
                "md5": "5159498a855fcbbde6f5c9340e56feff",
                "sha256": "74f9c3f50fbec2966d125010314d9a4a266adcf29c40634a517527006e1a539a"
            },
            "downloads": -1,
            "filename": "mksync-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "5159498a855fcbbde6f5c9340e56feff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6707,
            "upload_time": "2025-07-31T10:55:08",
            "upload_time_iso_8601": "2025-07-31T10:55:08.849107Z",
            "url": "https://files.pythonhosted.org/packages/66/d3/aae722676afb7103b6c627987085741cc85c263e50635f1887c8d552caa2/mksync-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 10:55:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NiklasRosenstein",
    "github_project": "mksync",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mksync"
}
        
Elapsed time: 3.68712s