Merge pull request #89 from j8r/yaml
Move configuration to a `resume` folder, use YAML
This commit is contained in:
commit
f90b7da6ed
@ -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>
|
||||
|
||||
|
||||
@ -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
70
resume/data.yml
Executable 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
|
||||
`
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@ -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;
|
||||
|
||||
@ -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
|
||||
};
|
||||
@ -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;
|
||||
|
||||
@ -440,7 +440,7 @@ h4 {
|
||||
}
|
||||
}
|
||||
#myselfpic {
|
||||
background-image:url('../assets/person.jpg');
|
||||
background-image:url('../../resume/id.jpg');
|
||||
color:black;
|
||||
}
|
||||
#githubIcon {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
};
|
||||
},
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user