resume_exporter 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/bin/resume_exporter +4 -2
  3. data/lib/exporters/html.rb +33 -0
  4. data/lib/exporters/pdf.rb +13 -0
  5. data/lib/extractors/html/linkedin.rb +145 -169
  6. data/lib/extractors/html/stackoverflow.rb +60 -72
  7. data/lib/extractors/html/xing.rb +46 -60
  8. data/lib/extractors/html.rb +1 -1
  9. data/lib/extractors/json/fresh.rb +196 -233
  10. data/lib/extractors/json/json_resume.rb +107 -127
  11. data/lib/extractors/json/prtflio.rb +20 -24
  12. data/lib/extractors/json.rb +7 -6
  13. data/lib/resume_exporter.rb +6 -0
  14. data/lib/templates/default.json.jbuilder +162 -229
  15. data/lib/templates/default.md.erb +99 -244
  16. data/lib/templates/default.txt.erb +99 -224
  17. data/lib/templates/default.xml.builder +162 -227
  18. data/lib/templates/fresh.json.jbuilder +149 -155
  19. data/lib/templates/html/_affiliation.liquid +53 -0
  20. data/lib/templates/html/_basics.liquid +19 -0
  21. data/lib/templates/html/_contact.liquid +27 -0
  22. data/lib/templates/html/_css.liquid +324 -0
  23. data/lib/templates/html/_disposition.liquid +13 -0
  24. data/lib/templates/html/_education.liquid +56 -0
  25. data/lib/templates/html/_employment.liquid +67 -0
  26. data/lib/templates/html/_extracurricular.liquid +53 -0
  27. data/lib/templates/html/_footer.liquid +1 -0
  28. data/lib/templates/html/_governance.liquid +52 -0
  29. data/lib/templates/html/_image.liquid +7 -0
  30. data/lib/templates/html/_interests.liquid +23 -0
  31. data/lib/templates/html/_languages.liquid +22 -0
  32. data/lib/templates/html/_open_source.liquid +53 -0
  33. data/lib/templates/html/_patents.liquid +50 -0
  34. data/lib/templates/html/_projects.liquid +53 -0
  35. data/lib/templates/html/_qualifications.liquid +53 -0
  36. data/lib/templates/html/_reading.liquid +52 -0
  37. data/lib/templates/html/_recognition.liquid +54 -0
  38. data/lib/templates/html/_references.liquid +28 -0
  39. data/lib/templates/html/_resume.liquid +49 -0
  40. data/lib/templates/html/_service.liquid +53 -0
  41. data/lib/templates/html/_skills.liquid +35 -0
  42. data/lib/templates/html/_social.liquid +25 -0
  43. data/lib/templates/html/_speaking.liquid +53 -0
  44. data/lib/templates/html/_writing.liquid +52 -0
  45. data/lib/templates/html/default.liquid +1 -0
  46. data/lib/templates/json_resume.json.jbuilder +72 -72
  47. metadata +119 -20
@@ -1,90 +1,63 @@
1
- # <%= @data.dig(:basics, :name) %>
2
- ## <%= @data.dig(:basics, :label) %>
3
- <%= @data.dig(:basics, :summary) %>
1
+ # <%= @data.dig("basics", "name") %>
2
+ ## <%= @data.dig("basics", "label") %>
3
+ <%= @data.dig("basics", "summary") %>
4
4
 
5
5
 
6
6
  # Contact
7
7
 
