Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eli64s/splitme
❂ Tools for modular and flexible Markdown docs: link validation, reference-style link converter, text splitting, static site generation, & more.
https://github.com/eli64s/splitme
ai content-management devtools docs documentation documentation-tool link-checker link-validator markdown markdown-parser markdown-split markdown-tools mkdocs python reference-links reflinks
Last synced: 1 day ago
JSON representation
❂ Tools for modular and flexible Markdown docs: link validation, reference-style link converter, text splitting, static site generation, & more.
- Host: GitHub
- URL: https://github.com/eli64s/splitme
- Owner: eli64s
- License: mit
- Created: 2024-06-07T05:55:38.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-24T07:40:52.000Z (6 days ago)
- Last Synced: 2025-01-24T08:28:12.560Z (6 days ago)
- Topics: ai, content-management, devtools, docs, documentation, documentation-tool, link-checker, link-validator, markdown, markdown-parser, markdown-split, markdown-tools, mkdocs, python, reference-links, reflinks
- Language: Python
- Homepage:
- Size: 344 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Powerful markdown tools for modern documentation
Build, manage, and scale your documentation workflows.
## What is Splitme?
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][mkdocs] and maintain organized documentation.---
## Quick Start
### Installation
Install from [PyPI][pypi] using your preferred package manager.
####  pip
Use [pip][pip] (recommended for most users):
```sh
pip install -U splitme
```####  pipx
Install in an isolated environment with [pipx][pipx]:
```sh
❯ pipx install splitme
```####  uv
For the fastest installation use [uv][uv]:
```sh
❯ uv tool install splitme
```### Using the CLI
#### Text Splitting
Split large Markdown files into smaller, organized sections:
```sh
splitme \
--split.i tests/data/markdown/readme-ai.md \
--split.o docs/examples/split-sections-h2
```#### Link Validation
Check for broken links in your documentation:
```sh
splitme --check-links.input tests/data/markdown/pydantic.md
```You will see a summary of the broken links in your terminal:
```console
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.
```#### Reference Link Conversion
Convert inline links to reference-style for better maintainability:
```sh
splitme --reflinks.input tests/data/markdown/pydantic.md --reflinks.output with_refs.md
```#### Static Site Documentation Generation
Generate a MkDocs configuration [mkdocs.yml] file from a Markdown document:
```sh
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][examples].
---
## Roadmap
- [ ] 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---
## Contributing
Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, please feel free to:
1. Open an [issue][github-issues]
2. Submit a [pull request][github-pulls]
3. Improve documentation
4. Share your ideas---
## License
Splitme is released under the [MIT license][mit-license]
Copyright © 2024-2025 [Splitme][splitme]
[pypi]: https://pypi.org/project/splitme/
[splitme]: https://github.com/eli64s/splitme
[github-issues]: https://github.com/eli64s/splitme/issues
[github-pulls]: https://github.com/eli64s/splitme/pulls
[mit-license]: https://github.com/eli64s/splitme/blob/main/LICENSE
[examples]: https://github.com/eli64s/splitme/tree/main/docs/examples[python]: https://www.python.org/
[pip]: https://pip.pypa.io/en/stable/
[pipx]: https://pipx.pypa.io/stable/
[uv]: https://docs.astral.sh/uv/
[mkdocs]: https://www.mkdocs.org/
[mkdocs.yml]: https://www.mkdocs.org/user-guide/configuration/