Build, manage, and scale your documentation workflows.
Splitme is a comprehensive Python toolkit designed to streamline your Markdown workflow. Whether you're managing documentation, writing technical content, or maintaining a knowledge base, Splitme provides essential utilities to make working with Markdown files easier and more efficient.
Core Features:
- Text Splitting: Break down large Markdown files into manageable sections based on headings or custom rules.
- Link Management: Convert between inline and reference-style links, validate URLs, and identify broken links.
- Content Analysis: Analyze document structure, extract metadata, and ensure consistent formatting.
- Documentation Tools: Generate configurations for static site generators like MkDocs and maintain organized documentation.
Install from PyPI using your preferred package manager.
Use pip (recommended for most users):
pip install -U splitme
Install in an isolated environment with pipx:
❯ pipx install splitme
For the fastest installation use uv:
❯ uv tool install splitme
Split large Markdown files into smaller, organized sections:
splitme \
--split.i tests/data/markdown/readme-ai.md \
--split.o docs/examples/split-sections-h2
Check for broken links in your documentation:
splitme --check-links.input tests/data/markdown/pydantic.md
You will see a summary of the broken links in your terminal:
Markdown Link Check Results
┏━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Status ┃ Line ┃ Link ┃ Error ┃
┡━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ ✓ │ 2 │ https://img.shields.io/github/actions/workflow/status/pydantic/pydantic/ci.yml?b… │ │
│ ✓ │ 3 │ https://coverage-badge.samuelcolvin.workers.dev/pydantic/pydantic.svg │ │
│ ✓ │ 4 │ https://img.shields.io/pypi/v/pydantic.svg │ │
│ ✓ │ 5 │ https://img.shields.io/conda/v/conda-forge/pydantic.svg │ │
│ ✓ │ 6 │ https://static.pepy.tech/badge/pydantic/month │ │
│ ✓ │ 7 │ https://img.shields.io/pypi/pyversions/pydantic.svg │ │
│ ✓ │ 8 │ https://img.shields.io/github/license/pydantic/pydantic.svg │ │
│ ✓ │ 9 │ https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/p… │ │
│ ✓ │ 18 │ https://pydantic.dev/articles/logfire-announcement │ │
│ ✓ │ 24 │ https://docs.pydantic.dev/ │ │
│ ✓ │ 24 │ https://github.com/pydantic/pydantic/tree/1.10.X-fixes │ │
│ ✓ │ 28 │ https://docs.pydantic.dev/ │ │
│ 𝗫 │ 34 │ https://docs.pydantic.dev/install/invalid-link │ HTTP 404 │
└────────┴──────┴───────────────────────────────────────────────────────────────────────────────────┴──────────┘
Summary: 1 broken links out of 13 total links.
Convert inline links to reference-style for better maintainability:
splitme --reflinks.input tests/data/markdown/pydantic.md --reflinks.output with_refs.md
Generate a MkDocs configuration mkdocs.yml file from a Markdown document:
splitme \
--split.i tests/data/markdown/readme-ai.md \
--split.o docs/examples/split-sections-h2 \
--mkdocs.dir docs/examples/split-sections-h2 \
--mkdocs.site-name "MyDocs"
View the output of all examples above here.
- Support for additional documentation formats (e.g., reStructuredText, HTML)
- Add more intuitive CLI commands and options.
- Integration with more static site generators
- Plugin system for custom utilities
- Enhanced content analysis features
Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, please feel free to:
- Open an issue
- Submit a pull request
- Improve documentation
- Share your ideas
Splitme is released under the MIT license
Copyright © 2024-2025 Splitme