- Online editor demo available at kanoa-resume.herokuapp.com/.
- Live version of static resume available at evilkanoa.github.io/WebResume.
- Build a resume using static HTML and CSS files that can be viewed and hosted directly as well as prints nicely.
- Convert the static resume to data only and use a (probably) node based generator to create the static files.
- Create a "front-end" SPA to allow online, in browser editing of the resume, as well as saving and printing.
- Built a static resume using HTML and CSS3 that is now live on
gh-pages
. - Used that static resume as a stepping stone to create a React site that takes in a resume in the format specified below and produces the same output as the static resume.
- Modified the React based generator to add a JSON editor and some common actions.
- Used the current React editor and a new Express server to enable instant collaboration and data persistence with WebSockets (Sockets.io) and a persistent cache (MongoDB).
Available at root repo level. Requires NodeJS 10+ and MongoDB.
For development:
- Clone repo.
- Copy
.env.sample
into.env
and configure it as required. - Run
npm install
. - Start the development server using
npm run dev
.
For a production ready build and server:
- Clone repo.
- Copy
.env.sample
into.env
and configure it as required. - Run
npm install
, thennpm run build
. Static files are ready to be served in thedist
folder. - Use
npm run prod
to run the production server and serve thedist
folder.
{
"type": "res" | "ltr" (defaults to res),
"meta": {
"author": string,
"date": string,
"description": string
},
"data": {
"name": string,
"title": string,
"contact": [{
"icon": string (currently restricted to FontAwesome),
"link": string,
"label": string,
}],
"details": [
{
"type": "summary",
"label": string,
"summary": string
},
{
"type": "skills",
"skillsets": [{
"label": string,
"skills": string
}]
},
{
"type": "details",
"label": string,
"items": [{
"title": string,
"description": string
]}
}
],
"events": [{
"label": string (e.g., "experience", "education", "projects"),
"icon": string (currently restricted to FontAwesome),
"items": [{
"title": string,
"subtitle": string,
"date": string,
"description": string,
"details": [string]
}]
}]
}
}