8
- Email: <%= @data.dig(:basics, :contact, :email) %>
9
- Phone: <%= @data.dig(:basics, :contact, :phone) %>
10
- Website: <%= @data.dig(:basics, :contact, :website) %>
11
- Address: <%= @data.dig(:basics, :contact, :location) %>
12
- <% for social in @data.dig(:basics, :contact, :social) %>
13
- <%= social[:network] %>: [<%= social[:user] %>](<%= social[:url] %>)
8
+ Email: <%= @data.dig("basics", "contact", "email") %>
9
+ Phone: <%= @data.dig("basics", "contact", "phone") %>
10
+ Website: <%= @data.dig("basics", "contact", "website") %>
11
+ Address: <%= @data.dig("basics", "contact", "location") %>
12
+ <% for social in @data.dig("basics", "contact", "social") %>
13
+ <%= social["network"] %>: [<%= social["user"] %>](<%= social["url"] %>)
14
14
  <% end %>
15
15
 
16
16
 
17
- # Work Experience
17
+ # Disposition
18
18
 
19
- <%= @data.dig(:employment, :summary) %>
19
+ <%= @data.dig("employment", "disposition") %>
20
20
 
21
- <% for job in @data.dig(:employment, :history) %>
22
- ## [<%= job[:employer] %>](<%= job[:url] %>)
23
21
 
24
- <%= job[:position] %> | <%= job[:startDate] %> - <%= job[:endDate] %>
25
- <%= job[:location] %>
22
+ # Work Experience
26
23
 
27
- <%= job[:summary] %>
28
- **Highlights:**
29
- <% for highlight in job[:highlights] %>
30
- - <%= highlight %>
31
- <% end %>
24
+ <% for job in @data.dig("employment") %>
25
+ ## [<%= job["employer"] %>](<%= job["url"] %>)
32
26
 
33
- <%= job[:keywords].join(", ") %>
27
+ <%= job["position"] %> | <%= job["startDate"] %> - <%= job["endDate"] %>
28
+ <%= job["location"] %>
34
29
 
35
- <% end %>
30
+ <%= job["summary"] %>
36
31
 
37
- # Education
38
-
39
- <%= @data.dig(:education, :summary) %>
32
+ <%= job["keywords"].join(", ") %>
40
33
 
41
- <% for entry in @data.dig(:education, :history) %>
42
- ## [<%= entry[:institution] %>](<%= entry[:url] %>)
34
+ <% end %>
43
35
 
44
- <%= entry[:fieldOfStudy] %>, <%= entry[:degree] %>, <%= entry[:grade] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
45
- <%= entry[:location] %>
36
+ # Education
46
37
 
47
- <%= entry[:summary] %>
38
+ <% for entry in @data.dig("education") %>
39
+ ## [<%= entry["institution"] %>](<%= entry["url"] %>)
48
40
 
