A tool to generate Markdown documentation from Git repositories
Project description
GitToMarkdown
A Python tool that automatically generates Markdown documentation from Git repositories. It creates comprehensive documentation including directory structure and file contents in a well-organized Markdown format.
Features
- Clone and document Git repositories via HTTPS or SSH
- Concurrent processing of multiple repositories
- Generate directory tree structure in Markdown
- Include file contents with syntax highlighting
- Support for XML and JSON input files containing repository URLs
- Progress bars for clone and documentation generation
- Configurable thread count for parallel processing
Installation
pip install -r requirements.txt
Usage
Basic Usage
from GitToMarkdown.GTM import GitToMark
# Document a single repository
repo = GitToMark("https://github.com/username/repository.git")
repo.generate
# Document multiple repositories
repos = GitToMark([
"https://github.com/user1/repo1.git",
"https://github.com/user2/repo2.git"
])
repos.generate
Using SSH
# Configure SSH key path first
GitToMark.config(ssh_path="/path/to/your/ssh/key")
# Clone and document using SSH
repo = GitToMark("git@github.com:username/repository.git", ssh=True)
repo.generate
Batch Processing from Files
# From XML file
repos = GitToMark.from_xml("repositories.xml")
repos.generate
# From JSON file
repos = GitToMark.from_json("repositories.json")
repos.generate
# From text file (one URL per line)
repos = GitToMark.from_file("repositories.txt")
repos.generate
Configuration
# Configure thread count and SSH key path
GitToMark.config(threads=8, ssh_path="/path/to/ssh/key")
Directory Structure
GitToMarkdown/: Main package directoryGTM.py: Core functionalityGenerator.py: Markdown generation logicMarkdownUtils.py: Markdown formatting utilitiesParsers.py: Input file parsersProgressBar.py: Progress bar implementationZipper.py: Repository compression utilityerrors.py: Custom error definitions
Output
The generated documentation will be saved in the Output directory with the following format:
- Repository tree structure
- File contents with syntax highlighting based on file extension
- Organized sections with clear headers
Requirements
- Python 3.6+
- GitPython
- requests
- tqdm
- configparser
License
This project is under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gittomarkdown-1.0.0.tar.gz
(3.2 kB
view details)
File details
Details for the file gittomarkdown-1.0.0.tar.gz.
File metadata
- Download URL: gittomarkdown-1.0.0.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ddc7b98abfa219274bc5ececb276149b8987bd54b99eb286f5e98872383afcb
|
|
| MD5 |
65bc09e4e00744cc247d1dfb17024877
|
|
| BLAKE2b-256 |
7992c1b5c0ba98de2fd5c7b8dbe14282573e18b92b894800d535173a00d03d94
|