diff --git a/README.md b/README.md index aa63214..96e6459 100644 --- a/README.md +++ b/README.md @@ -42,15 +42,14 @@ best-resume-ever requires at least node v.8.5.0. 2. Run `npm install`. -3. Edit your personal data in `src/person.js`. +3. Customize your resume in the `resume/` directory: edit your data `data.yml` and replace your profile-picture `id.jpg`. -4. Replace your profile-picture in `src/assets/person.jpg`. +4. Preview resumes with `npm run dev`. -5. Preview resumes with `npm run dev`. +5. Export with `npm run export`. -6. Export with `npm run export`. -All resumes will be exported to `/pdf`. +All resumes will be exported to the `pdf/` folder.
diff --git a/package.json b/package.json index 3edf7d7..cdc038e 100755 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ }, "dependencies": { "font-awesome": "4.7.0", + "js-yaml": "3.10.0", "material-design-icons": "3.0.1", "material-icons": "0.1.0", "npm-font-open-sans": "1.1.0", diff --git a/resume/data.yml b/resume/data.yml new file mode 100755 index 0000000..a70d388 --- /dev/null +++ b/resume/data.yml @@ -0,0 +1,70 @@ +/* #*/ export const PERSON = ` +name: + first: John + middle: + last: Doe +about: Hi, my name is John Doe. I"m just about the most boring type of person you could + possibly imagine. I like collecting leaves from the tree in my back yard and documenting + each time I eat a peanut that is non-uniform. I am not a robot. Please hire me. +position: Software Developer + +birth: + year: 1990 + location: New York + +experience: +- company: Company A + position: Developer + timeperiod: since January 2016 + description: Programming and watching cute cat videos. + +- company: Company B + position: Frontend Developer + timeperiod: January 2015 - December 2015 + description: Fulfillment of extremely important tasks. + +- company: Company C + position: Trainee + timeperiod: March 2014 - December 2014 + description: Making coffee and baking cookies. + +education: +- degree: Master of Arts + timeperiod: March 2012 - December 2013 + description: Major in Hacking and Computer Penetration, University A, New York, USA. + +- degree: Bachelor of Science + timeperiod: March 2009 - December 2011 + description: Major in Engineering, University B, Los Angeles, USA. + +# skill level goes 0 to 100 +skills: +- name: HTML5 + level: 99 +- name: CSS3 + level: 95 +- name: JavaScript + level: 97 +- name: Node.js + level: 93 +- name: Angular 2 + level: 60 +- name: TypeScript + level: 80 +- name: ES.Next + level: 70 +- name: Docker + level: 99 +knowledge: Also proficient in Adobe Photoshop and Illustrator, grew up bilingual + (English and Klingon). + +contact: + email: john.doe@email.com + phone: 0123 456789 + street: 1234 Broadway + city: New York + website: johndoe.com + github: johnyD +# en, de, fr, pt, cn, it, es, th, pt-br, ru, sv, id, hu, pl, ja, nl, he, zh-tw, lt +lang: en +` diff --git a/src/assets/person.jpg b/resume/id.jpg similarity index 100% rename from src/assets/person.jpg rename to resume/id.jpg diff --git a/src/lang/ja.js b/src/lang/ja.js index 368f7c8..9187359 100755 --- a/src/lang/ja.js +++ b/src/lang/ja.js @@ -1,5 +1,5 @@ /* eslint-disable */ -const cn = { +const jp = { headings: { contact: '連絡先', experience: '職務経歴', @@ -8,4 +8,4 @@ const cn = { about: '自己紹介' } }; -export default cn; +export default jp; diff --git a/src/person.js b/src/person.js deleted file mode 100755 index 3774b9f..0000000 --- a/src/person.js +++ /dev/null @@ -1,88 +0,0 @@ -/* eslint-disable */ -export const PERSON = { - name: { - first: 'John', - middle: '', - last: 'Doe', - }, - about: 'Hi, my name is John Doe. I\'m just about the most boring type of person you could possibly imagine. I like collecting leaves from the tree in my back yard and documenting each time I eat a peanut that is non-uniform. I am not a robot. Please hire me.', - position: 'Software Developer', - birth: { - year: 1990, - location: 'New York' - }, - experience: [{ - company: 'Company A', - position: 'Developer', - timeperiod: 'since January 2016', - description: 'Programming and watching cute cat videos.' - }, - { - company: 'Company B', - position: 'Frontend Developer', - timeperiod: 'January 2015 - December 2015', - description: 'Fulfillment of extremely important tasks.' - }, - { - company: 'Company C', - position: 'Trainee', - timeperiod: 'March 2014 - December 2014', - description: 'Making coffee and baking cookies.' - } - ], - education: [{ - degree: 'Master of Arts', - timeperiod: 'March 2012 - December 2013', - description: 'Major in Hacking and Computer Penetration, University A, New York, USA.' - }, - { - degree: 'Bachelor of Science', - timeperiod: 'March 2009 - December 2011', - description: 'Major in Engineering, University B, Los Angeles, USA.' - } - ], - // skill level goes 0 to 100 - skills: [{ - name: 'HTML5', - level: '99' - }, - { - name: 'CSS3', - level: '95' - }, - { - name: 'JavaScript', - level: '97' - }, - { - name: 'Node.js', - level: '93' - }, - { - name: 'Angular 2', - level: '60' - }, - { - name: 'TypeScript', - level: '80' - }, - { - name: 'ES.Next', - level: '70' - }, - { - name: 'Docker', - level: '99' - } - ], - skillDescription: 'Also proficient in Adobe Photoshop and Illustrator, grew up bilingual (English and Klingon).', - contact: { - email: 'john.doe@email.com', - phone: '0123 456789', - street: '1234 Broadway', - city: 'New York', - website: 'johndoe.com', - github: 'johnyD' - }, - lang: 'en' // en, de, fr, pt, cn, it, es, th, pt-br, ru, sv, id, hu, pl, ja, nl, he, zh-tw, lt -}; diff --git a/src/resumes/left-right.vue b/src/resumes/left-right.vue index 1552663..f7b9faf 100755 --- a/src/resumes/left-right.vue +++ b/src/resumes/left-right.vue @@ -64,7 +64,7 @@ - {{person.skillDescription}} + {{person.knowledge}} @@ -144,7 +144,7 @@ export default Vue.component(name, getVueOptions(name)); width:100%; height:100%; border-radius:50%; - background-image:url('../assets/person.jpg'); + background-image:url('../../resume/id.jpg'); background-repeat:none; background-position:center; background-size:cover; diff --git a/src/resumes/material-dark.vue b/src/resumes/material-dark.vue index bd2f5c8..2f049ea 100755 --- a/src/resumes/material-dark.vue +++ b/src/resumes/material-dark.vue @@ -440,7 +440,7 @@ h4 { } } #myselfpic { - background-image:url('../assets/person.jpg'); + background-image:url('../../resume/id.jpg'); color:black; } #githubIcon { diff --git a/src/resumes/oblique.vue b/src/resumes/oblique.vue index f4b7364..e026f2e 100755 --- a/src/resumes/oblique.vue +++ b/src/resumes/oblique.vue @@ -52,7 +52,7 @@
- {{person.skillDescription}} + {{person.knowledge}}

{{ lang.headings.contact }}

@@ -120,7 +120,7 @@ export default Vue.component(name, getVueOptions(name)); position:absolute; top:0; right:0; - background:url('../assets/person.jpg'); + background:url('../../resume/id.jpg'); background-position:center; background-size:cover; } diff --git a/src/resumes/options.js b/src/resumes/options.js index bed3f19..61c7ffd 100755 --- a/src/resumes/options.js +++ b/src/resumes/options.js @@ -1,4 +1,5 @@ -import { PERSON } from '../person'; +import yaml from 'js-yaml'; +import { PERSON } from '../../resume/data.yml'; import { terms } from '../terms'; // Called by templates to decrease redundancy @@ -7,7 +8,7 @@ function getVueOptions (name) { name: name, data () { return { - person: PERSON, + person: yaml.load(PERSON), terms: terms }; }, diff --git a/src/resumes/purple.vue b/src/resumes/purple.vue index 5d5fd11..dd0e44c 100755 --- a/src/resumes/purple.vue +++ b/src/resumes/purple.vue @@ -44,7 +44,7 @@

{{ lang.headings.skills }}

-

{{person.skillDescription}}

+

{{person.knowledge}}

- {{person.skillDescription}} + {{person.knowledge}} @@ -143,7 +143,7 @@ export default Vue.component(name, getVueOptions(name)); overflow:hidden; .img { flex:none; - background:url('../assets/person.jpg'); + background:url('../../resume/id.jpg'); background-position:center; background-size:cover; height:250px; diff --git a/src/resumes/side-bar.vue b/src/resumes/side-bar.vue index 6fca3ff..f704503 100755 --- a/src/resumes/side-bar.vue +++ b/src/resumes/side-bar.vue @@ -79,7 +79,7 @@ {{skill.name}} - {{person.skillDescription}} + {{person.knowledge}} @@ -141,7 +141,7 @@ export default Vue.component(name, getVueOptions(name)); overflow:hidden; .img { flex:none; - background:url('../assets/person.jpg'); + background:url('../../resume/id.jpg'); background-position:center; background-size:cover; height:250px;