A Python tool for converting PowerPoint .pptx files to Marp Markdown
Project description
PPTX to Marp Converter
A Python-based converter for turning Microsoft PowerPoint .pptx files into Marp-compatible Markdown.
Features
- Convert slide text into Markdown
- Marp frontmatter generation (
marp: true,paginate: true) - Slide separator generation (
---) - Export picture shapes into
assets/ - Convert simple tables to Markdown tables
- Command line interface
- Batch conversion with wildcard support
- Project packaging with
pyproject.toml - GitHub Action for release and PyPI publish
Installation
Install from source
git clone https://github.com/HNRobert/pptx2marp.git
cd pptx2marp
pip install -e .
Install only runtime dependency
pip install python-pptx
Usage
Command line tool
After installation, use pptx2marp:
# Convert a single file
pptx2marp demo.pptx
# Convert and write to output file
pptx2marp demo.pptx -o demo.md
# Batch conversion to output directory
pptx2marp *.pptx -o out/
# Override Marp title field
pptx2marp demo.pptx -o demo.md -t "Team Weekly Report"
# Verbose logs
pptx2marp demo.pptx -v
Python script entry
python main.py demo.pptx -o demo.md
Output structure
With default behavior, converting slides.pptx creates:
slides/
slides.md
assets/
slide001_img01.png
slide002_img01.jpg
If a slide contains no extractable content, converter outputs:
<!-- empty slide -->
Development
Build distribution artifacts:
python -m pip install --upgrade build
python -m build --sdist --wheel
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pptx2marp-0.0.2.tar.gz.
File metadata
- Download URL: pptx2marp-0.0.2.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3560222a63089a039b5ffdc3ff8d2149945025a85869644cb90c7ae378740c1d
|
|
| MD5 |
fb528127d5529ada8fceae145b208efb
|
|
| BLAKE2b-256 |
ccf00aba73280d67bac44869f7fdb6ff4321af5d1068c2acecce5274f9b03f0f
|
Provenance
The following attestation bundles were made for pptx2marp-0.0.2.tar.gz:
Publisher:
publish-pypi.yml on hnrobert/pptx2marp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pptx2marp-0.0.2.tar.gz -
Subject digest:
3560222a63089a039b5ffdc3ff8d2149945025a85869644cb90c7ae378740c1d - Sigstore transparency entry: 1194163749
- Sigstore integration time:
-
Permalink:
hnrobert/pptx2marp@358c4b6b78905b3f218d96e66825f0dfc2fcce4c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hnrobert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@358c4b6b78905b3f218d96e66825f0dfc2fcce4c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file pptx2marp-0.0.2-py3-none-any.whl.
File metadata
- Download URL: pptx2marp-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ac90ea349a9719f078a210132c74d1d6ba067ebf3b59f4f287592ae7ad681d5
|
|
| MD5 |
1b2ec7dde05edfdf833e7919098720d0
|
|
| BLAKE2b-256 |
2e61613ffeb6b9463e68fa16f7ddb3d1f58c2b64585baefded78740b33f2f5c3
|
Provenance
The following attestation bundles were made for pptx2marp-0.0.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on hnrobert/pptx2marp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pptx2marp-0.0.2-py3-none-any.whl -
Subject digest:
5ac90ea349a9719f078a210132c74d1d6ba067ebf3b59f4f287592ae7ad681d5 - Sigstore transparency entry: 1194163765
- Sigstore integration time:
-
Permalink:
hnrobert/pptx2marp@358c4b6b78905b3f218d96e66825f0dfc2fcce4c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/hnrobert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@358c4b6b78905b3f218d96e66825f0dfc2fcce4c -
Trigger Event:
workflow_dispatch
-
Statement type: