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.
- 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" %}
|