Skip to main content

A Shiny app to convert LLM Markdown exports to PDF with Quarto

Project description

Markdown to PDF Converter (llmmd2pdf)

A local Python application built with Shiny for Python that allows you to paste Markdown text, preprocess it (specifically optimized for Gemini/LLM exports), and convert it to PDF using Quarto.

Features

  • GUI Interface: Clean Shiny layout for text input and settings.
  • Smart Preprocessing: Cleans "Gemini Apps Activity" footers, removes profile placeholders, and cleans artifact tags.
  • Native Directory Picker: Robustly handles native macOS file dialogs via a subprocess.
  • Quarto Integration: High-quality PDF conversion.
  • Metadata & Config: Autosaves your favorite models, author name, and stores them in the standard OS configuration path.

Prerequisites

  1. Python 3.9+
  2. Quarto CLI: Required for PDF generation.

Option 1: Installation via PyPI (Recommended)

This is the easiest way to use the tool.

  1. Install the package:
    pip install llmmd2pdf

  2. Run the app:
    llmmd2pdf

    The app will open in your browser automatically.

Option 2: Installation from Source (GitHub)

Use this if you want to modify the code or contribute.

  1. Clone the repository:
    git clone [https://github.com/yourusername/llmmd2pdf.git\](https://github.com/yourusername/llmmd2pdf.git)
    cd llmmd2pdf

  2. Install in editable mode:
    pip install -e .

  3. Run the app:
    llmmd2pdf

Configuration

The application stores settings in the standard Application Support folder for your OS.

  • macOS: ~/Library/Application Support/llmmd2pdf/config.toml
  • Windows: %APPDATA%/llmmd2pdf/config.toml
  • Linux: ~/.config/llmmd2pdf/config.toml

This file is automatically created when you run the app. You can modify it to set default models, your name, or the server port.

Default Config:
models = [ "Claude Haiku 4.5", "Claude Opus 4.5", "Claude Sonnet 4.5", "GPT-4o", "GPT-4o mini", "GPT-5", "GPT-5.1", "Gemini 3 Pro"]
author = "Karl Dafoe"
port = 5555 # Change this to run on a different port

Changing the Port

You can change the port by editing the port value in the config file above. The next time you run llmmd2pdf, it will bind to that port.

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

llmmd2pdf-0.1.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmmd2pdf-0.1.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file llmmd2pdf-0.1.1.tar.gz.

File metadata

  • Download URL: llmmd2pdf-0.1.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for llmmd2pdf-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c9268f793dde18753794bf088f28a47d165e501c68f7b24c380f4b8d59b773eb
MD5 df42eb22e52008ec1c7106362ca47b14
BLAKE2b-256 291f6462045450711b765063fb99f0c376ab8df2f6a57fddadf16e58545ef472

See more details on using hashes here.

File details

Details for the file llmmd2pdf-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: llmmd2pdf-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for llmmd2pdf-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 da4b94aa7c6b4c2a91b2fe2c1e3e59996eade62674224bf3979301dbb9e20554
MD5 95814e8a88dc9b996568474cea6809ef
BLAKE2b-256 699d3e034d168c5560d5d98b6a2416992d33719ea4125ca921d866f34aae52fc

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