Skip to main content

A MkDocs plugin to add note boxes to your documentation.

Project description

MkDocs-Note

MkDocs-Note is a plugin for MkDocs that automatically manages notes in your documentation site. It's designed to work seamlessly with Material for MkDocs theme to create a unified note-taking and documentation experience.

Features

  • Recent Notes Display: Automatically displays a list of recent notes on your notes index page

  • Multi-format Support: Supports both Markdown (.md) and Jupyter Notebook (.ipynb) files

  • Smart Filtering: Excludes index files and other specified patterns from the recent notes list

  • Flexible Configuration: Highly customizable note directory, file patterns, and display options

  • Automatic Updates: Notes list updates automatically when you build your documentation

Installation

Recommanded to use uv to manage python virtual environment:

uv venv
uv pip insatll mkdocs-note

Or using pip:

pip install mkdocs-note

Then, add the plugin to your mkdocs.yml:

plugins:
  - mkdocs-note:
      enabled: true
      notes_dir: "docs/notes"
      index_file: "docs/notes/index.md"
      max_notes: 10
      start_marker: "<!-- recent_notes_start -->"
      end_marker: "<!-- recent_notes_end -->"

⚠️ Important: Note the indentation! Use spaces (not dashes -) for plugin options. The configuration must be a dictionary, not a list. See Troubleshooting Guide for common configuration issues.

Usage

Setting Up Your Notes Directory

  1. Create a notes directory in your documentation (e.g., docs/notes/)
  2. Create an index.md file in your notes directory
  3. Add the marker comments to your index file:
# My Notes

<!-- recent_notes_start -->
<!-- recent_notes_end -->

Configuration Options

The plugin supports the following configuration options in your mkdocs.yml:

Option Type Default Description
enabled bool true Enable or disable the plugin
notes_dir Path "docs/notes" Directory containing your notes
index_file Path "docs/notes/index.md" Index file where recent notes will be displayed
max_notes int 10 Maximum number of recent notes to display
start_marker str "<!-- recent_notes_start -->" Start marker for notes insertion
end_marker str "<!-- recent_notes_end -->" End marker for notes insertion
supported_extensions Set[str] {".md", ".ipynb"} File extensions to include as notes
exclude_patterns Set[str] {"index.md", "README.md"} File patterns to exclude
exclude_dirs Set[str] {"__pycache__", ".git", "node_modules"} Directories to exclude

How It Works

  1. The plugin scans your configured notes directory for supported file types
  2. It extracts metadata (title, modification date) from each note file
  3. Notes are sorted by modification time (most recent first)
  4. The specified number of recent notes is inserted into your index page between the marker comments
  5. The process runs automatically every time you build your documentation

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.

License

This project is licensed under the GNU General Public License v3.0.

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_note-1.0.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_note-1.0.1-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_note-1.0.1.tar.gz.

File metadata

  • Download URL: mkdocs_note-1.0.1.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for mkdocs_note-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5310618c07c813d89c8d4c6ce662a20dd9d6ba225ae70da6f426cb7a06329b75
MD5 81e882b1ae76db327f3a7168e6f3c29d
BLAKE2b-256 80a42dd0b7cb49351f612da714aec7afc985c39e22c8ad33a7e3d3769f67c030

See more details on using hashes here.

File details

Details for the file mkdocs_note-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_note-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c9dc57b14cfb910129d0986c7416c5fedcc6655168684ae976a7d991685b3d1
MD5 b80cc27b76d57b0a4b11ae07f72933ac
BLAKE2b-256 61e41a7feaed5649f0016c81467cfd7f9a9b69cf5023f206da71cfe33c71f7cf

See more details on using hashes here.

Supported by

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