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

@khannara/resume-generator

v1.0.0

Published

Markdown-to-PDF resume generator with professional themes. Single source of truth for your career.

Readme

@khannara/resume-generator

Markdown-to-PDF resume generator with professional themes. Single source of truth for your career.

npm version License: MIT

Why This Exists

Your resume shouldn't be a Word doc that gets out of sync across 5 different versions. This tool lets you:

  • Maintain one markdown file as the source of truth
  • Generate professional PDFs with a single command
  • Version control your career with Git
  • Automate updates in CI/CD pipelines

Built for developers who want their resume workflow to be as clean as their code.

Installation

npm install -g @khannara/resume-generator

Prerequisites

This package requires two system dependencies:

# Windows
winget install JohnMacFarlane.Pandoc
winget install wkhtmltopdf.wkhtmltox

# macOS
brew install pandoc wkhtmltopdf

# Linux (Debian/Ubuntu)
sudo apt install pandoc wkhtmltopdf

Verify installation:

resume-gen check

Quick Start

# Create a sample resume
resume-gen init

# Edit resume/resume.md with your information

# Generate PDF
resume-gen build resume/resume.md -o public/resume.pdf

Usage

CLI Commands

# Build PDF from markdown
resume-gen build <input.md> [options]

Options:
  -o, --output <path>     Output PDF path (default: "resume.pdf")
  -t, --theme <name>      Theme: modern, classic, minimal (default: "modern")
  -p, --page-size <size>  Page size: letter, a4 (default: "letter")
  -m, --margin <inches>   Page margins (default: "0.75in")
  -v, --verbose           Enable verbose output

# Check dependencies
resume-gen check

# List available themes
resume-gen themes

# Create sample resume.md
resume-gen init [-o path]

Programmatic API

import { convert, checkDependencies } from '@khannara/resume-generator';

// Check if dependencies are installed
const deps = checkDependencies();
if (!deps.pandoc || !deps.wkhtmltopdf) {
  console.error('Missing dependencies');
  process.exit(1);
}

// Convert markdown to PDF
const result = await convert({
  input: 'resume/resume.md',
  output: 'public/resume.pdf',
  theme: 'modern',
  pageSize: 'letter',
  margin: '0.75in',
});

if (result.success) {
  console.log(`Generated: ${result.outputPath}`);
} else {
  console.error(`Failed: ${result.error}`);
}

Themes

Modern (default)

Clean, minimalist design with subtle accent colors. Best for tech roles.

Classic

Traditional format using serif fonts. ATS-friendly, suitable for conservative industries.

Minimal

Ultra-simple, content-focused design. Maximum readability.

Custom Themes

Use your own CSS file:

resume-gen build resume.md --theme ./my-theme.css

Resume Markdown Format

# Your Name

**Your Title**

City, State | [email protected] | yourwebsite.com | linkedin.com/in/you

---

## Summary

Brief 2-3 sentence summary of your experience.

---

## Experience

### Job Title
**Company Name** | Year — Present

- Key achievement with metrics
- Another accomplishment
- Technical skills demonstrated

---

## Technical Skills

**Languages:** JavaScript, TypeScript, Python
**Frameworks:** React, Node.js, Next.js

---

## Education

**Degree, Major**
University Name | Year — Year

Integration with Portfolio Projects

Add to your package.json:

{
  "scripts": {
    "resume:build": "resume-gen build resume/resume.md -o public/resume.pdf --theme modern"
  }
}

GitHub Actions Auto-Build

name: Build Resume

on:
  push:
    paths:
      - 'resume/resume.md'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y pandoc wkhtmltopdf

      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Build resume
        run: |
          npm install -g @khannara/resume-generator
          resume-gen build resume/resume.md -o public/resume.pdf

      - name: Commit PDF
        run: |
          git config user.name github-actions
          git config user.email [email protected]
          git add public/resume.pdf
          git commit -m "chore: rebuild resume PDF" || exit 0
          git push

Contributing

Contributions welcome! Please read the contributing guidelines first.

License

MIT © Khannara Phay