Resume markdown to print ready HTML for email or web
Project description
Markdown Resume Generator
A simple, lightweight tool to convert markdown-formatted resumes into beautiful, print-ready HTML documents styled with Tailwind CSS.
Features
- Convert Markdown to styled HTML resumes
- Modern design with Tailwind CSS
- Automatic header detection for contact information
- Print-optimized layout
- No external dependencies (Python standard library only)
- Responsive design for both screen and print
Installation
From PyPI
pip install resume-md
From Source
git clone git@github.com:SamCullin/resume-md.git
cd resume-md
pip install -e .
Development Setup
To set up the development environment:
git clone git@github.com:SamCullin/resume-md.git
cd resume-md
pip install -e ".[dev]"
Usage
Basic Usage
resume-md --input your_resume.md
This will generate an HTML file with the same name as your input file (e.g., your_resume.html).
Command Line Options
resume-md --help
Available options:
--input,-i: Path to input markdown file (default: resume.md)--output,-o: Path to output HTML file (default: <input_name>.html)--template,-t: Path to HTML template file (use built-in template if not specified)--version,-v: Show version information and exit
Using as a Library
from resume_md.tokenizer import MarkdownTokenizer, read_markdown_file
from resume_md.component_factory import tokens_to_components
from resume_md.renderer import Renderer
# Read and tokenize markdown
markdown_text = read_markdown_file("resume.md")
tokenizer = MarkdownTokenizer(markdown_text)
tokens = tokenizer.tokenize()
# Convert tokens to components and render to HTML
components = tokens_to_components(tokens)
renderer = Renderer()
rendered = renderer.render_components(components)
# Access the header and content HTML
header_html = rendered["header"]
content_html = rendered["content"]
Markdown Format
The resume-md tool supports a specific markdown format designed for resumes. For examples, see:
Development
Running Tests
pytest
# With coverage
pytest --cov=resume_md
Code Formatting
black resume_md
isort resume_md
Project Structure
resume_md/: Main package__init__.py: Package initializationmain.py: CLI entry pointtokenizer.py: Markdown tokenizercomponents.py: Component data classescomponent_factory.py: Converts tokens to componentsrenderer.py: Renders components as HTMLtemplate.html: HTML template
tests/: Test cases.github/workflows/: CI/CD workflows
Repository
- GitHub: https://github.com/SamCullin/resume-md
- SSH:
git@github.com:SamCullin/resume-md.git
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 resume_md-1.0.16.tar.gz.
File metadata
- Download URL: resume_md-1.0.16.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d355e78a8823fffe2e2e56b30fb6ff7c29a89cf2c7a3a395971010889f71cba
|
|
| MD5 |
6df5397a8175b563ca47b48d86f12e75
|
|
| BLAKE2b-256 |
1add7949ffbe27cdd4fe05bdee11dde4d2073b8f61cd73995883cbbc006d7918
|
Provenance
The following attestation bundles were made for resume_md-1.0.16.tar.gz:
Publisher:
publish.yml on SamCullin/resume-md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
resume_md-1.0.16.tar.gz -
Subject digest:
8d355e78a8823fffe2e2e56b30fb6ff7c29a89cf2c7a3a395971010889f71cba - Sigstore transparency entry: 212673795
- Sigstore integration time:
-
Permalink:
SamCullin/resume-md@d923cdc66613cd5aada24837a6f363f036d07da6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SamCullin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d923cdc66613cd5aada24837a6f363f036d07da6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file resume_md-1.0.16-py3-none-any.whl.
File metadata
- Download URL: resume_md-1.0.16-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3357e4177a2d64f66103383ce036f493a40cbebae2c0d862a7d41c0daa07bef1
|
|
| MD5 |
00be04436672f6f9969eec9a6b5134c8
|
|
| BLAKE2b-256 |
6a6506e9f33c07f831877fb90ebe232576a37e7c5c0f38941eb61a271ee57490
|
Provenance
The following attestation bundles were made for resume_md-1.0.16-py3-none-any.whl:
Publisher:
publish.yml on SamCullin/resume-md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
resume_md-1.0.16-py3-none-any.whl -
Subject digest:
3357e4177a2d64f66103383ce036f493a40cbebae2c0d862a7d41c0daa07bef1 - Sigstore transparency entry: 212673797
- Sigstore integration time:
-
Permalink:
SamCullin/resume-md@d923cdc66613cd5aada24837a6f363f036d07da6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SamCullin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d923cdc66613cd5aada24837a6f363f036d07da6 -
Trigger Event:
push
-
Statement type: