jsonresume-theme-engineering 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -4
- package/index.js +5 -2
- package/package.json +3 -2
- package/resume.png +0 -0
- package/style.css +50 -26
- package/views/work.hbs +11 -10
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
This is the engineering theme for [JSON Resume](http://jsonresume.org/), which aims to implement the best practices for engineering resumes described in https://www.reddit.com/r/EngineeringResumes/wiki/index/. It is intended for [senior/staff level engineers](https://www.reddit.com/r/EngineeringResumes/wiki/index/#wiki_senior_engineers_and_above_.2810.2B_yoe.29).
|
|
4
4
|
|
|
5
|
+

|
|
6
|
+
|
|
5
7
|
## Getting started
|
|
6
8
|
|
|
7
9
|
To get started with theme development, this is what you'll need:
|
|
@@ -61,9 +63,16 @@ Preview: http://localhost:4000
|
|
|
61
63
|
Press ctrl-c to stop
|
|
62
64
|
```
|
|
63
65
|
|
|
64
|
-
Congratulations, you've made it!
|
|
66
|
+
Congratulations, you've made it! You can now edit or replace the `resume.json` with your own data or start to modify this theme (see Development section below).
|
|
67
|
+
|
|
68
|
+
## Exporting your resume
|
|
69
|
+
To export your resume, you can run the following command below. This will automatically create a `resume.pdf` file within your current directory:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
npm run export
|
|
73
|
+
```
|
|
65
74
|
|
|
66
|
-
|
|
75
|
+
Alternatively, you can also do a **print page** on the browser and save it as as PDF (by setting margins to none and removing header/footers.)
|
|
67
76
|
|
|
68
77
|
## Development
|
|
69
78
|
|
|
@@ -88,7 +97,7 @@ Lastly, you can put all of your theme dependencies in the `dependencies` field.
|
|
|
88
97
|
|
|
89
98
|
### index.js
|
|
90
99
|
|
|
91
|
-
The `index.js` is where all the
|
|
100
|
+
The `index.js` is where all the compiling of your theme, and necessary edits will go.
|
|
92
101
|
|
|
93
102
|
At the top, you can already see the Node.js `require` function being used with the dependencies. You can obviously add own dependencies, if you are planning on using a different templating system, you can remove it.
|
|
94
103
|
|
|
@@ -106,7 +115,7 @@ Last but not least, the `style.css` defines your styles. Technically, this is co
|
|
|
106
115
|
|
|
107
116
|
## Deployment
|
|
108
117
|
|
|
109
|
-
If you are
|
|
118
|
+
If you are familiar with NPM, you should be done with this in no time.
|
|
110
119
|
|
|
111
120
|
If you already have an NPM account, you can run `npm login` and enter your username and password. If not, you can run `npm adduser` and fill in the proper fields.
|
|
112
121
|
|
package/index.js
CHANGED
|
@@ -47,9 +47,12 @@ handlebars.registerHelper({
|
|
|
47
47
|
|
|
48
48
|
formatDate: function (date) {
|
|
49
49
|
return moment(date).format('MMM YYYY');
|
|
50
|
-
}
|
|
51
|
-
});
|
|
50
|
+
},
|
|
52
51
|
|
|
52
|
+
getValueIfDiffFromPrevious: function (array, index, key) {
|
|
53
|
+
return (array[index-1] && (array[index][key] === array[index-1][key])) ? '' : array[index][key];
|
|
54
|
+
},
|
|
55
|
+
});
|
|
53
56
|
|
|
54
57
|
function render(resume) {
|
|
55
58
|
let dir = __dirname,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsonresume-theme-engineering",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "JSON Resume theme for engineers",
|
|
5
5
|
"author": "Sören König",
|
|
6
6
|
"repository": {
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
},
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"start": "resume serve --theme ."
|
|
12
|
+
"start": "resume serve --theme .",
|
|
13
|
+
"export": "resume export --theme . resume.pdf"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|
|
15
16
|
"address-format": "0.0.3",
|
package/resume.png
ADDED
|
Binary file
|
package/style.css
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/* Template level */
|
|
2
2
|
body {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
font-family: Georgia, serif;
|
|
4
|
+
font-size: 11px;
|
|
5
|
+
margin: 24px 48px;
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
h1 {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
font-size: 26px;
|
|
10
|
+
text-align: center;
|
|
11
|
+
margin: 5px;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
h2 {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
margin: 5px 0 2.5px 0;
|
|
15
|
+
border-width: 1px;
|
|
16
|
+
border-style: none none solid none;
|
|
17
|
+
margin: 10px 0 2.5px 0;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
section {
|
|
21
|
-
|
|
21
|
+
margin: 3px 0;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
ul {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
margin: 0;
|
|
26
|
+
padding-left: 20px;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
a {
|
|
@@ -32,47 +32,71 @@ a {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.item {
|
|
35
|
-
|
|
35
|
+
margin-top: 8px;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.item>.item-header {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
float: left;
|
|
40
|
+
display: block;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.item>.item-header>.item-header-title {
|
|
44
|
-
|
|
44
|
+
font-weight: bold;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.item>.item-header>.item-header-subtitle {
|
|
48
|
-
|
|
48
|
+
font-style: italic;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.item>.item-details {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
float: right;
|
|
53
|
+
text-align: right;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
.item>.item-details>.item-details-title {
|
|
57
|
-
|
|
57
|
+
font-weight: bold;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
.clearfix {
|
|
61
|
-
|
|
61
|
+
clear: both;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
.centered {
|
|
65
|
-
|
|
65
|
+
text-align: center;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/* Section specific */
|
|
69
69
|
/* basics */
|
|
70
70
|
.vertical-separator {
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
text-align: center;
|
|
72
|
+
padding: 0 10px;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.vertical-separator:not(:first-child) {
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
border-left: 1px solid #000;
|
|
77
|
+
text-align: center;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* Set some print settings. */
|
|
81
|
+
@media print {
|
|
82
|
+
@page {
|
|
83
|
+
size: portrait;
|
|
84
|
+
margin: 10mm 25mm;
|
|
85
|
+
}
|
|
86
|
+
.resume {
|
|
87
|
+
max-width: 100%;
|
|
88
|
+
border: 0px;
|
|
89
|
+
background: #fff;
|
|
90
|
+
box-shadow: none;
|
|
91
|
+
-webkit-box-shadow: none;
|
|
92
|
+
}
|
|
93
|
+
body,
|
|
94
|
+
html,
|
|
95
|
+
.resume {
|
|
96
|
+
margin: 0px;
|
|
97
|
+
padding: 0px;
|
|
98
|
+
}
|
|
99
|
+
.controls {
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
78
102
|
}
|
package/views/work.hbs
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
<section id="work">
|
|
3
3
|
<h2>Work Experience</h2>
|
|
4
4
|
{{#each resume.work}}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
{{#> item title=(getValueIfDiffFromPrevious @root.resume.work @index "company") subtitle=position location=location startDate=startDate endDate=endDate startDate2=startDate2 endDate2=endDate2}}
|
|
6
|
+
|
|
7
|
+
{{#if highlights.length}}
|
|
8
|
+
<ul class="highlights">
|
|
9
|
+
{{#each highlights}}
|
|
10
|
+
<li>{{.}}</li>
|
|
11
|
+
{{/each}}
|
|
12
|
+
</ul>
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{/item}}
|
|
14
15
|
{{/each}}
|
|
15
16
|
</section>
|
|
16
|
-
{{/if}}
|
|
17
|
+
{{/if}}
|