Giter Club home page Giter Club logo

resumed's Introduction

Resumed

npm package version Build status Code coverage Dependencies status

๐Ÿ‘” Lightweight JSON Resume builder, no-frills alternative to resume-cli.

  • ๐Ÿ—œ๏ธ Small (~120 LOC)
  • ๐Ÿ“ฆ Pure ESM package
  • ๐Ÿงฉ CLI and Node.js API
  • ๐Ÿค– TypeScript typings
  • โฑ๏ธ Async render support
  • ๐Ÿงช 100% code coverage

Installation

npm install resumed jsonresume-theme-even # or your theme of choice

Usage

$ resumed --help

  Usage
    $ resumed <command> [options]

  Available Commands
    render      Render resume
    init        Create sample resume
    validate    Validate resume

  For more info, run any command with the `--help` flag
    $ resumed render --help
    $ resumed init --help

  Options
    -v, --version    Displays current version
    -h, --help       Displays this message

See examples.

Commands

render (default)

Render resume.

Usage: resumed render [filename] [options]

Aliases: export

Options:

  • -o, --output: Output filename (default resume.html)
  • -t, --theme: Theme to use
  • -h, --help: Display help message

init

Create sample resume.

Usage: resumed init [filename] [options]

Aliases: create

Options:

  • -h, --help: Display help message

validate

Validate resume.

Usage: resumed validate [filename] [options]

Options:

  • -h, --help: Display help message

Motivation

resume-cli is the original command line tool for JSON Resume, the open source initiative to create a JSON-based standard for resumes. It has served the community well for years, but its broad scope and aging codebase has become increasingly harder to maintain.

Resumed is a complete reimplementation of resume-cli, using more modern technologies while dropping certain features, to remain small and focused.

Theme resolution

Resumed does not install any themes. You must pick and install one yourself, and specify your choice via the --theme option or the .meta.theme field of your resume.

In contrast, resume-cli comes with a default theme, and only supports the --theme option. This is fine for most users, but it ties the default theme package release cycle to that of the CLI, and may be a little more verbose.

Interface

While both tools can be used from the command line, Resumed also provides a fully-tested, strongly-typed Node.js API to create, validate and render resumes programatically.

Other features

Resumed makes some compromises in terms of features, such as no PDF export, local previews or YAML format support. If you miss any of these, you can combine Resumed with other tools, (e.g. Puppeteer for PDF generation, see example) or continue using resume-cli.

resumed's People

Contributors

rbardini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

resumed's Issues

"Could not load theme even. Is it installed?"

My GitHub pipeline is failing to load the Even theme.

https://github.com/jasonpatrickellykrause/jasonpatrickellykrause.github.io/actions/runs/4722875572/jobs/8378060651#step:3:20

Run npm update -g npm --no-fund
  npm update -g npm --no-fund
  npm install resumed -g --no-fund
  npm install jsonresume-theme-even -g --no-fund
  npm root
  npm root -g
  resumed validate resume.json
  resumed render resume.json --theme even --output index.html
  shell: /usr/bin/bash -e {0}

removed 1 package, and changed 43 packages in 10s

added 10 packages in 1s

added 16 packages in [2](https://github.com/jasonpatrickellykrause/jasonpatrickellykrause.github.io/actions/runs/4722875572/jobs/8378060651#step:3:2)s
/home/runner/work/jasonpatrickellykrause.github.io/jasonpatrickellykrause.github.io/node_modules
/usr/local/lib/node_modules
Your resume.json looks amazing! โœจ
Could not load theme even. Is it installed?
Error: Process completed with exit code 1.

I am guessing I need to specify the path to the theme, but I have not been able to figure that out. ๐Ÿคท๐Ÿฝ

Install for GitLab workflow

To get resumed to work on the CLI, I had to install it globally.

      - name: Export resume as HTML
        run: |
          npm install resumed -g
          npm install jsonresume-theme-even
          npm audit fix        
          resumed validate resume.json
          resumed render resume.json --theme even --output index.html

PDF export support ?

As shown in the example, pdf export is pretty straightforward with puppeteer. Considering that many themes do have some PDF export parameters (as resume-cli allowed it), and that PDF is the de-facto standard to share your resume, I think this feature deserves first party support in a resume exporting tool.

I am willing to open a pull request for this, if you'd like.

SyntaxError: Unexpected reserved word

Hi there, it's the first time I'm trying out https://github.com/rbardini/resumed/tree/master/examples/with-pdf-export so forgive me as I'm a beginner. I get the following error but not sure what I've done wrong, any help is appreciated.

user@thinkpad:~/Downloads/testing/test$ npm start

> start
> node index.js

file:///home/user/Downloads/testing/test/index.js:6
const resume = JSON.parse(await fs.readFile('resume.json', 'utf-8'))
                          ^^^^^

SyntaxError: Unexpected reserved word
    at Loader.moduleStrategy (internal/modules/esm/translators.js:133:18)
    at async link (internal/modules/esm/module_job.js:42:21)
user@thinkpad:~/Downloads/testing/test$ 

`resumed init` gives a bad url to `meta.canonical`

Heya,

I'm the author of https://github.com/TaserudConsulting/jsonresume-nix that uses nix to package jsonresume themes and uses resumed to do reproducible builds of resumes. It recently came to my attention in the form of a Pull Request (TaserudConsulting/jsonresume-nix#3) that the meta.canonical URL that I used in my samples were wrong. This was interesting to me since I had just used resumed init to get my sample.

So I dug a bit further, this package depends on resume-schema of version 1.0.0. The filename of the schema in 1.0.0 was resume.json on the master branch. However, after the release of 1.0.0 they have changed this filename on master to schema.json. However... they haven't made a new release of `resume-schema.

So as I see it, there's two things that needs to be done:

  1. resume-schema must tag a new release
  2. resumed can update this dependency and tag a new release

I will also report this to json-resume.

Getting an error Unexpected reserved word

resumed init myresume.json
file:///usr/local/lib/node_modules/resumed/dist/resumed.js:8
await s(new URL(y, import.meta.url), "utf-8")
^^^^^

SyntaxError: Unexpected reserved word
at Loader.moduleStrategy (internal/modules/esm/translators.js:133:18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.