resme 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/README.md +52 -30
- data/lib/resme/cli/command_semantics.rb +40 -1
- data/lib/resme/cli/command_syntax.rb +46 -4
- data/lib/resme/renderer/renderer.rb +74 -9
- data/lib/resme/templates/europass/eu.xml.erb +2 -1
- data/lib/resme/templates/resume.json.erb +27 -27
- data/lib/resme/templates/resume.md.erb +141 -99
- data/lib/resme/templates/resume.org.erb +202 -0
- data/lib/resme/templates/resume.yml +43 -39
- data/lib/resme/templates/schema.yml +494 -0
- data/lib/resme/version.rb +1 -1
- data/resme.gemspec +1 -0
- metadata +18 -2
@@ -1,13 +1,14 @@
|
|
1
1
|
# Basic template for a resume to be processed by RESME (rubygems.org/gems/resme)
|
2
2
|
#
|
3
|
-
# The standard templates support dates written in one of the
|
3
|
+
# The standard output templates support dates written in one of the
|
4
|
+
# following formats:
|
4
5
|
#
|
5
6
|
# - a ruby date (e.g., YYYY-MM-DD)
|
6
|
-
# - YYYY-MM
|
7
|
-
# - YYYY
|
7
|
+
# - a month: YYYY-MM
|
8
|
+
# - a year: YYYY
|
8
9
|
#
|
9
10
|
# Notice that you can add your own keywords, if you want (but you need to modify
|
10
|
-
# the ERB templates to actually output
|
11
|
+
# the ERB templates to actually output your custom fields)
|
11
12
|
|
12
13
|
---
|
13
14
|
|
@@ -16,6 +17,7 @@
|
|
16
17
|
# marital_status is currently not used
|
17
18
|
basics:
|
18
19
|
first_name:
|
20
|
+
middle_name:
|
19
21
|
last_name:
|
20
22
|
title:
|
21
23
|
picture:
|
@@ -26,7 +28,7 @@ basics:
|
|
26
28
|
|
27
29
|
# how to get in contact with you
|
28
30
|
# one or more entries: each entry has a label and value.
|
29
|
-
# you can use it for email,
|
31
|
+
# you can use it for email, mobile, whats app, ...
|
30
32
|
# mobile and email are two good starting points
|
31
33
|
contacts:
|
32
34
|
- label:
|
@@ -45,14 +47,15 @@ addresses:
|
|
45
47
|
|
46
48
|
# this is your presence on the net
|
47
49
|
# one or more entries: each entry has a label and value.
|
48
|
-
# you can use it for, e.g.,
|
50
|
+
# you can use it for, e.g., Twitter, Facebook, Github, ...
|
49
51
|
web_presence:
|
50
|
-
- label:
|
51
|
-
value:
|
52
|
+
- label:
|
53
|
+
value:
|
52
54
|
|
53
55
|
# what you are looking for and/or a summary of who you are
|
54
|
-
#
|
55
|
-
#
|
56
|
+
#
|
57
|
+
# if you write a multi-line entry don't forget to use ">-" or "|-"
|
58
|
+
# (see the YAML documentation for more information)
|
56
59
|
summary:
|
57
60
|
|
58
61
|
#
|
@@ -78,8 +81,8 @@ work:
|
|
78
81
|
# teaching experience
|
79
82
|
teaching:
|
80
83
|
- who:
|
81
|
-
address:
|
82
84
|
school:
|
85
|
+
address:
|
83
86
|
role:
|
84
87
|
subject:
|
85
88
|
till:
|
@@ -89,7 +92,7 @@ teaching:
|
|
89
92
|
|
90
93
|
# the projects you have worked on
|
91
94
|
projects:
|
92
|
-
- name:
|
95
|
+
- name:
|
93
96
|
size:
|
94
97
|
who:
|
95
98
|
role:
|
@@ -112,15 +115,15 @@ committees:
|
|
112
115
|
editions:
|
113
116
|
url:
|
114
117
|
|
115
|
-
# work as volunteer
|
118
|
+
# work as volunteer
|
116
119
|
volunteer:
|
117
120
|
- who:
|
118
|
-
till:
|
121
|
+
till:
|
119
122
|
from:
|
120
123
|
role:
|
121
124
|
summary:
|
122
125
|
|
123
|
-
# mobility programs and other similar initiatives (e.g.,
|
126
|
+
# mobility programs and other similar initiatives (e.g., Erasmus grants)
|
124
127
|
visits:
|
125
128
|
- who:
|
126
129
|
address:
|
@@ -138,14 +141,14 @@ education:
|
|
138
141
|
address:
|
139
142
|
till:
|
140
143
|
from:
|
141
|
-
publish:
|
144
|
+
publish: yes
|
142
145
|
|
143
146
|
# publications
|
144
147
|
publications:
|
145
148
|
- title:
|
146
149
|
authors:
|
147
150
|
publisher:
|
148
|
-
date:
|
151
|
+
date:
|
149
152
|
url:
|
150
153
|
|
151
154
|
# invited talks
|
@@ -153,32 +156,33 @@ talks:
|
|
153
156
|
- title:
|
154
157
|
venue:
|
155
158
|
date:
|
159
|
+
url:
|
156
160
|
|
157
161
|
# any award
|
158
162
|
awards:
|
159
|
-
-
|
160
|
-
|
161
|
-
where:
|
163
|
+
- who:
|
164
|
+
address:
|
162
165
|
date:
|
166
|
+
title:
|
163
167
|
summary:
|
164
168
|
|
165
169
|
# any interesting achievement you want to highlight?
|
166
170
|
achievements:
|
167
|
-
-
|
168
|
-
|
169
|
-
where:
|
171
|
+
- who:
|
172
|
+
address:
|
170
173
|
date:
|
174
|
+
title:
|
171
175
|
summary:
|
172
176
|
|
173
177
|
# did you develop (or participate to the development) of any software
|
174
178
|
# system you want to publicize in your resume?
|
175
179
|
software:
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
180
|
+
- title:
|
181
|
+
url:
|
182
|
+
programming_language:
|
183
|
+
license:
|
184
|
+
role:
|
185
|
+
summary:
|
182
186
|
|
183
187
|
# what are your skills?
|
184
188
|
skills:
|
@@ -189,22 +193,22 @@ skills:
|
|
189
193
|
# linguistic competences
|
190
194
|
# if it is irrelevant for the job, delete this section
|
191
195
|
#
|
192
|
-
# the structure is strongly inspired by the
|
196
|
+
# the structure is strongly inspired by the Europass standard:
|
193
197
|
# first the list of mother tongues and then all the other languages
|
194
|
-
# you have some
|
198
|
+
# you have some proficiency with.
|
195
199
|
#
|
196
200
|
# For the proficiency level, you can use the "level" keyword, whose
|
197
201
|
# value is a string (e.g., "EXCELLENT", "INTERMEDIATE"). The level is
|
198
|
-
# outputted in the markdown and
|
202
|
+
# outputted in the markdown and JSON templates.
|
199
203
|
#
|
200
204
|
# The Europass format requires to specify more information, that is,
|
201
|
-
# your proficiency in five different areas.
|
205
|
+
# your proficiency in five different areas. Proficiency is from A1 to
|
202
206
|
# C2; the areas include understanding, speaking, writing. See the
|
203
207
|
# documentation of the Europass format for more details.
|
204
208
|
|
205
209
|
languages:
|
206
210
|
mother_tongues:
|
207
|
-
- code:
|
211
|
+
- code:
|
208
212
|
language:
|
209
213
|
|
210
214
|
foreign:
|
@@ -221,7 +225,7 @@ languages:
|
|
221
225
|
# (this also comes from the Europass standard)
|
222
226
|
# if it is irrelevant for the job, delete this section
|
223
227
|
driving:
|
224
|
-
- license:
|
228
|
+
- license:
|
225
229
|
|
226
230
|
# do you have any interests?
|
227
231
|
# if it is irrelevant for the job, delete this section
|
@@ -229,12 +233,12 @@ interests:
|
|
229
233
|
- name:
|
230
234
|
level:
|
231
235
|
summary:
|
232
|
-
|
236
|
+
|
233
237
|
# do you have any references?
|
234
238
|
# if it is irrelevant for the job, delete this section
|
235
239
|
references:
|
236
240
|
- name:
|
237
|
-
|
241
|
+
contacts:
|
242
|
+
- label:
|
243
|
+
value:
|
238
244
|
reference:
|
239
|
-
|
240
|
-
|
@@ -0,0 +1,494 @@
|
|
1
|
+
type: map
|
2
|
+
mapping:
|
3
|
+
"basics":
|
4
|
+
type: map
|
5
|
+
required: yes
|
6
|
+
mapping:
|
7
|
+
"first_name":
|
8
|
+
type: str
|
9
|
+
required: yes
|
10
|
+
"middle_name":
|
11
|
+
type: str
|
12
|
+
required: no
|
13
|
+
"last_name":
|
14
|
+
type: str
|
15
|
+
required: yes
|
16
|
+
"title":
|
17
|
+
type: str
|
18
|
+
required: no
|
19
|
+
"picture":
|
20
|
+
type: str
|
21
|
+
required: no
|
22
|
+
"birthdate":
|
23
|
+
type: date
|
24
|
+
required: no
|
25
|
+
"nationality":
|
26
|
+
type: str
|
27
|
+
required: no
|
28
|
+
"marital_status":
|
29
|
+
type: str
|
30
|
+
required: no
|
31
|
+
"gender":
|
32
|
+
type: str
|
33
|
+
required: no
|
34
|
+
"contacts":
|
35
|
+
type: seq
|
36
|
+
required: yes
|
37
|
+
sequence:
|
38
|
+
- type: map
|
39
|
+
mapping:
|
40
|
+
"label":
|
41
|
+
type: str
|
42
|
+
required: yes
|
43
|
+
"value":
|
44
|
+
type: str
|
45
|
+
required: yes
|
46
|
+
"addresses":
|
47
|
+
type: seq
|
48
|
+
required: yes
|
49
|
+
sequence:
|
50
|
+
- type: map
|
51
|
+
mapping:
|
52
|
+
"label":
|
53
|
+
type: str
|
54
|
+
required: yes
|
55
|
+
"street":
|
56
|
+
type: str
|
57
|
+
required: no
|
58
|
+
"zip_code":
|
59
|
+
type: scalar
|
60
|
+
required: no
|
61
|
+
"city":
|
62
|
+
type: str
|
63
|
+
required: no
|
64
|
+
"country":
|
65
|
+
type: str
|
66
|
+
required: no
|
67
|
+
"web_presence":
|
68
|
+
type: seq
|
69
|
+
required: no
|
70
|
+
sequence:
|
71
|
+
- type: map
|
72
|
+
mapping:
|
73
|
+
"label":
|
74
|
+
type: str
|
75
|
+
required: yes
|
76
|
+
"value":
|
77
|
+
type: str
|
78
|
+
required: yes
|
79
|
+
"summary":
|
80
|
+
type: str
|
81
|
+
required: no
|
82
|
+
"work":
|
83
|
+
type: seq
|
84
|
+
sequence:
|
85
|
+
- type: map
|
86
|
+
mapping:
|
87
|
+
"who":
|
88
|
+
type: str
|
89
|
+
required: yes
|
90
|
+
"website":
|
91
|
+
type: str
|
92
|
+
required: no
|
93
|
+
"address":
|
94
|
+
type: str
|
95
|
+
required: no
|
96
|
+
"till":
|
97
|
+
type: scalar
|
98
|
+
required: no
|
99
|
+
"from":
|
100
|
+
type: scalar
|
101
|
+
required: yes
|
102
|
+
"role":
|
103
|
+
type: str
|
104
|
+
required: yes
|
105
|
+
"summary":
|
106
|
+
type: str
|
107
|
+
required: yes
|
108
|
+
"details":
|
109
|
+
type: str
|
110
|
+
required: no
|
111
|
+
"teaching":
|
112
|
+
type: seq
|
113
|
+
sequence:
|
114
|
+
- type: map
|
115
|
+
mapping:
|
116
|
+
"who":
|
117
|
+
type: str
|
118
|
+
required: yes
|
119
|
+
"school":
|
120
|
+
type: str
|
121
|
+
required: no
|
122
|
+
"address":
|
123
|
+
type: str
|
124
|
+
required: no
|
125
|
+
"till":
|
126
|
+
type: scalar
|
127
|
+
required: no
|
128
|
+
"from":
|
129
|
+
type: scalar
|
130
|
+
required: yes
|
131
|
+
"role":
|
132
|
+
type: str
|
133
|
+
required: yes
|
134
|
+
"subject":
|
135
|
+
type: str
|
136
|
+
required: yes
|
137
|
+
"summary":
|
138
|
+
type: str
|
139
|
+
required: no
|
140
|
+
"details":
|
141
|
+
type: str
|
142
|
+
required: no
|
143
|
+
"projects":
|
144
|
+
type: seq
|
145
|
+
sequence:
|
146
|
+
- type: map
|
147
|
+
mapping:
|
148
|
+
"name":
|
149
|
+
type: str
|
150
|
+
required: yes
|
151
|
+
"size":
|
152
|
+
type: str
|
153
|
+
required: no
|
154
|
+
"who":
|
155
|
+
type: str
|
156
|
+
required: no
|
157
|
+
"till":
|
158
|
+
type: scalar
|
159
|
+
required: no
|
160
|
+
"from":
|
161
|
+
type: scalar
|
162
|
+
required: yes
|
163
|
+
"role":
|
164
|
+
type: str
|
165
|
+
required: yes
|
166
|
+
"summary":
|
167
|
+
type: str
|
168
|
+
required: no
|
169
|
+
"other":
|
170
|
+
type: seq
|
171
|
+
sequence:
|
172
|
+
- type: map
|
173
|
+
mapping:
|
174
|
+
"who":
|
175
|
+
type: str
|
176
|
+
required: yes
|
177
|
+
"till":
|
178
|
+
type: scalar
|
179
|
+
required: no
|
180
|
+
"from":
|
181
|
+
type: scalar
|
182
|
+
required: yes
|
183
|
+
"role":
|
184
|
+
type: str
|
185
|
+
required: yes
|
186
|
+
"summary":
|
187
|
+
type: str
|
188
|
+
required: no
|
189
|
+
"committees":
|
190
|
+
type: seq
|
191
|
+
sequence:
|
192
|
+
- type: map
|
193
|
+
mapping:
|
194
|
+
"who":
|
195
|
+
type: str
|
196
|
+
required: yes
|
197
|
+
"role":
|
198
|
+
type: str
|
199
|
+
required: yes
|
200
|
+
"editions":
|
201
|
+
type: scalar
|
202
|
+
required: no
|
203
|
+
"url":
|
204
|
+
type: str
|
205
|
+
required: no
|
206
|
+
"volunteer":
|
207
|
+
type: seq
|
208
|
+
sequence:
|
209
|
+
- type: map
|
210
|
+
mapping:
|
211
|
+
"who":
|
212
|
+
type: str
|
213
|
+
required: yes
|
214
|
+
"where":
|
215
|
+
type: str
|
216
|
+
required: no
|
217
|
+
"date":
|
218
|
+
type: scalar
|
219
|
+
required: no
|
220
|
+
"till":
|
221
|
+
type: scalar
|
222
|
+
required: no
|
223
|
+
"from":
|
224
|
+
type: scalar
|
225
|
+
required: no
|
226
|
+
"role":
|
227
|
+
type: str
|
228
|
+
required: yes
|
229
|
+
"summary":
|
230
|
+
type: str
|
231
|
+
required: no
|
232
|
+
"visits":
|
233
|
+
type: seq
|
234
|
+
sequence:
|
235
|
+
- type: map
|
236
|
+
mapping:
|
237
|
+
"who":
|
238
|
+
type: str
|
239
|
+
required: yes
|
240
|
+
"address":
|
241
|
+
type: str
|
242
|
+
required: no
|
243
|
+
"till":
|
244
|
+
type: scalar
|
245
|
+
required: yes
|
246
|
+
"from":
|
247
|
+
type: scalar
|
248
|
+
required: yes
|
249
|
+
"role":
|
250
|
+
type: str
|
251
|
+
required: yes
|
252
|
+
"summary":
|
253
|
+
type: str
|
254
|
+
required: no
|
255
|
+
"education":
|
256
|
+
type: seq
|
257
|
+
sequence:
|
258
|
+
- type: map
|
259
|
+
mapping:
|
260
|
+
"degree":
|
261
|
+
type: str
|
262
|
+
required: no
|
263
|
+
"topic":
|
264
|
+
type: str
|
265
|
+
required: no
|
266
|
+
"school":
|
267
|
+
type: str
|
268
|
+
required: yes
|
269
|
+
"address":
|
270
|
+
type: str
|
271
|
+
required: no
|
272
|
+
"date":
|
273
|
+
type: scalar
|
274
|
+
required: no
|
275
|
+
"till":
|
276
|
+
type: scalar
|
277
|
+
required: no
|
278
|
+
"from":
|
279
|
+
type: scalar
|
280
|
+
required: no
|
281
|
+
"publish":
|
282
|
+
type: bool
|
283
|
+
required: yes
|
284
|
+
"score":
|
285
|
+
type: scalar
|
286
|
+
required: no
|
287
|
+
"publications":
|
288
|
+
type: seq
|
289
|
+
sequence:
|
290
|
+
- type: map
|
291
|
+
mapping:
|
292
|
+
"title":
|
293
|
+
type: str
|
294
|
+
required: yes
|
295
|
+
"authors":
|
296
|
+
type: str
|
297
|
+
required: yes
|
298
|
+
"publisher":
|
299
|
+
type: str
|
300
|
+
required: yes
|
301
|
+
"date":
|
302
|
+
type: scalar
|
303
|
+
required: yes
|
304
|
+
"url":
|
305
|
+
type: str
|
306
|
+
required: no
|
307
|
+
"talks":
|
308
|
+
type: seq
|
309
|
+
sequence:
|
310
|
+
- type: map
|
311
|
+
mapping:
|
312
|
+
"title":
|
313
|
+
type: str
|
314
|
+
required: yes
|
315
|
+
"venue":
|
316
|
+
type: str
|
317
|
+
required: yes
|
318
|
+
"date":
|
319
|
+
type: scalar
|
320
|
+
required: yes
|
321
|
+
"url":
|
322
|
+
type: str
|
323
|
+
required: no
|
324
|
+
"awards":
|
325
|
+
type: seq
|
326
|
+
sequence:
|
327
|
+
- type: map
|
328
|
+
mapping:
|
329
|
+
"who":
|
330
|
+
type: str
|
331
|
+
required: yes
|
332
|
+
"address":
|
333
|
+
type: str
|
334
|
+
required: no
|
335
|
+
"date":
|
336
|
+
type: scalar
|
337
|
+
required: yes
|
338
|
+
"title":
|
339
|
+
type: str
|
340
|
+
required: yes
|
341
|
+
"summary":
|
342
|
+
type: str
|
343
|
+
required: no
|
344
|
+
"achievements":
|
345
|
+
type: seq
|
346
|
+
sequence:
|
347
|
+
- type: map
|
348
|
+
mapping:
|
349
|
+
"who":
|
350
|
+
type: str
|
351
|
+
required: yes
|
352
|
+
"address":
|
353
|
+
type: str
|
354
|
+
required: no
|
355
|
+
"date":
|
356
|
+
type: scalar
|
357
|
+
required: no
|
358
|
+
"title":
|
359
|
+
type: str
|
360
|
+
required: yes
|
361
|
+
"summary":
|
362
|
+
type: str
|
363
|
+
required: no
|
364
|
+
"software":
|
365
|
+
type: seq
|
366
|
+
sequence:
|
367
|
+
- type: map
|
368
|
+
mapping:
|
369
|
+
"title":
|
370
|
+
type: str
|
371
|
+
required: yes
|
372
|
+
"url":
|
373
|
+
type: str
|
374
|
+
required: no
|
375
|
+
"programming_language":
|
376
|
+
type: str
|
377
|
+
required: no
|
378
|
+
"license":
|
379
|
+
type: str
|
380
|
+
required: no
|
381
|
+
"role":
|
382
|
+
type: str
|
383
|
+
required: no
|
384
|
+
"summary":
|
385
|
+
type: str
|
386
|
+
required: no
|
387
|
+
"skills":
|
388
|
+
type: seq
|
389
|
+
required: no
|
390
|
+
sequence:
|
391
|
+
- type: map
|
392
|
+
mapping:
|
393
|
+
"name":
|
394
|
+
type: str
|
395
|
+
required: yes
|
396
|
+
"level":
|
397
|
+
type: str
|
398
|
+
required: no
|
399
|
+
"summary":
|
400
|
+
type: str
|
401
|
+
required: no
|
402
|
+
"driving":
|
403
|
+
type: seq
|
404
|
+
required: no
|
405
|
+
sequence:
|
406
|
+
- type: map
|
407
|
+
mapping:
|
408
|
+
"license":
|
409
|
+
type: str
|
410
|
+
required: yes
|
411
|
+
"languages":
|
412
|
+
type: map
|
413
|
+
mapping:
|
414
|
+
"mother_tongues":
|
415
|
+
type: seq
|
416
|
+
required: yes
|
417
|
+
sequence:
|
418
|
+
- type: map
|
419
|
+
mapping:
|
420
|
+
"code":
|
421
|
+
type: str
|
422
|
+
required: no
|
423
|
+
"language":
|
424
|
+
type: str
|
425
|
+
required: yes
|
426
|
+
"foreign":
|
427
|
+
type: seq
|
428
|
+
required: no
|
429
|
+
sequence:
|
430
|
+
- type: map
|
431
|
+
mapping:
|
432
|
+
"code":
|
433
|
+
type: str
|
434
|
+
required: no
|
435
|
+
"language":
|
436
|
+
type: str
|
437
|
+
required: yes
|
438
|
+
"level":
|
439
|
+
type: str
|
440
|
+
required: no
|
441
|
+
"listening":
|
442
|
+
type: str
|
443
|
+
required: no
|
444
|
+
"reading":
|
445
|
+
type: str
|
446
|
+
required: no
|
447
|
+
"spoken_interaction":
|
448
|
+
type: str
|
449
|
+
required: no
|
450
|
+
"spoken_production":
|
451
|
+
type: str
|
452
|
+
required: no
|
453
|
+
"writing":
|
454
|
+
type: str
|
455
|
+
required: no
|
456
|
+
"interests":
|
457
|
+
type: seq
|
458
|
+
required: no
|
459
|
+
sequence:
|
460
|
+
- type: map
|
461
|
+
mapping:
|
462
|
+
"name":
|
463
|
+
type: str
|
464
|
+
required: yes
|
465
|
+
"level":
|
466
|
+
type: str
|
467
|
+
required: no
|
468
|
+
"summary":
|
469
|
+
type: str
|
470
|
+
required: no
|
471
|
+
"references":
|
472
|
+
type: seq
|
473
|
+
required: no
|
474
|
+
sequence:
|
475
|
+
- type: map
|
476
|
+
mapping:
|
477
|
+
"name":
|
478
|
+
type: str
|
479
|
+
required: yes
|
480
|
+
"reference":
|
481
|
+
type: str
|
482
|
+
required: yes
|
483
|
+
"contacts":
|
484
|
+
type: seq
|
485
|
+
required: no
|
486
|
+
sequence:
|
487
|
+
- type: map
|
488
|
+
mapping:
|
489
|
+
"label":
|
490
|
+
type: str
|
491
|
+
required: yes
|
492
|
+
"value":
|
493
|
+
type: str
|
494
|
+
required: yes
|