resme 2.0.0 → 2.1.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/CHANGELOG.org +7 -2
- data/README.org +2 -2
- data/exe/resme +0 -0
- data/lib/resme/cli.rb +24 -13
- data/lib/resme/document.rb +5 -17
- data/lib/resme/document_validator.rb +166 -209
- data/lib/resme/executor.rb +34 -7
- data/lib/resme/helper.rb +13 -9
- data/lib/resme/json_resume.rb +90 -87
- data/lib/resme/version.rb +1 -1
- data/lib/resme.rb +0 -2
- data/templates/html.erb +337 -0
- data/templates/org.erb +4 -0
- data/templates/resume-bauhaus.css +354 -0
- data/templates/resume-default.css +346 -0
- data/templates/resume-futurism.css +336 -0
- data/templates/resume-kyver.css +346 -0
- data/templates/resume-modern-light.css +305 -0
- data/templates/resume-modern.css +306 -0
- data/templates/resume-shair.tech.css +309 -0
- data/templates/resume-timeline.css +372 -0
- metadata +13 -5
- data/TAGS +0 -83
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
/* Europass "Timeline" Template - Shair.Tech Palette Edition */
|
|
2
|
+
|
|
3
|
+
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&display=swap');
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
--shair-blue-dark: #0f2d4a;
|
|
7
|
+
--shair-blue-medium: #163a5f;
|
|
8
|
+
--shair-green-main: #22a06b;
|
|
9
|
+
--shair-green-dark: #1b7a52;
|
|
10
|
+
--shair-green-light: #e8f6f0;
|
|
11
|
+
--shair-bg-sidebar: #f4f8fa;
|
|
12
|
+
--shair-border: #d0dbe5;
|
|
13
|
+
--timeline-line-color: #cbd5e1;
|
|
14
|
+
|
|
15
|
+
--text-dark: #232c33;
|
|
16
|
+
--text-muted: #5a6872;
|
|
17
|
+
--white: #ffffff;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
* {
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
margin: 0;
|
|
23
|
+
padding: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body {
|
|
27
|
+
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
|
|
28
|
+
font-size: 13px;
|
|
29
|
+
line-height: 1.5;
|
|
30
|
+
color: var(--text-dark);
|
|
31
|
+
background-color: #eaedf1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Outer Container Setup */
|
|
35
|
+
.container {
|
|
36
|
+
display: flex;
|
|
37
|
+
max-width: 960px;
|
|
38
|
+
margin: 30px auto;
|
|
39
|
+
background-color: var(--white);
|
|
40
|
+
box-shadow: 0 4px 20px rgba(15, 45, 74, 0.08);
|
|
41
|
+
border-radius: 6px;
|
|
42
|
+
position: relative;
|
|
43
|
+
overflow: hidden;
|
|
44
|
+
min-height: 100vh;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Europass Logo - Positioned Top Right */
|
|
48
|
+
.container::after {
|
|
49
|
+
content: "";
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 25px;
|
|
52
|
+
right: 35px;
|
|
53
|
+
width: 170px;
|
|
54
|
+
height: 40px;
|
|
55
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 60'%3E%3C!-- EU Flag --%3E%3Crect width='60' height='40' y='10' fill='%230f2d4a' rx='2'/%3E%3Cg fill='%2322a06b'%3E%3Cpolygon points='30,14 30.8,16.5 33.4,16.5 31.3,18 32.1,20.5 30,19 27.9,20.5 28.7,18 26.6,16.5 29.2,16.5'/%3E%3Cpolygon points='30,40 30.8,42.5 33.4,42.5 31.3,44 32.1,46.5 30,45 27.9,46.5 28.7,44 26.6,42.5 29.2,42.5'/%3E%3Cpolygon points='17,27 17.8,29.5 20.4,29.5 18.3,31 19.1,33.5 17,32 14.9,33.5 15.7,31 13.6,29.5 16.2,29.5'/%3E%3Cpolygon points='43,27 43.8,29.5 46.4,29.5 44.3,31 45.1,33.5 43,32 40.9,33.5 41.7,31 39.6,29.5 42.2,29.5'/%3E%3Cpolygon points='20.5,17.5 21.3,20 23.9,20 21.8,21.5 22.6,24 20.5,22.5 18.4,24 19.2,21.5 17.1,20 19.7,20'/%3E%3Cpolygon points='39.5,17.5 40.3,20 42.9,20 40.8,21.5 41.6,24 39.5,22.5 37.4,24 38.2,21.5 36.1,20 38.7,20'/%3E%3Cpolygon points='20.5,36.5 21.3,39 23.9,39 21.8,40.5 22.6,43 20.5,41.5 18.4,43 19.2,40.5 17.1,39 19.7,39'/%3E%3Cpolygon points='39.5,36.5 40.3,39 42.9,39 40.8,40.5 41.6,43 39.5,41.5 37.4,43 38.2,40.5 36.1,39 38.7,39'/%3E%3Cpolygon points='13.5,21 14.3,23.5 16.9,23.5 14.8,25 15.6,27.5 13.5,26 11.4,27.5 12.2,25 10.1,23.5 12.7,23.5'/%3E%3Cpolygon points='46.5,21 47.3,23.5 49.9,23.5 47.8,25 48.6,27.5 46.5,26 44.4,27.5 45.2,25 43.1,23.5 45.7,23.5'/%3E%3Cpolygon points='13.5,33 14.3,35.5 16.9,35.5 14.8,37 15.6,39.5 13.5,38 11.4,39.5 12.2,37 10.1,35.5 12.7,35.5'/%3E%3Cpolygon points='46.5,33 47.3,35.5 49.9,35.5 47.8,37 48.6,39.5 46.5,38 44.4,39.5 45.2,37 43.1,35.5 45.7,35.5'/%3E%3C/g%3E%3C!-- Europass Text --%3E%3Cg transform='translate(75, 2)'%3E%3Cpath fill='%2322a06b' d='M23.1 11.2C13.2 11.2 5 18.3 3.2 28h13.2c1.5-3.3 5-5.6 9-5.6 5.5 0 10 4.5 10 10s-4.5 10-10 10c-4 0-7.5-2.3-9-5.6H3.2c1.8 9.7 10 16.8 19.9 16.8 11.2 0 20.3-9.1 20.3-20.3S34.3 11.2 23.1 11.2z'/%3E%3Cpath fill='%230f2d4a' d='M62.4 12.1h-8.8v31.1h8.8V12.1zm21.3 0h-8.8v18.7c0 4.1-2.9 6.2-6.2 6.2s-6.2-2.1-6.2-6.2V12.1h-8.8v19.4c0 8.3 5.9 12.4 15 12.4s15-4.1 15-12.4V12.1zm17.9 11.7c-5.3 0-8.8 3.8-8.8 9.5s3.5 9.5 8.8 9.5 8.8-3.8 8.8-9.5zm0-6.6c10.1 0 17.6 7 17.6 16.1s-7.5 16.1-17.6 16.1S84 32.4 84 23.3s7.5-16.1 17.6-16.1zm29.8 6.6c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v12h-8.8V12.1zm59.2 11.7c-4.8 0-8 3.5-8 8.8s3.2 8.8 8 8.8 8-3.5 8-8.8-3.2-8.8-8-8.8zm-16.8-11.7h8.8v4.5c2.3-3.4 6.2-5.1 10.7-5.1 8.5 0 14.8 6.2 14.8 15.6s-6.3 15.6-14.8 15.6c-4.5 0-8.4-1.7-10.7-5.1v4.5h-8.8V12.1z'/%3E%3C/g%3E%3C/svg%3E");
|
|
56
|
+
background-repeat: no-repeat;
|
|
57
|
+
background-size: contain;
|
|
58
|
+
z-index: 10;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Left Sidebar Layout */
|
|
62
|
+
.contact-information {
|
|
63
|
+
width: 32%;
|
|
64
|
+
background-color: var(--shair-bg-sidebar);
|
|
65
|
+
padding: 35px 22px;
|
|
66
|
+
border-right: 1px solid var(--shair-border);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.contact-information .fullname-title {
|
|
70
|
+
display: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.contact-information h2 {
|
|
74
|
+
font-size: 13px;
|
|
75
|
+
font-weight: 700;
|
|
76
|
+
text-transform: uppercase;
|
|
77
|
+
color: var(--shair-blue-dark);
|
|
78
|
+
letter-spacing: 0.6px;
|
|
79
|
+
border-bottom: 2px solid var(--shair-green-main);
|
|
80
|
+
padding-bottom: 4px;
|
|
81
|
+
margin-bottom: 15px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.contact-information .section {
|
|
85
|
+
margin-bottom: 24px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.contact-information .item {
|
|
89
|
+
margin-bottom: 12px;
|
|
90
|
+
word-break: break-word;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.contact-information .label {
|
|
94
|
+
display: block;
|
|
95
|
+
font-size: 11px;
|
|
96
|
+
font-weight: 700;
|
|
97
|
+
text-transform: capitalize;
|
|
98
|
+
color: var(--shair-green-dark);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.contact-information .value {
|
|
102
|
+
font-size: 12.5px;
|
|
103
|
+
color: var(--text-dark);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.contact-information .value .street,
|
|
107
|
+
.contact-information .value .postal-code,
|
|
108
|
+
.contact-information .value .city {
|
|
109
|
+
display: block;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Right Main Area */
|
|
113
|
+
.main {
|
|
114
|
+
width: 68%;
|
|
115
|
+
padding: 35px 40px;
|
|
116
|
+
background-color: var(--white);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.main .fullname-title {
|
|
120
|
+
font-size: 26px;
|
|
121
|
+
font-weight: 700;
|
|
122
|
+
color: var(--shair-blue-dark);
|
|
123
|
+
letter-spacing: 0.2px;
|
|
124
|
+
margin-bottom: 30px;
|
|
125
|
+
padding-right: 180px; /* Leave space for top-right logo */
|
|
126
|
+
border-bottom: 3px solid var(--shair-green-main);
|
|
127
|
+
padding-bottom: 10px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.main .section {
|
|
131
|
+
margin-bottom: 30px;
|
|
132
|
+
position: relative;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.main h2 {
|
|
136
|
+
font-size: 14.5px;
|
|
137
|
+
font-weight: 700;
|
|
138
|
+
color: var(--shair-blue-medium);
|
|
139
|
+
text-transform: uppercase;
|
|
140
|
+
border-bottom: 1.5px solid var(--shair-border);
|
|
141
|
+
padding-bottom: 4px;
|
|
142
|
+
margin-bottom: 20px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Timeline Specific Structure */
|
|
146
|
+
.work-experiences.section,
|
|
147
|
+
.teachings.section,
|
|
148
|
+
.projects.section,
|
|
149
|
+
.education.section,
|
|
150
|
+
.volunteer.section,
|
|
151
|
+
.other.section,
|
|
152
|
+
.visits.section {
|
|
153
|
+
position: relative;
|
|
154
|
+
padding-left: 20px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/* Timeline Vertical Line */
|
|
158
|
+
.work-experiences.section::before,
|
|
159
|
+
.teachings.section::before,
|
|
160
|
+
.projects.section::before,
|
|
161
|
+
.education.section::before,
|
|
162
|
+
.volunteer.section::before,
|
|
163
|
+
.other.section::before,
|
|
164
|
+
.visits.section::before {
|
|
165
|
+
content: "";
|
|
166
|
+
position: absolute;
|
|
167
|
+
top: 32px;
|
|
168
|
+
bottom: 10px;
|
|
169
|
+
left: 5px;
|
|
170
|
+
width: 2px;
|
|
171
|
+
background-color: var(--timeline-line-color);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.main .item,
|
|
175
|
+
.main .visit {
|
|
176
|
+
margin-bottom: 20px;
|
|
177
|
+
position: relative;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* Timeline Node Bullet Points */
|
|
181
|
+
.work-experiences .item::before,
|
|
182
|
+
.teachings .item::before,
|
|
183
|
+
.projects .item::before,
|
|
184
|
+
.education .education-item::before,
|
|
185
|
+
.volunteer .volunteer-item::before,
|
|
186
|
+
.other .item::before,
|
|
187
|
+
.visits .visit::before {
|
|
188
|
+
content: "";
|
|
189
|
+
position: absolute;
|
|
190
|
+
left: -20px;
|
|
191
|
+
top: 4px;
|
|
192
|
+
width: 10px;
|
|
193
|
+
height: 10px;
|
|
194
|
+
border-radius: 50%;
|
|
195
|
+
background-color: var(--shair-green-main);
|
|
196
|
+
border: 2px solid var(--white);
|
|
197
|
+
box-shadow: 0 0 0 2px var(--shair-green-main);
|
|
198
|
+
z-index: 2;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/* Timeline Period / Badge Elements */
|
|
202
|
+
.period,
|
|
203
|
+
.year,
|
|
204
|
+
.date {
|
|
205
|
+
display: inline-block;
|
|
206
|
+
font-weight: 700;
|
|
207
|
+
font-size: 11.5px;
|
|
208
|
+
color: var(--shair-green-dark);
|
|
209
|
+
background-color: var(--shair-green-light);
|
|
210
|
+
border: 1px solid rgba(34, 160, 107, 0.25);
|
|
211
|
+
padding: 1px 9px;
|
|
212
|
+
border-radius: 12px;
|
|
213
|
+
margin-bottom: 5px;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.position,
|
|
217
|
+
.degree,
|
|
218
|
+
.subject {
|
|
219
|
+
font-size: 14px;
|
|
220
|
+
font-weight: 700;
|
|
221
|
+
color: var(--shair-blue-dark);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.name,
|
|
225
|
+
.school,
|
|
226
|
+
.venue,
|
|
227
|
+
.publisher {
|
|
228
|
+
font-size: 13px;
|
|
229
|
+
font-weight: 600;
|
|
230
|
+
color: var(--shair-blue-medium);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.authors {
|
|
234
|
+
font-style: italic;
|
|
235
|
+
color: var(--text-muted);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.address {
|
|
239
|
+
font-size: 12px;
|
|
240
|
+
color: var(--text-muted);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.summary {
|
|
244
|
+
margin-top: 5px;
|
|
245
|
+
font-size: 12.5px;
|
|
246
|
+
color: var(--text-dark);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.summary p {
|
|
250
|
+
margin-bottom: 6px;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.summary p:last-child {
|
|
254
|
+
margin-bottom: 0;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/* Languages Section Styling */
|
|
258
|
+
.languages .item {
|
|
259
|
+
margin-bottom: 10px;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.mother-tongue,
|
|
263
|
+
.foreign-language {
|
|
264
|
+
display: flex;
|
|
265
|
+
align-items: center;
|
|
266
|
+
justify-content: space-between;
|
|
267
|
+
border-bottom: 1px dashed var(--shair-border);
|
|
268
|
+
padding: 4px 0;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.language {
|
|
272
|
+
font-weight: 600;
|
|
273
|
+
text-transform: capitalize;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.level {
|
|
277
|
+
font-size: 11px;
|
|
278
|
+
font-weight: 700;
|
|
279
|
+
text-transform: uppercase;
|
|
280
|
+
color: var(--shair-green-dark);
|
|
281
|
+
background-color: var(--shair-green-light);
|
|
282
|
+
border: 1px solid rgba(34, 160, 107, 0.25);
|
|
283
|
+
padding: 1px 8px;
|
|
284
|
+
border-radius: 10px;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.level:empty {
|
|
288
|
+
display: none;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/* Committees Section */
|
|
292
|
+
.committee.item {
|
|
293
|
+
display: flex;
|
|
294
|
+
justify-content: space-between;
|
|
295
|
+
align-items: center;
|
|
296
|
+
border-bottom: 1px dashed var(--shair-border);
|
|
297
|
+
padding-bottom: 4px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.committee .editions {
|
|
301
|
+
font-size: 12px;
|
|
302
|
+
font-weight: 600;
|
|
303
|
+
color: var(--shair-green-dark);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* Print Specific Rules with White Sidebar Background */
|
|
307
|
+
@media print {
|
|
308
|
+
@page {
|
|
309
|
+
size: A4;
|
|
310
|
+
margin: 12mm 15mm;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
body {
|
|
314
|
+
background-color: var(--white);
|
|
315
|
+
font-size: 11px;
|
|
316
|
+
-webkit-print-color-adjust: exact;
|
|
317
|
+
print-color-adjust: exact;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.container {
|
|
321
|
+
max-width: 100%;
|
|
322
|
+
margin: 0;
|
|
323
|
+
box-shadow: none;
|
|
324
|
+
border: none;
|
|
325
|
+
border-radius: 0;
|
|
326
|
+
min-height: auto;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.container::after {
|
|
330
|
+
top: 0;
|
|
331
|
+
right: 0;
|
|
332
|
+
width: 140px;
|
|
333
|
+
height: 32px;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.contact-information {
|
|
337
|
+
width: 30%;
|
|
338
|
+
padding: 0 15px 0 0;
|
|
339
|
+
background-color: var(--white) !important;
|
|
340
|
+
border-right: 1px solid var(--shair-border);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.main {
|
|
344
|
+
width: 70%;
|
|
345
|
+
padding: 0 0 0 20px;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.main .fullname-title {
|
|
349
|
+
font-size: 20px;
|
|
350
|
+
padding-right: 140px;
|
|
351
|
+
margin-bottom: 15px;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
.main .section {
|
|
355
|
+
margin-bottom: 14px;
|
|
356
|
+
page-break-inside: avoid;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.main .item,
|
|
360
|
+
.main .visit {
|
|
361
|
+
page-break-inside: avoid;
|
|
362
|
+
margin-bottom: 12px;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.period,
|
|
366
|
+
.year,
|
|
367
|
+
.date,
|
|
368
|
+
.level {
|
|
369
|
+
background-color: var(--shair-green-light) !important;
|
|
370
|
+
border: 1px solid rgba(34, 160, 107, 0.25) !important;
|
|
371
|
+
}
|
|
372
|
+
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: resme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adolfo Villafiorita
|
|
@@ -23,9 +23,9 @@ dependencies:
|
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
|
-
description:
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
description: Manage your resume in YAML and publish with Org Mode or JSON resume.Org
|
|
27
|
+
Mode provides HTML, TXT, LaTeX, Markdown exports.JSON Resume comes with many ready-made
|
|
28
|
+
templates.
|
|
29
29
|
email:
|
|
30
30
|
- adolfo@shair.tech
|
|
31
31
|
executables:
|
|
@@ -38,7 +38,6 @@ files:
|
|
|
38
38
|
- LICENSE.txt
|
|
39
39
|
- README.org
|
|
40
40
|
- Rakefile
|
|
41
|
-
- TAGS
|
|
42
41
|
- exe/resme
|
|
43
42
|
- lib/resme.rb
|
|
44
43
|
- lib/resme/cli.rb
|
|
@@ -49,8 +48,17 @@ files:
|
|
|
49
48
|
- lib/resme/json_resume.rb
|
|
50
49
|
- lib/resme/version.rb
|
|
51
50
|
- sig/resme.rbs
|
|
51
|
+
- templates/html.erb
|
|
52
52
|
- templates/json.erb
|
|
53
53
|
- templates/org.erb
|
|
54
|
+
- templates/resume-bauhaus.css
|
|
55
|
+
- templates/resume-default.css
|
|
56
|
+
- templates/resume-futurism.css
|
|
57
|
+
- templates/resume-kyver.css
|
|
58
|
+
- templates/resume-modern-light.css
|
|
59
|
+
- templates/resume-modern.css
|
|
60
|
+
- templates/resume-shair.tech.css
|
|
61
|
+
- templates/resume-timeline.css
|
|
54
62
|
- templates/resume.yml
|
|
55
63
|
homepage: https://github.com/avillafiorita/resme
|
|
56
64
|
licenses:
|
data/TAGS
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/document.rb,292
|
|
3
|
-
module ResmeResme3,31
|
|
4
|
-
class DocumentDocument7,88
|
|
5
|
-
attr_reader :filename, :datafilename8,105
|
|
6
|
-
attr_reader :filename, :datadata8,105
|
|
7
|
-
def initialize(filename)initialize10,139
|
|
8
|
-
def dig(*keys)dig16,292
|
|
9
|
-
def fetch(*keys, default)fetch21,422
|
|
10
|
-
def loadload27,502
|
|
11
|
-
|
|
12
|
-
/home/adolfo/Sources/ruby/resme/test/test_helper.rb,0
|
|
13
|
-
|
|
14
|
-
/home/adolfo/Sources/ruby/resme/test/test_resme.rb,200
|
|
15
|
-
class TestResme < Minitest::TestTestResme5,54
|
|
16
|
-
def test_that_it_has_a_version_numbertest_that_it_has_a_version_number6,87
|
|
17
|
-
def test_it_does_something_usefultest_it_does_something_useful10,166
|
|
18
|
-
|
|
19
|
-
/home/adolfo/Sources/ruby/resme/templates/org.erb,0
|
|
20
|
-
|
|
21
|
-
/home/adolfo/Sources/ruby/resme/lib/resme.rb,0
|
|
22
|
-
|
|
23
|
-
/home/adolfo/Sources/ruby/resme/templates/json.erb,0
|
|
24
|
-
|
|
25
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/document_validator.rb,421
|
|
26
|
-
module ResmeResme3,31
|
|
27
|
-
class DocumentValidatorDocumentValidator7,76
|
|
28
|
-
def initialize(document)initialize8,102
|
|
29
|
-
def validatevalidate12,167
|
|
30
|
-
OPTIONAL_STRING = [:optional, String, NilClass]OPTIONAL_STRING32,626
|
|
31
|
-
OPTIONAL_PARTIAL_DATE = [:optional, Date, String, Integer, NilClass]OPTIONAL_PARTIAL_DATE33,678
|
|
32
|
-
PARTIAL_DATE = [Date, String, Integer]PARTIAL_DATE34,751
|
|
33
|
-
SCHEMA = {SCHEMA40,891
|
|
34
|
-
|
|
35
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/helper.rb,990
|
|
36
|
-
module ResmeResme3,31
|
|
37
|
-
module HelperHelper7,87
|
|
38
|
-
def clean(string)clean9,178
|
|
39
|
-
def full_name(data)full_name13,250
|
|
40
|
-
def reflow_a(string, line_break: 78)reflow_a33,855
|
|
41
|
-
def blank?(char)blank?68,2023
|
|
42
|
-
def reflow_s(string, line_break: 75, delimiter: "\n", indent: 3)reflow_s75,2256
|
|
43
|
-
def period(entry, date: :date, from: :start_date, to: :end_date, separator: "--")period100,3229
|
|
44
|
-
def itemize(entry, header: %i[role who address], summary_key: :summary)itemize125,3984
|
|
45
|
-
def propertify(entry, except: %i[summary details], indent: 3)propertify136,4430
|
|
46
|
-
def select(contacts, label: :email)select146,4731
|
|
47
|
-
def format_date(date, format: "%Y-%m-%d")format_date162,5262
|
|
48
|
-
def complete_date(incomplete_date, format: "%Y-%m-%d")complete_date166,5376
|
|
49
|
-
def year(input)year181,5784
|
|
50
|
-
def month(input)month186,5902
|
|
51
|
-
def day(input)day191,6019
|
|
52
|
-
def y?(input)y?196,6161
|
|
53
|
-
def ym?(input)ym?201,6280
|
|
54
|
-
def ymd?(input)ymd?206,6398
|
|
55
|
-
|
|
56
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/json_resume.rb,196
|
|
57
|
-
module ResmeResme3,31
|
|
58
|
-
class JsonResumeJsonResume7,78
|
|
59
|
-
def initialize(document)initialize10,121
|
|
60
|
-
def buildbuild15,214
|
|
61
|
-
def split_highlights(highlights)split_highlights150,4552
|
|
62
|
-
|
|
63
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/version.rb,57
|
|
64
|
-
module ResmeResme3,31
|
|
65
|
-
VERSION = "2.0.0"VERSION4,44
|
|
66
|
-
|
|
67
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/cli.rb,218
|
|
68
|
-
module ResmeResme3,31
|
|
69
|
-
class CliCli7,75
|
|
70
|
-
attr_reader :optionsoptions8,87
|
|
71
|
-
def initialize(arguments)initialize10,113
|
|
72
|
-
def parseparse15,257
|
|
73
|
-
def commandcommand20,332
|
|
74
|
-
def parserparser26,391
|
|
75
|
-
|
|
76
|
-
/home/adolfo/Sources/ruby/resme/lib/resme/executor.rb,294
|
|
77
|
-
module ResmeResme3,31
|
|
78
|
-
class ExecutorExecutor4,44
|
|
79
|
-
def initialize(input)initialize8,124
|
|
80
|
-
def executeexecute14,234
|
|
81
|
-
def output_filename(format)output_filename76,2176
|
|
82
|
-
def backup(filename)backup80,2264
|
|
83
|
-
def backup_and_write(filename, content)backup_and_write85,2405
|