Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/murshidazher/resume
:writing_hand: A simple tool to automate my resume generation.
https://github.com/murshidazher/resume
cv hogan pdf phantomjs resume resume-automation resume-generator tachyons
Last synced: about 4 hours ago
JSON representation
:writing_hand: A simple tool to automate my resume generation.
- Host: GitHub
- URL: https://github.com/murshidazher/resume
- Owner: murshidazher
- License: mit
- Created: 2020-10-24T23:35:41.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-28T21:24:10.000Z (2 months ago)
- Last Synced: 2024-08-28T22:44:42.899Z (2 months ago)
- Topics: cv, hogan, pdf, phantomjs, resume, resume-automation, resume-generator, tachyons
- Language: JavaScript
- Homepage: https://resume-prod-f54f.onrender.com
- Size: 313 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [resume](https://github.com/murshidazher/resume)
![GitHub package.json version](https://img.shields.io/github/package-json/v/murshidazher/resume?style=flat-square)
![GitHub](https://img.shields.io/github/license/murshidazher/resume?style=flat-square)
![Blazing Fast](https://img.shields.io/badge/speed-blazing%20%F0%9F%94%A5-brightgreen.svg?style=flat-square)> A simple tool to automate my resume generation.
- A tool to automate my resume generation process using `JSON` and `hojan` templating engine.
#### Rationale
Designing your resume or adding a new property can be repetitive and time-consuming. This project simplifies that process making it hassle-free and enjoyable. Satisfaction 💯 💯
## Table of Contents
- [resume](#resume)
- [Rationale](#rationale)
- [Table of Contents](#table-of-contents)
- [Tools](#tools)
- [Installing / Getting started](#installing--getting-started)
- [Initial Configuration](#initial-configuration)
- [Developing](#developing)
- [Usage](#usage)
- [Command line](#command-line)
- [Web UI](#web-ui)
- [Handlers](#handlers)
- [Templating](#templating)
- [License](#license)## Tools
- :hourglass: [dayjs time format](https://day.js.org/docs/en/parse/string-format) - a `2kb` datetime library.
- :ghost: [PhantomJS](https://phantomjs.org/quick-start.html) - a headless web browser scriptable with JavaScript.
- :zap: [Hogan.js](https://twitter.github.io/hogan.js/) - a JS templating engine developed at Twitter## Installing / Getting started
### Initial Configuration
First of all you have to install `npm` and `node.js` to your box - note that `NodeJS 6+` is required. See following links to help you with installation:
- [Installing Node.js via package manager](https://nodejs.org/en/download/package-manager/)
- [Node Version Manager](https://github.com/creationix/nvm#installation)### Developing
First of all you have to install `npm` and `node.js` to your box. Installation instructions can
be found [here](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager).Note that `node.js 6.x` or higher is required.
```bash
$ git clone https://github.com/murshidazher/resume.git
$ cd resume# install the project's dependencies
$ npm install# fast install (via Yarn, https://yarnpkg.com)
$ yarn install # or yarn
```### Deployment
> The stackoverflow [link](https://stackoverflow.com/questions/72727784/ssl-error-when-using-html-pdf-in-a-render-instance)
If you run across the following error `(libssl_conf.so): libssl_conf.so: cannot open shared object file`,
Add the following to the environment variable```sh
OPENSSL_CONF=/etc/ssl/
```## Usage
### Command line
See help
```bash
$ npm run convert
# OR
$ node bin/convert
```Creating example file
```bash
$ npm run convert -- src/examples/index.html out/index.pdf --data '{"name": "Your Name", "dateformat": "MMM YYYY", "title": "Lorem ipsum dolor."}'
# OR
$ node bin/convert src/examples/index.html out/index.pdf --data '{"name": "Your Name", "dateformat": "MMM YYYY", "title": "Lorem ipsum dolor."}'
```### Web UI
Start server
```bash
npm start
```Then open your `http://localhost:3000/` within your favorite browser.
### Handlers
Handlers are way to make embedded data-conversions to templates.
Create your own pipeline handlers and add them to `index.js` and add them to all promise middleware,
```js
...
Promise
.all([
someOtherHandler(data),
yourHandler(data)
]
...
```### Templating
Can be embedded to template HTML:
```html
```## License
[MIT](https://github.com/murshidazher/murshid/blob/resume/LICENSE) © Murshid Azher.