Merge pull request #89 from j8r/yaml

Move configuration to  a `resume` folder, use YAML
This commit is contained in:
Sara Steiert 2017-10-21 15:08:04 +02:00 committed by GitHub
commit f90b7da6ed
13 changed files with 91 additions and 108 deletions

View File

@ -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.
<br>

View File

@ -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",

70
resume/data.yml Executable file
View File

@ -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
`

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -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;

View File

@ -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
};

View File

@ -64,7 +64,7 @@
</div>
</div>
</div>
<span class="skills-other"> {{person.skillDescription}} </span>
<span class="skills-other"> {{person.knowledge}} </span>
</div>
</div>
</template>
@ -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;

View File

@ -440,7 +440,7 @@ h4 {
}
}
#myselfpic {
background-image:url('../assets/person.jpg');
background-image:url('../../resume/id.jpg');
color:black;
}
#githubIcon {

View File

@ -52,7 +52,7 @@
</div>
</div>
<div class="skills-other">
<span>{{person.skillDescription}} </span>
<span>{{person.knowledge}} </span>
</div>
<div class="contact">
<h3>{{ lang.headings.contact }}</h3>
@ -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;
}

View File

@ -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
};
},

View File

@ -44,7 +44,7 @@
<div id="skills-container" v-if="person.skills != []">
<h2 id="skills-title">{{ lang.headings.skills }}</h2>
<div class="spacer"></div>
<p id="skill-description">{{person.skillDescription}}</p>
<p id="skill-description">{{person.knowledge}}</p>
<ul id="skill-list">
<li class="skill" v-for="skill in person.skills" :key="skill.name">
<span class="list-item-black">
@ -147,7 +147,7 @@ export default Vue.component('purple', getVueOptions(name));
#headshot {
width: 100%;
height: 100%;
background:url('../assets/person.jpg');
background:url('../../resume/id.jpg');
background-position:center;
background-size:cover;
}

View File

@ -79,7 +79,7 @@
<span class="skill-name">{{skill.name}}</span>
</div>
</div>
<span class="skills-other"> {{person.skillDescription}} </span>
<span class="skills-other"> {{person.knowledge}} </span>
</div>
</div>
</div>
@ -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;

View File

@ -79,7 +79,7 @@
<span class="skill-name">{{skill.name}}</span>
</div>
</div>
<span class="skills-other"> {{person.skillDescription}} </span>
<span class="skills-other"> {{person.knowledge}} </span>
</div>
</div>
</div>
@ -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;