npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dytsou/resume-converter

v2.1.1

Published

A specialized web application that converts LaTeX resume documents to clean, professional HTML and deploys them to GitHub Pages. The system automatically processes your LaTeX resume and creates a beautiful, responsive web version with proper styling and t

Readme

LaTeX to HTML Converter with Automated Deployment

A specialized web application that converts LaTeX resume documents to clean, professional HTML and deploys them to GitHub Pages. The system automatically processes your LaTeX resume and creates a beautiful, responsive web version with proper styling and typography.

Features

  • Automated LaTeX Resume Conversion: Converts .tex resume files to professional HTML with proper formatting
  • Resume-Specific Styling: Clean, professional presentation optimized for resume content
  • CI/CD Pipeline: GitHub Actions workflow that validates and deploys automatically
  • Fail-Safe Deployment: Blocks deployment if any LaTeX file fails to convert
  • Document Browser: Browse all converted documents in a clean, responsive interface
  • MathJax Integration: Proper rendering of mathematical formulas

Project Structure

resume/
├── latex/                  # Store your LaTeX resume files here
│   └── resume.tex          # Main LaTeX resume document
├── scripts/
│   └── convert-latex.mjs   # LaTeX to HTML conversion script
├── src/
│   ├── App.tsx             # Main application
│   ├── main.tsx           # React entry point
│   └── index.css          # Global styles
├── public/
│   ├── converted-docs/     # Generated HTML files (created during build)
│   └── documents-manifest.json  # Document metadata (created during build)
├── dist/                   # Production build output
└── .github/
    └── workflows/
        └── deploy.yml      # CI/CD pipeline configuration

Getting Started

1. Add Your LaTeX Documents

Place your .tex files in the latex/ directory. The converter will automatically process all files with a .tex extension.

Example structure:

latex/
├── my-research-paper.tex
├── math-notes.tex
└── thesis.tex

2. Test Locally

Convert and build the project:

pnpm install
pnpm run convert  # Convert LaTeX files only
pnpm run build    # Convert + build entire project

3. Set Up GitHub Pages

  1. Go to your GitHub repository settings
  2. Navigate to Pages section
  3. Under Source, select "GitHub Actions"

4. Configure Environment Variables

Add your credentials as repository variables for GitHub Actions:

  1. Go to Settings > Variables > Variables tab
  2. Click New repository variable
  3. Add the following variables:
    • VITE_GOOGLE_DRIVE_RESUME_LINK: Your Google Drive share link for the resume (optional)

5. Push to Deploy

git add .
git commit -m "Add LaTeX documents"
git push origin main

The GitHub Actions workflow will:

  1. Install dependencies
  2. Convert all LaTeX files
  3. Validate conversion success
  4. Build the React application
  5. Deploy to GitHub Pages (only if all conversions succeed)

How It Works

Conversion Process

  1. LaTeX Parsing: Uses @unified-latex to parse LaTeX source
  2. HTML Generation: Converts LaTeX AST to HTML with proper structure
  3. MathJax Integration: Mathematical formulas are rendered client-side
  4. Styling: Applies arXiv-inspired CSS for clean academic presentation
  5. Manifest Creation: Generates a JSON file with document metadata

CI/CD Pipeline

The GitHub Actions workflow (.github/workflows/deploy.yml) ensures:

  • All LaTeX files convert successfully before deployment
  • Build fails if any conversion errors occur
  • Only successfully built sites are deployed to GitHub Pages
  • Environment variables are properly injected during build

Database Tracking

The Supabase database stores:

  • Documents Table: Metadata about each LaTeX file (title, author, date)
  • Conversion Logs: History of conversion attempts and errors

Available Scripts

  • pnpm run dev - Start development server
  • pnpm run convert - Convert LaTeX files to HTML
  • pnpm run build - Convert LaTeX + build production bundle
  • pnpm run preview - Preview production build locally
  • pnpm run lint - Run ESLint

Customization

Changing Base Path

If your repository name is different, update vite.config.ts:

base: process.env.GITHUB_PAGES === 'true' ? '/your-repo-name/' : '/',

Styling

Modify the CSS in scripts/convert-latex.mjs to customize the HTML output appearance.

Document Metadata

The converter extracts metadata from LaTeX commands:

  • \title{...} - Document title
  • \author{...} - Author names
  • \date{...} - Publication date

Deployment

Your site will be available at:

https://<username>.github.io/<repository-name>/

Troubleshooting

Conversion Fails

Check the GitHub Actions logs to see which LaTeX file failed and why. Common issues:

  • Unsupported LaTeX packages
  • Syntax errors in LaTeX source
  • Missing closing braces

Deployment Blocked

If deployment is blocked, the CI/CD pipeline detected conversion failures. Fix the LaTeX files and push again.

Local Testing

Run the conversion locally to debug issues:

pnpm run convert

Check the generated files in public/converted-docs/ and review public/documents-manifest.json.

Technologies Used

  • React + TypeScript: Frontend framework
  • Vite: Build tool and dev server
  • @unified-latex: LaTeX parsing and conversion
  • MathJax: Mathematical notation rendering
  • Supabase: Database for tracking conversions
  • GitHub Actions: CI/CD automation
  • GitHub Pages: Static site hosting
  • Source Sans Pro: Typography

License

This project is licensed under the MIT License - see the LICENSE file for details.