Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

README

        



splitme Logo


Powerful markdown tools for modern documentation


Build, manage, and scale your documentation workflows.




GitHub Actions


Coverage


PyPI Version


Python Version


MIT License



separator

## 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]



Return to Top


separator

[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/