resume_exporter 0.0.1 → 1.0.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.
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(", ") %>