Skip to main content
Markitecture Logo

Markitecture

The Architecture of Better Documentation.

Tools for modular Markdown workflows and content management.

Documentation · Contribute · Report Bug · Request Feature

separator

What is Markitecture?

Markitecture is a comprehensive Python toolkit designed to streamline your Markdown workflow. Whether you're managing documentation, writing technical content, or maintaining a knowledge base, Markitecture provides essential utilities to make working with Markdown files easier and more efficient.

Key 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.

Quick Start

Installation

Install from PyPI using your preferred package manager.

 pip

Use pip (recommended for most users):

pip install -U markitecture

 pipx

Install in an isolated environment with pipx:

❯ pipx install markitecture

 uv

For the fastest installation use uv:

❯ uv tool install markitecture

Using the CLI

Text Splitting

Split large Markdown files into smaller, organized sections:

markitect \
    --split.i tests/data/readme-ai.md \
    --split.o examples/split-sections-h2

Link Validation

Check for broken links in your documentation:

markitect --check-links.input tests/data/pydantic.md

In your terminal, you'll see a summary of the results:

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

In Markdown, reference-style links let you write cleaner text by keeping URLs in a reference section - think footnotes for the web.

To convert inline links to reference-style links:

markitect \
    --reflinks.input tests/data/pydantic.md \
    --reflinks.output with_refs.md

Static Site Configuration Generation

Generate a MkDocs configuration (mkdocs.yml) from a given Markdown file.

  1. Split the Markdown file into sections:

    markitect \
        --split.i tests/data/readme-ai.md \
        --split.o examples/split-sections-h2
    
  2. Generate the MkDocs configuration:

    markitect \
        --mkdocs.dir examples/split-sections-h2 \
        --mkdocs.site-name "MyDocsSite"
    

See additional example and usage details in the here.


Roadmap

  • Support for additional documentation formats (e.g., reStructuredText, HTML)
  • Enhanced link management utilities
  • Improved content analysis features
  • Integration with more static site generators
  • Plugin system for custom utilities
  • More intuitive CLI commands and options

Contributing

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, write tutorials, etc.
  • Share your feedback and suggestions

License

Copyright © 2024-2025 Markitecture.
Released under the MIT license.

Thematic Break

Metadata

Release files for markitecture 0.2.33

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markitecture 0.2.33
File Size Uploaded
markitecture-0.2.33.tar.gz 257.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for markitecture 0.2.33
File Interpreter ABI Platform
markitecture-0.2.33-py3-none-any.whl Python 3 none any Details

Total release size: 299.4 kB

Release files / markitecture-0.2.33.tar.gz

Download URL markitecture-0.2.33.tar.gz
Size 257.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1e6c9168a9a942f19eb9cdd80a6c84b2485c5f43446115ef9c134e2772c5fe35
BLAKE2b-256 checksum
How to use checksums
0513d41a6be2f674440378ee851070d167d35583f46ddc71e092a68bc63c5c98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 24, 2025.

Transparency log

Release files / markitecture-0.2.33-py3-none-any.whl

Download URL markitecture-0.2.33-py3-none-any.whl
Size 42.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6be779d3d13078083ac52f377187b9754d2a26a634fdd7a5c5fe57342b768133
BLAKE2b-256 checksum
How to use checksums
036b3168d17a344545afcc530b181bf7aab36c7e03bbcd0810f24a3e185b3e3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 24, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.33 This release

2 release files

0.2.32

2 release files

0.2.31

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.15

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page