Skip to main content

A MkDocs plugin to collect TODO, NOTE, and PLACEHOLDER annotations.

Project description

mkdocs-task-collector

mkdocs-task-collector is a powerful MkDocs plugin designed to streamline your documentation workflow by automatically scanning your Markdown files for specific annotations like TODO, NOTE, and PLACEHOLDER. It generates a comprehensive and organized task list, making it easier to manage and track tasks, notes, and placeholders within your documentation.

Plugin example functionality

Features

  • Automated Annotation Scanning: Effortlessly detects TODO, NOTE, and PLACEHOLDER annotations in your Markdown files, saving you time and ensuring no task is overlooked.
  • Consolidated Task List: Automatically creates a structured task list in a Markdown file, organized by the source file and line number, providing a clear overview of all annotations.
  • Seamless Integration: Integrates flawlessly into the MkDocs build process, both locally and remotely (e.g., GitHub Pages), without requiring additional configuration.
  • Automatic Deployment: Ensures that your task list is always up-to-date and published on your website, provided it is referenced in the nav section of your mkdocs.yml file.
  • Zero Configuration: No extra configuration needed – simply add the plugin to your mkdocs.yml file, and you're ready to go.

Installation

Install the plugin using pip:

pip install mkdocs-task-collector

Configuration

Add the task_collector plugin to your mkdocs.yml configuration file:

plugins:
  - search
  - task_collector:
      output_file: 'TaskList.md'

To ensure the generated task list is part of your documentation navigation, add it to the nav section in your mkdocs.yml file:

nav:

    Home: index.md
    Tasks: tasks-list.md

Usage

When you build your MkDocs site, the plugin will scan for TODO, NOTE, and PLACEHOLDER annotations and generate a tasks-list.md file in your documentation.

Example

Suppose you have the following Markdown files:

docs/example1.md:

# Example 1

This is a test document.

TODO: Add more content here.

NOTE: Review this section for accuracy.

docs/example2.md:

# Example 2

PLACEHOLDER: Insert diagram here.

TODO: Update the introduction.

After running mkdocs build, the plugin will generate a tasks-list.md with the following content:

# Task List

## example1.md
+ Line 5 - **TODO**: Add more content here.
+ Line 7 - **NOTE**: Review this section for accuracy.

## example2.md
+ Line 5 - **PLACEHOLDER**: Insert diagram here.
+ Line 7 - **TODO**: Update the introduction.

Additional Information

Task List File Management

  • Generation: The tasks-list.md file is generated during the build process.
  • Saving: This file is saved into the docs folder if the generated file is different from the existing local file or if the local file is not found.

Deployment Considerations

  • Local Deployments: The tasks-list.md file is required for local deployments to ensure it is part of the built site.
  • Remote Deployments (e.g., GitHub Pages):
    • If you are using GitHub Pages or similar solutions for automatic deployment (where the website is built remotely), add tasks-list.md to your .gitignore file.
    • This ensures that if no task list is present in the main branch of the repository, the file will be generated in the deployed environment every time the site is built from the MkDocs documentation. Thus, a page for this file will be created in the documentation if it is correctly specified in the nav section of the mkdocs.yml file.

Example .gitignore Entry

Add the following line to your .gitignore to exclude tasks-list.md:

docs/tasks-list.md

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

mkdocs_task_collector-0.1.12.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

mkdocs_task_collector-0.1.12-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_task_collector-0.1.12.tar.gz.

File metadata

File hashes

Hashes for mkdocs_task_collector-0.1.12.tar.gz
Algorithm Hash digest
SHA256 ccf21503705d8c1b77a50764343377a94f4c899d4655ed36d03618735078bea4
MD5 3551e3c7b7ab5716fec2fe4952d7d812
BLAKE2b-256 06134fbb7ac50c0a998b763a6f7111a1d137cac2537c128837cfcd5e25d12f62

See more details on using hashes here.

File details

Details for the file mkdocs_task_collector-0.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_task_collector-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 a8808e9d3350c568e23bb83036145f3fa28801527b5d7200b35a811bbbe235d3
MD5 b3e0dfad0daa180b3c1fe191e96bb5c6
BLAKE2b-256 a96f11763b223e08621b01699acbfb8f078ba0182662700a9dcb5d4a34a9b066

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