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.
- checksums.yaml +4 -4
- data/bin/resume_exporter +4 -2
- data/lib/exporters/html.rb +33 -0
- data/lib/exporters/pdf.rb +13 -0
- data/lib/extractors/html/linkedin.rb +145 -169
- data/lib/extractors/html/stackoverflow.rb +60 -72
- data/lib/extractors/html/xing.rb +46 -60
- data/lib/extractors/html.rb +1 -1
- data/lib/extractors/json/fresh.rb +196 -233
- data/lib/extractors/json/json_resume.rb +107 -127
- data/lib/extractors/json/prtflio.rb +20 -24
- data/lib/extractors/json.rb +7 -6
- data/lib/resume_exporter.rb +6 -0
- data/lib/templates/default.json.jbuilder +162 -229
- data/lib/templates/default.md.erb +99 -244
- data/lib/templates/default.txt.erb +99 -224
- data/lib/templates/default.xml.builder +162 -227
- data/lib/templates/fresh.json.jbuilder +149 -155
- data/lib/templates/html/_affiliation.liquid +53 -0
- data/lib/templates/html/_basics.liquid +19 -0
- data/lib/templates/html/_contact.liquid +27 -0
- data/lib/templates/html/_css.liquid +324 -0
- data/lib/templates/html/_disposition.liquid +13 -0
- data/lib/templates/html/_education.liquid +56 -0
- data/lib/templates/html/_employment.liquid +67 -0
- data/lib/templates/html/_extracurricular.liquid +53 -0
- data/lib/templates/html/_footer.liquid +1 -0
- data/lib/templates/html/_governance.liquid +52 -0
- data/lib/templates/html/_image.liquid +7 -0
- data/lib/templates/html/_interests.liquid +23 -0
- data/lib/templates/html/_languages.liquid +22 -0
- data/lib/templates/html/_open_source.liquid +53 -0
- data/lib/templates/html/_patents.liquid +50 -0
- data/lib/templates/html/_projects.liquid +53 -0
- data/lib/templates/html/_qualifications.liquid +53 -0
- data/lib/templates/html/_reading.liquid +52 -0
- data/lib/templates/html/_recognition.liquid +54 -0
- data/lib/templates/html/_references.liquid +28 -0
- data/lib/templates/html/_resume.liquid +49 -0
- data/lib/templates/html/_service.liquid +53 -0
- data/lib/templates/html/_skills.liquid +35 -0
- data/lib/templates/html/_social.liquid +25 -0
- data/lib/templates/html/_speaking.liquid +53 -0
- data/lib/templates/html/_writing.liquid +52 -0
- data/lib/templates/html/default.liquid +1 -0
- data/lib/templates/json_resume.json.jbuilder +72 -72
- metadata +119 -20
@@ -0,0 +1,50 @@
|
|
1
|
+
{% if site.data.resume.patents.size > 0 %}
|
2
|
+
<div class="row patents section" id="patents" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Patents</h2>
|
5
|
+
|
6
|
+
{% for patent in site.data.resume.patents %}
|
7
|
+
<div class="patent entry {% if patent == site.data.resume.patents.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-12">
|
10
|
+
<h3>
|
11
|
+
{% capture title %}<span class="patent-title">{{ patent.title }}</span>{% if patent.number %} <span class="number">({{ patent.number }})</span> {% endif %}{% endcapture %}
|
12
|
+
{% if patent.url %}
|
13
|
+
<a href="{{patent.url}}">{{title}}</a>
|
14
|
+
{% else %}
|
15
|
+
{{title}}
|
16
|
+
{% endif %}
|
17
|
+
</h3>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="row no-gutters subtitle">
|
22
|
+
<div class="col-sm-6">
|
23
|
+
{{ patent.status }}
|
24
|
+
</div>
|
25
|
+
<div class="col-sm-6 right">
|
26
|
+
{{ patent.date }}
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
{% if patent.summary %}
|
31
|
+
<div class="summary">
|
32
|
+
{{patent.summary}}
|
33
|
+
</div>
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
{% if patent.keywords %}
|
37
|
+
<div class="keywords">
|
38
|
+
{% for keyword in patent.keywords %}
|
39
|
+
<span class="keyword tag">
|
40
|
+
{{ keyword }}
|
41
|
+
</span>
|
42
|
+
{% endfor %}
|
43
|
+
</div>
|
44
|
+
{% endif %}
|
45
|
+
|
46
|
+
</div>
|
47
|
+
{% endfor %}
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
{% endif %}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{% if site.data.resume.projects.size > 0 %}
|
2
|
+
<div class="row projects section" id="projects" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Projects</h2>
|
5
|
+
|
6
|
+
{% for project in site.data.resume.projects %}
|
7
|
+
<div class="project-entry entry {% if project == site.data.resume.projects.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-sm-6">
|
10
|
+
<h3>
|
11
|
+
{% if project.url %}
|
12
|
+
<a href="{{project.url}}">{{project.title}}</a>
|
13
|
+
{% else %}
|
14
|
+
{{project.title}}
|
15
|
+
{% endif %}
|
16
|
+
</h3>
|
17
|
+
</div>
|
18
|
+
<div class="col-sm-6 right">
|
19
|
+
{% capture dates %}{{ project.startDate }}{% if project.startDate.size > 0 and project.endDate.size > 0 %} - {% endif %} {{project.endDate}}{%endcapture%}
|
20
|
+
{{ dates }}
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="row no-gutters subtitle">
|
25
|
+
<div class="col-sm-6">
|
26
|
+
{{project.category}}
|
27
|
+
</div>
|
28
|
+
<div class="col-sm-6 right">
|
29
|
+
<a href="{{project.repo}}">{{project.repo}}</a>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if project.summary %}
|
34
|
+
<div class="summary">
|
35
|
+
{{project.summary}}
|
36
|
+
</div>
|
37
|
+
{% endif %}
|
38
|
+
|
39
|
+
{% if project.keywords %}
|
40
|
+
<div class="keywords">
|
41
|
+
{% for keyword in project.keywords %}
|
42
|
+
<span class="keyword tag">
|
43
|
+
{{ keyword }}
|
44
|
+
</span>
|
45
|
+
{% endfor %}
|
46
|
+
</div>
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
</div>
|
50
|
+
{% endfor %}
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
{% endif %}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{% if site.data.resume.qualifications.size > 0 %}
|
2
|
+
<div class="row qualifications section" id="qualifications" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Qualifications</h2>
|
5
|
+
|
6
|
+
{% for qualification in site.data.resume.qualifications %}
|
7
|
+
<div class="qualification-entry entry {% if qualification == site.data.resume.qualifications.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-sm-8">
|
10
|
+
<h3>
|
11
|
+
{% if qualification.url %}
|
12
|
+
<a href="{{qualification.url}}">{{qualification.title}}</a>
|
13
|
+
{% else %}
|
14
|
+
{{qualification.title}}
|
15
|
+
{% endif %}
|
16
|
+
</h3>
|
17
|
+
</div>
|
18
|
+
<div class="col-sm-4 right">
|
19
|
+
{% capture dates %}{{ qualification.startDate }}{% if qualification.startDate.size > 0 and qualification.endDate.size > 0%} - {% endif %} {{qualification.endDate}}{%endcapture%}
|
20
|
+
{{ dates }}
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="row no-gutters subtitle">
|
25
|
+
<div class="col-sm-6">
|
26
|
+
{{ qualification.category }}
|
27
|
+
</div>
|
28
|
+
<div class="col-sm-6 right">
|
29
|
+
{{ qualification.from }}
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if qualification.summary %}
|
34
|
+
<div class="summary">
|
35
|
+
{{qualification.summary}}
|
36
|
+
</div>
|
37
|
+
{% endif %}
|
38
|
+
|
39
|
+
{% if qualification.keywords %}
|
40
|
+
<div class="keywords">
|
41
|
+
{% for keyword in qualification.keywords %}
|
42
|
+
<span class="keyword tag">
|
43
|
+
{{ keyword }}
|
44
|
+
</span>
|
45
|
+
{% endfor %}
|
46
|
+
</div>
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
</div>
|
50
|
+
{% endfor %}
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
{% endif %}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
{% if site.data.resume.reading.size > 0 %}
|
2
|
+
<div class="row reading section" id="reading" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Reading</h2>
|
5
|
+
|
6
|
+
{% for reading_entry in site.data.resume.reading %}
|
7
|
+
<div class="reading_entry entry {% if reading_entry == site.data.resume.reading.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-sm-10">
|
10
|
+
<h3>
|
11
|
+
{% if reading_entry.url %}
|
12
|
+
<a href="{{reading_entry.url}}">{{reading_entry.title}}</a>
|
13
|
+
{% else %}
|
14
|
+
{{reading_entry.title}}
|
15
|
+
{% endif %}
|
16
|
+
</h3>
|
17
|
+
</div>
|
18
|
+
<div class="col-sm-2 right">
|
19
|
+
{{ reading_entry.date }}
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="row no-gutters subtitle">
|
24
|
+
<div class="col-sm-6">
|
25
|
+
{{ reading_entry.category }}
|
26
|
+
</div>
|
27
|
+
<div class="col-sm-6 right">
|
28
|
+
{{ reading_entry.author }}
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
{% if reading_entry.summary %}
|
33
|
+
<div class="summary">
|
34
|
+
{{reading_entry.summary}}
|
35
|
+
</div>
|
36
|
+
{% endif %}
|
37
|
+
|
38
|
+
{% if reading_entry.keywords %}
|
39
|
+
<div class="keywords">
|
40
|
+
{% for keyword in reading_entry.keywords %}
|
41
|
+
<span class="keyword tag">
|
42
|
+
{{ keyword }}
|
43
|
+
</span>
|
44
|
+
{% endfor %}
|
45
|
+
</div>
|
46
|
+
{% endif %}
|
47
|
+
|
48
|
+
</div>
|
49
|
+
{% endfor %}
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
{% endif %}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
{% if site.data.resume.recognition.size > 0 %}
|
2
|
+
<div class="row recognition section" id="recognition" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Recognition</h2>
|
5
|
+
|
6
|
+
{% for recognition_entry in site.data.resume.recognition %}
|
7
|
+
<div class="recognition_entry entry {% if recognition_entry == site.data.resume.recognition.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
|
9
|
+
<div class="row no-gutters title">
|
10
|
+
<div class="col-sm-8">
|
11
|
+
<h3>
|
12
|
+
{% if recognition_entry.url %}
|
13
|
+
<a href="{{recognition_entry.url}}">{{recognition_entry.title}}</a>
|
14
|
+
{% else %}
|
15
|
+
{{recognition_entry.title}}
|
16
|
+
{% endif %}
|
17
|
+
</h3>
|
18
|
+
</div>
|
19
|
+
<div class="col-sm-4 right">
|
20
|
+
{% capture dates %}{{ recognition_entry.startDate }}{% if recognition_entry.startDate.size > 0 and recognition_entry.endDate.size > 0 %} - {% endif %} {{recognition_entry.endDate}}{%endcapture%}
|
21
|
+
{{ dates }}
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="row no-gutters subtitle">
|
26
|
+
<div class="col-sm-6">
|
27
|
+
{{ recognition_entry.category }}
|
28
|
+
</div>
|
29
|
+
<div class="col-sm-6 right">
|
30
|
+
{{ recognition_entry.from }}
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
{% if recognition_entry.summary %}
|
35
|
+
<div class="summary">
|
36
|
+
{{recognition_entry.summary}}
|
37
|
+
</div>
|
38
|
+
{% endif %}
|
39
|
+
|
40
|
+
{% if recognition_entry.keywords %}
|
41
|
+
<div class="keywords">
|
42
|
+
{% for keyword in recognition_entry.keywords %}
|
43
|
+
<span class="keyword tag">
|
44
|
+
{{ keyword }}
|
45
|
+
</span>
|
46
|
+
{% endfor %}
|
47
|
+
</div>
|
48
|
+
{% endif %}
|
49
|
+
|
50
|
+
</div>
|
51
|
+
{% endfor %}
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
{% endif %}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{% if site.data.resume.references.size > 0 %}
|
2
|
+
<div class="row references section" id="references" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">References</h2>
|
5
|
+
|
6
|
+
{% for reference in site.data.resume.references %}
|
7
|
+
<div class="reference-entry entry {% if reference == site.data.resume.references.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
{% if reference.name %}
|
9
|
+
<h3 class="name">{{reference.name}}</h3>
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% if reference.role or reference.company %}
|
13
|
+
<div class="subtitle">
|
14
|
+
{% capture subtitle %}<span class="role">{{ reference.role }}</span>{% if reference.role and reference.company %}, {% endif %}<span class="company">{{ reference.company }}</span>{% endcapture %}
|
15
|
+
{{ subtitle }}
|
16
|
+
</div>
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% if reference.summary %}
|
20
|
+
<div class="summary">
|
21
|
+
<blockquote>{{reference.summary}}</blockquote>
|
22
|
+
</div>
|
23
|
+
{% endif %}
|
24
|
+
</div>
|
25
|
+
{% endfor %}
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
{% endif %}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Resume of {{ site.data.resume.basics.name }}</title>
|
5
|
+
{% include "css" %}
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<div class="container resume">
|
9
|
+
<div class="row">
|
10
|
+
<div class="col-md-8 main">
|
11
|
+
{% include "basics" %}
|
12
|
+
<div class="sm-only section">
|
13
|
+
{% include "contact" %}
|
14
|
+
{% include "social" %}
|
15
|
+
</div>
|
16
|
+
{% include "disposition" %}
|
17
|
+
{% include "employment" %}
|
18
|
+
{% include "education" %}
|
19
|
+
{% include "references" %}
|
20
|
+
{% include "projects" %}
|
21
|
+
{% include "open_source" %}
|
22
|
+
{% include "qualifications" %}
|
23
|
+
{% include "skills" %}
|
24
|
+
{% include "recognition" %}
|
25
|
+
{% include "writing" %}
|
26
|
+
{% include "reading" %}
|
27
|
+
{% include "speaking" %}
|
28
|
+
{% include "patents" %}
|
29
|
+
{% include "languages" %}
|
30
|
+
{% include "extracurricular" %}
|
31
|
+
{% include "affiliation" %}
|
32
|
+
{% include "governance" %}
|
33
|
+
{% include "service" %}
|
34
|
+
{% include "interests" %}
|
35
|
+
</div>
|
36
|
+
<div class="col-md-3 col-md-offset-1 sidebar noprint">
|
37
|
+
<div class="md-only">
|
38
|
+
{% include "image" %}
|
39
|
+
{% include "contact" %}
|
40
|
+
{% include "social" %}
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
<div class="row footer noprint" style="display: none;">
|
45
|
+
{% include "footer" %}
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</body>
|
49
|
+
</html>
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{% if site.data.resume.service.size > 0 %}
|
2
|
+
<div class="row service section" id="service" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Service</h2>
|
5
|
+
|
6
|
+
{% for service_entry in site.data.resume.service %}
|
7
|
+
<div class="service_entry-entry entry {% if service_entry == site.data.resume.service.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-sm-8">
|
10
|
+
<h3>
|
11
|
+
{% if service_entry.url %}
|
12
|
+
<a href="{{service_entry.url}}">{{service_entry.organization}}</a>
|
13
|
+
{% else %}
|
14
|
+
{{service_entry.organization}}
|
15
|
+
{% endif %}
|
16
|
+
</h3>
|
17
|
+
</div>
|
18
|
+
<div class="col-sm-4 right">
|
19
|
+
{% capture dates %}{{ service_entry.startDate }}{% if service_entry.startDate.size > 0 and service_entry.endDate.size > 0 %} - {% endif %} {{service_entry.endDate}}{%endcapture%}
|
20
|
+
{{ dates }}
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="row no-gutters subtitle">
|
25
|
+
<div class="col-sm-6">
|
26
|
+
{{ service_entry.category }}
|
27
|
+
</div>
|
28
|
+
<div class="col-sm-6 right">
|
29
|
+
{{ service_entry.location }}
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if service_entry.summary %}
|
34
|
+
<div class="summary">
|
35
|
+
{{service_entry.summary}}
|
36
|
+
</div>
|
37
|
+
{% endif %}
|
38
|
+
|
39
|
+
{% if service_entry.keywords %}
|
40
|
+
<div class="keywords">
|
41
|
+
{% for keyword in service_entry.keywords %}
|
42
|
+
<span class="keyword tag">
|
43
|
+
{{ keyword }}
|
44
|
+
</span>
|
45
|
+
{% endfor %}
|
46
|
+
</div>
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
</div>
|
50
|
+
{% endfor %}
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
{% endif %}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{% if site.data.resume.skills.size > 0 %}
|
2
|
+
<div class="row skills section" id="skills" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Skills</h2>
|
5
|
+
|
6
|
+
{% for skill in site.data.resume.skills %}
|
7
|
+
<div class="skill-entry entry {% if skill == site.data.resume.skills.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
|
9
|
+
{% if skill.name %}
|
10
|
+
<div class="name">
|
11
|
+
{{skill.name}}
|
12
|
+
</div>
|
13
|
+
{% endif %}
|
14
|
+
|
15
|
+
{% if skill.summary %}
|
16
|
+
<div class="summary">
|
17
|
+
{{skill.summary}}
|
18
|
+
</div>
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
{% if skill.keywords %}
|
22
|
+
<div class="keywords">
|
23
|
+
{% for keyword in skill.keywords %}
|
24
|
+
<span class="keyword tag">
|
25
|
+
{{ keyword }}
|
26
|
+
</span>
|
27
|
+
{% endfor %}
|
28
|
+
</div>
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
</div>
|
32
|
+
{% endfor %}
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
{% endif %}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{% if site.data.resume.basics.contact.social.size > 0 %}
|
2
|
+
<div class="row social">
|
3
|
+
<div class="col-12">
|
4
|
+
{% for social in site.data.resume.basics.contact.social %}
|
5
|
+
<div class="social-entry">
|
6
|
+
{% if social.network %}
|
7
|
+
<span class="network">
|
8
|
+
{{social.network}}:
|
9
|
+
</span>
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% if social.user %}
|
13
|
+
<span class="user">
|
14
|
+
{% if social.url %}
|
15
|
+
<a href="{{social.url}}">{{social.user}}</a>
|
16
|
+
{% else %}
|
17
|
+
{{social.user}}
|
18
|
+
{% endif %}
|
19
|
+
</span>
|
20
|
+
{% endif %}
|
21
|
+
</div>
|
22
|
+
{% endfor %}
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
{% endif %}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{% if site.data.resume.speaking.size > 0 %}
|
2
|
+
<div class="row speaking section" id="speaking" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Speaking</h2>
|
5
|
+
|
6
|
+
{% for speaking_entry in site.data.resume.speaking %}
|
7
|
+
<div class="speaking_entry entry {% if speaking_entry == site.data.resume.speaking.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
|
9
|
+
<div class="row no-gutters title">
|
10
|
+
<div class="col-sm-10">
|
11
|
+
<h3>
|
12
|
+
{% if speaking_entry.url %}
|
13
|
+
<a href="{{speaking_entry.url}}">{{speaking_entry.title}}</a>
|
14
|
+
{% else %}
|
15
|
+
{{speaking_entry.title}}
|
16
|
+
{% endif %}
|
17
|
+
</h3>
|
18
|
+
</div>
|
19
|
+
<div class="col-sm-2 right">
|
20
|
+
{{ speaking_entry.date }}
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="row no-gutters subtitle">
|
25
|
+
<div class="col-sm-6">
|
26
|
+
{{ speaking_entry.event }}
|
27
|
+
</div>
|
28
|
+
<div class="col-sm-6 right">
|
29
|
+
{{ speaking_entry.location }}
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
{% if speaking_entry.summary %}
|
34
|
+
<div class="summary">
|
35
|
+
{{speaking_entry.summary}}
|
36
|
+
</div>
|
37
|
+
{% endif %}
|
38
|
+
|
39
|
+
{% if speaking_entry.keywords %}
|
40
|
+
<div class="keywords">
|
41
|
+
{% for keyword in speaking_entry.keywords %}
|
42
|
+
<span class="keyword tag">
|
43
|
+
{{ keyword }}
|
44
|
+
</span>
|
45
|
+
{% endfor %}
|
46
|
+
</div>
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
</div>
|
50
|
+
{% endfor %}
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
{% endif %}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
{% if site.data.resume.writing.size > 0 %}
|
2
|
+
<div class="row writing section" id="writing" style="page-break-inside: avoid;">
|
3
|
+
<div class="col-12">
|
4
|
+
<h2 class="section-heading">Writing</h2>
|
5
|
+
|
6
|
+
{% for writing_entry in site.data.resume.writing %}
|
7
|
+
<div class="writing_entry entry {% if writing_entry == site.data.resume.writing.last %}last{% endif %}" style="page-break-inside: avoid;">
|
8
|
+
<div class="row no-gutters title">
|
9
|
+
<div class="col-sm-10">
|
10
|
+
<h3>
|
11
|
+
{% if writing_entry.url %}
|
12
|
+
<a href="{{writing_entry.url}}">{{writing_entry.title}}</a>
|
13
|
+
{% else %}
|
14
|
+
{{writing_entry.title}}
|
15
|
+
{% endif %}
|
16
|
+
</h3>
|
17
|
+
</div>
|
18
|
+
<div class="col-sm-2 right">
|
19
|
+
{{ writing_entry.date }}
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="row no-gutters subtitle">
|
24
|
+
<div class="col-sm-6">
|
25
|
+
{{ writing_entry.category }}
|
26
|
+
</div>
|
27
|
+
<div class="col-sm-6 right">
|
28
|
+
{{ writing_entry.publisher }}
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
{% if writing_entry.summary %}
|
33
|
+
<div class="summary">
|
34
|
+
{{writing_entry.summary}}
|
35
|
+
</div>
|
36
|
+
{% endif %}
|
37
|
+
|
38
|
+
{% if writing_entry.keywords %}
|
39
|
+
<div class="keywords">
|
40
|
+
{% for keyword in writing_entry.keywords %}
|
41
|
+
<span class="keyword tag">
|
42
|
+
{{ keyword }}
|
43
|
+
</span>
|
44
|
+
{% endfor %}
|
45
|
+
</div>
|
46
|
+
{% endif %}
|
47
|
+
|
48
|
+
</div>
|
49
|
+
{% endfor %}
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
{% endif %}
|
@@ -0,0 +1 @@
|
|
1
|
+
{% include "resume" %}
|