49
- **Curriculum:**
50
- <% for course in entry[:curriculum] %>
51
- - <%= course %>
52
- <% end %>
41
+ <%= entry["fieldOfStudy"] %>, <%= entry["degree"] %>, <%= entry["grade"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
42
+ <%= entry["location"] %>
53
43
 
54
- **Highlights:**
55
- <% for highlight in entry[:highlights] %>
56
- - <%= highlight %>
57
- <% end %>
44
+ <%= entry["summary"] %>
58
45
 
59
- <%= entry[:keywords].join(", ") %>
46
+ <%= entry["keywords"].join(", ") %>
60
47
 
61
48
  <% end %>
62
49
 
63
50
 
64
51
  # Projects
65
52
 
66
- <%= @data.dig(:projects, :summary) %>
67
-
68
- <% for project in @data.dig(:projects, :history) %>
69
- ## [<%= project[:title] %>](<%= project[:url] %>)
70
-
71
- <%= project[:category] %>, [<%= project[:repo] %>](<%= project[:repo] %>) | <%= project[:startDate] %> - <%= project[:endDate] %>
72
-
73
- <%= project[:description] %>
53
+ <% for project in @data.dig("projects") %>
54
+ ## [<%= project["title"] %>](<%= project["url"] %>)
74
55
 
75
- **Roles:**
76
- <% for role in project[:roles] %>
77
- -<%= role %>
56
+ <%= project["category"] %>, [<%= project["repo"] %>](<%= project["repo"] %>) | <%= project["startDate"] %> - <%= project["endDate"] %>
78
57
 
79
- <% end %>
80
-
81
-
82
- **Highlights:**
83
- <% for highlight in project[:highlights] %>
84
- - <%= highlight %>
85
- <% end %>
58
+ <%= project["summary"] %>
86
59
 
87
- <%= project[:keywords].join(", ") %>
60
+ <%= project["keywords"].join(", ") %>
88
61
 
89
62
  <% end %>
90
63
 
@@ -92,41 +65,26 @@ Address: <%= @data.dig(:basics, :contact, :location) %>
92
65
 
93
66
  # Open Source
94
67
 
95
- <%= @data.dig(:openSource, :summary) %>
68
+ <%= @data.dig("openSource", "summary") %>
96
69
 
97
70
 
98
- <% for project in @data.dig(:openSource, :history) %>
71
+ [<%= project["title"] %>](<%= project["url"] %>)
99
72
 
100
- [<%= project[:title] %>](<%= project[:url] %>)
73
+ <%= project["category"] %>, [<%= project["repo"] %>](<%= project["repo"] %>) | <%= project["startDate"] %> - <%= project["endDate"] %>
101
74
 
102
- <%= project[:category] %>, [<%= project[:repo] %>](<%= project[:repo] %>) | <%= project[:startDate] %> - <%= project[:endDate] %>
75
+ <%= project["summary"] %>
103
76
 
104
- <%= project[:description] %>
105
-
106
- **Roles:**
107
- <% for role in project[:roles] %>
108
- -<%= role %>
109
- <% end %>
110
-
111
-
112
- **Highlights:**
113
- <% for highlight in project[:highlights] %>
114
- - <%= highlight %>
115
- <% end %>
116
-
117
- <%= project[:keywords].join(", ") %>
77
+ <%= project["keywords"].join(", ") %>
118
78
 
119
79
  <% end %>
120
80
 
121
81
 
122
82
  # Skills
123
83
 
124
- <%= @data.dig(:skills, :summary) %>
125
-
126
- <% for skill in @data.dig(:skills, :sets) %>
127
- <%= skill[:name] %>
128
- <%= skill[:description] %>
129
- <%= skill[:keywords].join(", ") %>
84
+ <% for skill in @data.dig("skills") %>
85
+ <%= skill["name"] %>
86
+ <%= skill["summary"] %>
87
+ <%= skill["keywords"].join(", ") %>
130
88
 
131
89
  <% end %>
132
90
 
@@ -134,274 +92,171 @@ Address: <%= @data.dig(:basics, :contact, :location) %>
134
92
 
135
93
  # Qualifications
136
94
 
137
- <%= @data.dig(:qualifications, :summary) %>
95
+ <% for qualification in @data.dig("qualifications") %>
96
+ ## [<%= qualification["title"] %>](<%= qualification["url"] %>)
138
97
 
139
- <% for qualification in @data.dig(:qualifications, :history) %>
140
- ## [<%= qualification[:title] %>](<%= qualification[:url] %>)
98
+ <%= qualification["category"] %>, <%= qualification["from"] %> | <%= qualification["startDate"] %> - <%= qualification["endDate"] %>
141
99
 
142
- <%= qualification[:category] %>, <%= qualification[:from] %> | <%= qualification[:startDate] %> - <%= qualification[:endDate] %>
100
+ <%= qualification["summary"] %>
143
101
 
144
- <%= qualification[:summary] %>
145
-
146
- **Highlights:**
147
- <% for highlight in qualification[:highlights] %>
148
- - <%= highlight %>
149
- <% end %>
150
-
151
- <%= qualification[:keywords].join(", ") %>
102
+ <%= qualification["keywords"].join(", ") %>
152
103
 
153
104
  <% end %>
154
105
 
155
106
 
156
107
  # Recognition
157
108
 
158
- <%= @data.dig(:recognition, :summary) %>
159
-
160
- <% for entry in @data.dig(:recognition, :history) %>
161
- ## [<%= entry[:title] %>](<%= entry[:url] %>)
109
+ <% for entry in @data.dig("recognition") %>
110
+ ## [<%= entry["title"] %>](<%= entry["url"] %>)
162
111
 
163
- <%= entry[:category] %>, <%= entry[:from] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
112
+ <%= entry["category"] %>, <%= entry["from"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
164
113
 
165
- <%= entry[:summary] %>
166
-
167
- **Highlights:**
168
- <% for highlight in entry[:highlights] %>
169
- - <%= highlight %>
170
- <% end %>
114
+ <%= entry["summary"] %>
171
115
 
172
- <%= entry[:keywords].join(", ") %>
116
+ <%= entry["keywords"].join(", ") %>
173
117
 
174
118
  <% end %>
175
119
 
176
120
 
177
121
  # Writing
178
122
 
179
- <%= @data.dig(:writing, :summary) %>
123
+ <% for entry in @data.dig("writing") %>
124
+ ## [<%= entry["title"] %>](<%= entry["url"] %>)
180
125
 
181
- <% for entry in @data.dig(:writing, :history) %>
182
- ## [<%= entry[:title] %>](<%= entry[:url] %>)
126
+ <%= entry["category"] %>, <%= entry["publisher"] %> | <%= entry["date"] %>
183
127
 
184
- <%= entry[:category] %>, <%= entry[:publisher] %> | <%= entry[:date] %>
128
+ <%= entry["summary"] %>
185
129
 
186
- <%= entry[:summary] %>
187
-
188
- **Highlights:**
189
- <% for highlight in entry[:highlights] %>
190
- - <%= highlight %>
191
- <% end %>
192
-
193
- <%= entry[:keywords].join(", ") %>
130
+ <%= entry["keywords"].join(", ") %>
194
131
 
195
132
  <% end %>
196
133
 
197
134
 
198
135
  # Reading
199
136
 
200
- <%= @data.dig(:reading, :summary) %>
137
+ <% for entry in @data.dig("reading") %>
138
+ ## [<%= entry["title"] %>](<%= entry["url"] %>)
201
139
 
202
- <% for entry in @data.dig(:reading, :history) %>
203
- ## [<%= entry[:title] %>](<%= entry[:url] %>)
140
+ <%= entry["category"] %>, <%= entry["author"] %> | <%= entry["date"] %>
204
141
 
205
- <%= entry[:category] %>, <%= entry[:author] %> | <%= entry[:date] %>
142
+ <%= entry["summary"] %>
206
143
 
207
- <%= entry[:summary] %>
208
-
209
- **Highlights:**
210
- <% for highlight in entry[:highlights] %>
211
- - <%= highlight %>
212
- <% end %>
213
-
214
- <%= entry[:keywords].join(", ") %>
144
+ <%= entry["keywords"].join(", ") %>
215
145
 
216
146
  <% end %>
217
147
 
218
148
 
219
149
  # Speaking
220
150
 
221
- <%= @data.dig(:speaking, :summary) %>
222
-
223
- <% for entry in @data.dig(:speaking, :history) %>
224
- ## [<%= entry[:title] %>](<%= entry[:url] %>)
151
+ <% for entry in @data.dig("speaking") %>
152
+ ## [<%= entry["title"] %>](<%= entry["url"] %>)
225
153
 
226
- <%= entry[:event] %>, <%= entry[:location] %> | <%= entry[:date] %>
154
+ <%= entry["event"] %>, <%= entry["location"] %> | <%= entry["date"] %>
227
155
 
228
- <%= entry[:summary] %>
229
-
230
- **Highlights:**
231
- <% for highlight in entry[:highlights] %>
232
- - <%= highlight %>
233
- <% end %>
156
+ <%= entry["summary"] %>
234
157
 
235
- <%= entry[:keywords].join(", ") %>
158
+ <%= entry["keywords"].join(", ") %>
236
159
 
237
160
  <% end %>
238
161
 
239
162
 
240
163
  # Patents
241
164
 
242
- <%= @data.dig(:patents, :summary) %>
165
+ <% for patent in @data.dig("patents") %>
166
+ ## [<%= patent["title"] %>](<%= patent["url"] %>)
243
167
 
244
- <% for patent in @data.dig(:patents, :history) %>
245
- ## [<%= patent[:title] %>](<%= patent[:url] %>)
168
+ <%= patent["number"] %>, <%= patent["status"] %> | <%= patent["date"] %>
246
169
 
247
- <%= patent[:number] %>, <%= patent[:status] %> | <%= patent[:date] %>
170
+ <%= patent["summary"] %>
248
171
 
249
- <%= patent[:description] %>
250
-
251
- **Highlights:**
252
- <% for highlight in patent[:highlights] %>
253
- - <%= highlight %>
254
- <% end %>
255
-
256
- <%= patent[:keywords].join(", ") %>
172
+ <%= patent["keywords"].join(", ") %>
257
173
 
258
174
  <% end %>
259
175
 
260
176
 
261
177
  # Languages
262
178
 
263
- <%= @data.dig(:languages, :summary) %>
264
-
265
- <% for language in @data.dig(:languages, :list) %>
266
- - <%= language[:language] %>, <%= language[:level] %> (<%= language[:years] %> years)
179
+ <% for language in @data.dig("languages") %>
180
+ - <%= language["language"] %>, <%= language["level"] %> (<%= language["years"] %> years)
267
181
  <% end %>
268
182
 
269
183
 
270
184
  # Interest
271
185
 
272
- <%= @data.dig(:interests, :summary) %>
273
-
274
- <% for interest in @data.dig(:interests, :list) %>
275
- **<%= interest[:name] %>**
276
- <%= interest[:description] %>
186
+ <% for interest in @data.dig("interests") %>
187
+ **<%= interest["name"] %>**
188
+ <%= interest["summary"] %>
277
189
 
278
190
  <% end %>
279
191
 
280
192
 
281
193
  # Extracurricular
282
194
 
283
- <%= @data.dig(:extracurriculars, :summary) %>
284
-
285
- <% for entry in @data.dig(:extracurriculars, :history) %>
195
+ <% for entry in @data.dig("extracurriculars") %>
286
196
 
287
- ## [<%= entry[:title] %>](<%= entry[:url] %>)
197
+ ## [<%= entry["title"] %>](<%= entry["url"] %>)
288
198
 
289
- <%= entry[:category] %>, <%= entry[:location] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
199
+ <%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
290
200
 
291
- <%= entry[:summary] %>
292
-
293
- **Highlights:**
294
- <% for highlight in entry[:highlights] %>
295
- - <%= highlight %>
296
- <% end %>
201
+ <%= entry["summary"] %>
297
202
 
298
- <%= entry[:keywords].join(", ") %>
203
+ <%= entry["keywords"].join(", ") %>
299
204
 
300
205
  <% end %>
301
206
 
302
207
 
303
208
  # Affiliation
304
209
 
305
- <%= @data.dig(:affiliations, :summary) %>
210
+ <% for entry in @data.dig("affiliations") %>
306
211
 
307
- <% for entry in @data.dig(:affiliations, :history) %>
212
+ ## [<%= entry["organization"] %>](<%= entry["url"] %>)
308
213
 
309
- ## [<%= entry[:organization] %>](<%= entry[:url] %>)
310
-
311
- <%= entry[:category] %>, <%= entry[:location] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
312
-
313
- <%= entry[:summary] %>
314
-
315
- **Roles:**
316
- <% for role in entry[:roles] %>
317
- -<%= role %>
318
- <% end %>
214
+ <%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
319
215
 
320
- **Highlights:**
321
- <% for highlight in entry[:highlights] %>
322
- - <%= highlight %>
323
- <% end %>
216
+ <%= entry["summary"] %>
324
217
 
325
- <%= entry[:keywords].join(", ") %>
218
+ <%= entry["keywords"].join(", ") %>
326
219
 
327
220
  <% end %>
328
221
 
329
222
 
330
223
  # Governance
331
224
 
332
- <%= @data.dig(:governance, :summary) %>
333
-
334
- <% for entry in @data.dig(:governance, :history) %>
225
+ <% for entry in @data.dig("governance") %>
335
226
 
336
- ## [<%= entry[:organization] %>](<%= entry[:url] %>)
227
+ ## [<%= entry["organization"] %>](<%= entry["url"] %>)
337
228
 
338
- <%= entry[:summary] %>
229
+ <%= entry["summary"] %>
339
230
 
340
- <%= entry[:category] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
231
+ <%= entry["category"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
341
232
 
342
- **Roles:**
343
- <% for role in entry[:roles] %>
344
- -<%= role %>
345
- <% end %>
346
-
347
- **Highlights:**
348
- <% for highlight in entry[:highlights] %>
349
- - <%= highlight %>
350
- <% end %>
351
-
352
- <%= entry[:keywords].join(", ") %>
233
+ <%= entry["keywords"].join(", ") %>
353
234
 
354
235
  <% end %>
355
236
 
356
237
 
357
238
  # Service
358
239
 
359
- <%= @data.dig(:service, :summary) %>
360
-
361
- <% for entry in @data.dig(:service, :history) %>
240
+ <% for entry in @data.dig("service") %>
362
241
 
363
- ## [<%= entry[:organization] %>](<%= entry[:url] %>)
242
+ ## [<%= entry["organization"] %>](<%= entry["url"] %>)
364
243
 
365
- <%= entry[:category] %>, <%= entry[:location] %> | <%= entry[:startDate] %> - <%= entry[:endDate] %>
244
+ <%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
366
245
 
367
- <%= entry[:summary] %>
246
+ <%= entry["summary"] %>
368
247
 
369
- **Roles:**
370
- <% for role in entry[:roles] %>
371
- -<%= role %>
372
- <% end %>
373
-
374
- **Highlights:**
375
- <% for highlight in entry[:highlights] %>
376
- - <%= highlight %>
377
- <% end %>
378
-
379
- <%= entry[:keywords].join(", ") %>
248
+ <%= entry["keywords"].join(", ") %>
380
249
 
381
250
  <% end %>
382
251
 
383
252
 
384
253
  # References
385
254
 
386
- <%= @data.dig(:references, :summary) %>
255
+ <% for reference in @data.dig("references") %>
387
256
 
388
- <% for reference in @data.dig(:references, :history) %>
257
+ **<%= reference["name"] %>**
258
+ <%= reference["role"] %>, <%= reference["company"] %>
389
259
 
390
- **<%= reference[:name] %>**
391
- <%= reference[:role] %>, <%= reference[:company] %>
392
-
393
- <%= reference[:summary] %>
260
+ <%= reference["summary"] %>
394
261
 
395
262
  <% end %>
396
-
397
-
398
- # Disposition
399
-
400
- <%= @data.dig(:disposition, :summary) %>
401
-
402
- Percentage of time willing to travel: <%= @data.dig(:disposition, :travel) %>
403
- Work authorization: <%= @data.dig(:disposition, :authorization) %>
404
- Types of work commitment desired: <%= @data.dig(:disposition, :commitment).join(", ") %>
405
- Open to remote employment opportunities: <%= @data.dig(:disposition, :remote) %>
406
- Willing to relocate: <%= @data.dig(:disposition, :relocation, :willing) %>
407
- Preferred destinations for relocation: <%= @data.dig(:disposition, :relocation, :destinations).join(", ") %>