A Flask web application for converting document formats using Pandoc.
- Upload and convert documents between various formats
- Supported input formats: DOCX, TXT, HTML, PPTX
- Supported output formats: GFM (GitHub Flavored Markdown), HTML, DOCX, PDF, TXT
- Beautiful, modern UI with drag & drop functionality
- Real-time conversion status updates
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python run.py
- Open http://localhost:5000 in your browser
- Install Vercel CLI:
npm i -g vercel
- Make sure you have a Vercel account at vercel.com
- Login to Vercel (if not already logged in):
vercel login
- Deploy the project:
vercel
-
Follow the prompts:
- Link to existing project? → No
- Project name → rkit-file-converter (or your preferred name)
- Directory → ./ (current directory)
- Override settings? → No
-
Set up environment variables (optional):
vercel env add FLASK_ENV production
- Deploy to production:
vercel --prod
- Vercel's serverless functions have a 10-second timeout limit
- File processing is limited to 50MB
- Pandoc may not be available in the Vercel environment
For production use with file conversion capabilities, consider:
- Heroku - Supports Pandoc and longer processing times
- DigitalOcean App Platform - Good for Python applications
- AWS Lambda - Serverless with custom runtime for Pandoc
- Google Cloud Run - Container-based deployment
task/
├── app/
│ ├── __init__.py # Flask app factory
│ ├── routes.py # API routes
│ ├── static/ # Static assets (CSS, JS, images)
│ └── templates/ # HTML templates
├── uploads/ # Uploaded files (local only)
├── output/ # Converted files (local only)
├── run.py # Application entry point
├── requirements.txt # Python dependencies
├── vercel.json # Vercel configuration
└── README.md # This file
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript
- Document Conversion: Pandoc
- Deployment: Vercel
This project is open source and available under the MIT License.
- Install Heroku CLI:
heroku login
- Make sure you have a Heroku account at heroku.com
- Create a new Heroku app:
heroku create
- Deploy the project:
git push heroku main
- Add a buildpack for Pandoc:
heroku buildpacks:add https://github.com/ryandotsmith/buildpack-pandas
- Heroku's dyno instances have limited storage and processing power
- File processing is limited to 50MB
- Pandoc may not be available in the Heroku environment
For production use with file conversion capabilities, consider:
- DigitalOcean App Platform - Good for Python applications
- Google Cloud Run - Container-based deployment
- AWS EC2 or Lightsail - Full server for Pandoc and Flask
task/
├── app/
│ ├── __init__.py # Flask app factory
│ ├── routes.py # API routes
│ ├── static/ # Static assets (CSS, JS, images)
│ └── templates/ # HTML templates
├── uploads/ # Uploaded files (local only)
├── output/ # Converted files (local only)
├── run.py # Application entry point
├── requirements.txt # Python dependencies
├── vercel.json # Vercel configuration
└── README.md # This file
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript
- Document Conversion: Pandoc
- Deployment: Heroku
This project is open source and available under the MIT License.
web: gunicorn run:app