Skip to content

metaory/jsonresume-theme-legacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

⌞⌃⌄⌝

jsonresume theme v7.x
demo | sample.pdf


USAGE

# clone
git clone [email protected]:metaory/jsonresume-theme-legacy.git

# navigate
cd jsonresume-theme-legacy

# install dependencies
npm install

# run development
npm run dev

# view sample page
http://localhost:5173

# build sample pdf
npm run build:sample

# duplicate the resume data
cp src/pages/index.json src/pages/private.json

# update the resume data
nvim src/pages/private.json

# customize theme (optional)
# set "theme-hue": 120 and "theme-sat": 5 in meta.themeOptions (JSON-first)
# starts in light mode (matches PDF exports)

# view newly created page
http://localhost:5173/private

# build private pdf
npm run build:private

# optimize and version pdf (creates: private.{USER}.v{VERSION}.pdf)
npm run optimize:pdf

# or combine both steps
npm run build:private && npm run optimize:pdf

# for sample pdf optimization
npm run build:sample && npm run optimize:pdf out/sample.pdf

Note

PDF generation requires a Chromium-based browser. Update package.json scripts to use your browser: chrome, edge, brave, etc.

Tip

Additional scripts: npm run optimize:images | npm run optimize:pdf | npm run build:screenshot | npm run preview


CUSTOMIZATION

Icons

Uses Iconify. Override in meta.themeOptions.iconMap:

{
  "meta": {
    "themeOptions": {
      "iconMap": {
        "system-design": "mingcute:ghost-line",
        "javascript": "fluent:code-js-rectangle-16-filled"
      }
    }
  }
}

Keys must be lowercase. Restart dev server after changes.


Images

Remote or local paths (local from root):

{
  "basics": {
    "image": "https://avatars.githubusercontent.com/u/9919",
    "logo": "/.dev/my-private-logo.png"
  }
}

Summary

basics.summary accepts raw HTML.

Sections

Control section order, visibility, and titles:

{
  "meta": {
    "themeOptions": {
      "sections": {
        "basics": true,
        "work": "Professional Experience",
        "skills": true,
        "projects": false
      }
    }
  }
}
  • Default: All sections render in default order
  • Visibility: Set to false to hide section
  • Titles: String values override defaults, true uses default title
  • Order: CSS Grid areas (todo)
Examples

Default behavior (no config):

// Renders all sections in default order

Hide specific sections:

{
  "meta": {
    "themeOptions": {
      "sections": {
        "projects": false,
        "volunteer": false
      }
    }
  }
}

Custom order + hide + custom titles:

{
  "meta": {
    "themeOptions": {
      "sections": {
        "work": "Professional Experience",
        "skills": true,
        "basics": true,
        "projects": false
      }
    }
  }
}

Minimal config (just reorder):

{
  "meta": {
    "themeOptions": {
      "sections": {
        "work": true,
        "skills": true,
        "basics": true
      }
    }
  }
}

Titles

Override in meta.themeOptions.sectionTitles.


Themes

{
  "meta": {
    "themeOptions": {
      "theme-hue": 300,  // 0-360 degrees
      "theme-sat": 5     // 0-100%
    }
  }
}

Live theme editor in top-right corner with hue/saturation sliders. Starts in light mode.


Troubleshooting

  • Dev server must be running before PDF builds
  • Requires Chromium-based browser for PDF exports (Chrome, Edge, Brave, etc.)
  • Update package.json scripts to use your browser: chrome, edge, brave, etc.
  • Tested on Linux and macOS (Windows may work but untested)

Unstable rev3

Note

rev3

  • Astro over Handlebars + Vite
  • 50% smaller (~1,535 vs ~3,110 lines)
jsonresume-theme-roundy v0.10.0
demo | sample.pdf
github.com/metaory/jsonresume-theme-roundy

LICENSE

MIT

About

Legacy JSONResume Iconify, colors, PDF

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •