Skip to main content

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 gittomarkdown==1.0.0

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 directory
    • GTM.py: Core functionality
    • Generator.py: Markdown generation logic
    • MarkdownUtils.py: Markdown formatting utilities
    • Parsers.py: Input file parsers
    • ProgressBar.py: Progress bar implementation
    • Zipper.py: Repository compression utility
    • errors.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


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.4.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file gittomarkdown-1.0.4.tar.gz.

File metadata

  • Download URL: gittomarkdown-1.0.4.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gittomarkdown-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e708adf536413061c46171b0dc63346de5cbc4d21c23c638918ee06589da7619
MD5 5c6da6901736cfdb82eed5a4bf7b2b12
BLAKE2b-256 8cc020c367f80596a3d9c91532e45eb9642e6378fe2fd029225c75e96f2d83e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page