An open API service indexing awesome lists of open source software.

https://github.com/daniel7grant/cv

CV website
https://github.com/daniel7grant/cv

cv-website handlebars javascript scss webpack

Last synced: 14 days ago
JSON representation

CV website

Awesome Lists containing this project

README

          

# CV

A JSON-generated CV website using modern JavaScript and CSS animations.

## Used technologies

This repository contains both server-side and client-side code. The server is a minimalistic Node.js-based Express server (one could argue if it is necessary for a static page, but I like my nice routes).

On the client-side, my build tool of choice is Webpack. I mostly used it to transpile modern sources to plain HTML, CSS and JS. For templating, I use Handlebars, the themes were generated by SCSS. The JavaScript as minimal as it can be was written with ES6 syntax using a functional approach. Special thanks to MopTym's [DoSlide](https://github.com/MopTym/doSlide) and zenorocha's [clipboard.js](https://github.com/zenorocha/clipboard.js) for making me not write a slider and a clipboard with native sources.

I purloined the icons from multiple sources, including [devicon](https://github.com/konpa/devicon) and [vendor-icons-svg](https://github.com/bobthebutcher/vendor-icons-svg).

The images are mine, including the overfiltered cover image. You can create your own with Gimp filters (probably the Newsprint filter).

## Deployment

### Installation

After you cloned the repository, you have to install both server-side and client-side packages (you have to have `node` installed on your computer).
```bash
npm install
cd public
npm install
```

### Running

For running you have to compile the sources to the `dist/` folder.
```bash
webpack -p --progress
```

Then you just run the `index.js` with node. You can change ports with the PORT environmental variable, if you want it (default is 8082).
```bash
node index.js
PORT=80 node index.js # Might differ depending on the OS
```

For actual deployment, I advise to wrap the node scripts into a systemd unit, with NGINX reverse proxy mapping the domain name to the node server.

### Change the content

You can change the content of the page without any knowledge in coding by modifying the `content.js` JSON file. Recompile your sorces with webpack after you finished.

If you use the page, please pay me a mention.