Initial commit
This commit is contained in:
16
app/tpl/print/parts/certs.html.twig
Normal file
16
app/tpl/print/parts/certs.html.twig
Normal file
@@ -0,0 +1,16 @@
|
||||
<section class="certs">
|
||||
<h2>{{ 'certs.header'|trans }}</h2>
|
||||
{% for entry in cv.filterByCertificates() %}
|
||||
{% for cert in entry.certificates %}
|
||||
<div class="certificate">
|
||||
<figure>
|
||||
<figcaption>
|
||||
<h3>{{ entry.position }} {% if cert.type %}- {{ cert.type }}{% endif %}
|
||||
<small>{{ entry.endDate.format('Y') }} - {{ entry.company }}</small></h3>
|
||||
</figcaption>
|
||||
<img src="{{ cert.dataUri|raw }}" alt="{{ cert.fileObject.filename }}">
|
||||
</figure>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</section>
|
||||
10
app/tpl/print/parts/cover.html.twig
Normal file
10
app/tpl/print/parts/cover.html.twig
Normal file
@@ -0,0 +1,10 @@
|
||||
<section class="cover">
|
||||
<div class="text row">
|
||||
<div class="col col-border"> </div>
|
||||
<div class="col col-content">
|
||||
<h1 class="title">{{ person.name }}</h1>
|
||||
<p class="tagline">{{ person.tagline|splitmerge|raw }}</p>
|
||||
<p class="subtitle">{{ 'cover.subtitle'|trans }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
12
app/tpl/print/parts/cv.html.twig
Normal file
12
app/tpl/print/parts/cv.html.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
<section class="cv">
|
||||
<h2>{{ 'cv.header'|trans }}</h2>
|
||||
|
||||
{% for tag in tags %}
|
||||
<div class="tag tag-{{ tag }}">
|
||||
<h3>{{ ('cv.headers.' ~ tag)|trans }}</h3>
|
||||
{% for entry in cv.filterByTag(tag) %}
|
||||
{{ include('parts/cv/entry.html.twig') }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
||||
32
app/tpl/print/parts/cv/entry.html.twig
Normal file
32
app/tpl/print/parts/cv/entry.html.twig
Normal file
@@ -0,0 +1,32 @@
|
||||
<div class="cv-entry row">
|
||||
<div class="col col-fifteen col-date">
|
||||
<p class="date">
|
||||
<span class="start">{{ entry.startDate.format(config('date.format.short')) }}</span>
|
||||
<span class="end"><small>{{ 'date.until'|trans }}</small>
|
||||
{% if is_today(entry.endDate) %}
|
||||
{{ 'date.today'|trans }}
|
||||
{% else %}
|
||||
{{ entry.endDate.format(config('date.format.short')) }}
|
||||
{% endif %}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col col-info">
|
||||
<h4>{{ entry.position }} {% if entry.industry %}<small>({{ entry.industry }})</small>{% endif %}</h4>
|
||||
<p class="company">{{ entry.company }}</p>
|
||||
{% if entry.description %}
|
||||
<div class="content">
|
||||
{{ entry.description|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if entry.qualification %}
|
||||
<p class="qualification"><small>{{ 'cv.entry.qualification'|trans }}</small><br/>{{ entry.qualification }}</p>
|
||||
{% endif %}
|
||||
{% if entry.skills|length > 0 %}
|
||||
<p class="skills"><small>{{ 'cv.entry.skills'|trans }}</small><br/>{{ entry.skills|merge|inlinemd }}</p>
|
||||
{% endif %}
|
||||
{% if entry.achievements|length > 0 %}
|
||||
<p class="achievements"><small>{{ 'cv.entry.achievements'|trans }}</small><br/>{{ entry.achievements|merge|inlinemd }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
37
app/tpl/print/parts/intro.html.twig
Normal file
37
app/tpl/print/parts/intro.html.twig
Normal file
@@ -0,0 +1,37 @@
|
||||
<section class="intro">
|
||||
{% import "macros.html.twig" as macros %}
|
||||
|
||||
{% if is_disabled(disabled.quotes) == false and intro.quotes|length > 0 and intro.showQuotes == 'top' %}
|
||||
{{ macros.show_quotes(intro.quotes, intro.showQuotes) }}
|
||||
{% endif %}
|
||||
|
||||
<div class="content">
|
||||
{% if intro.headline %}<h2>{{ intro.headline }}</h2>{% endif %}
|
||||
{% if intro.hasPhoto() %}
|
||||
<img src="{{ intro.photoDataUri }}" alt="{{ person.name }}" class="photo" width="{{ intro.photoSize }}">
|
||||
{% endif %}
|
||||
{{ intro.content|raw }}
|
||||
</div>
|
||||
|
||||
{% if is_disabled(disabled.quotes) == false and intro.quotes|length > 0 and intro.showQuotes == 'bottom' %}
|
||||
{{ macros.show_quotes(intro.quotes, intro.showQuotes) }}
|
||||
{% endif %}
|
||||
|
||||
{% if is_disabled(disabled.toc) == false %}
|
||||
<h4>{{ 'intro.toc'|trans }}</h4>
|
||||
<ul class="toc">
|
||||
{% if is_disabled(disabled.resume) == false %}
|
||||
<li>{{ 'toc.resume'|trans }}</li>
|
||||
{% endif %}
|
||||
{% if is_disabled(disabled.projects) == false %}
|
||||
<li>{{ 'toc.projects'|trans }}</li>
|
||||
{% endif %}
|
||||
{% if is_disabled(disabled.cv) == false %}
|
||||
<li>{{ 'toc.cv'|trans }}</li>
|
||||
{% endif %}
|
||||
{% if is_disabled(disabled.certs) == false %}
|
||||
<li>{{ 'toc.certs'|trans }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</section>
|
||||
11
app/tpl/print/parts/pdf/footer.html.twig
Normal file
11
app/tpl/print/parts/pdf/footer.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
<footer class="row">
|
||||
<div class="col col-third left">
|
||||
|
||||
</div>
|
||||
<div class="col col-third center">
|
||||
{{ 'pdf.page.number'|trans|raw }}
|
||||
</div>
|
||||
<div class="col col-third right">
|
||||
|
||||
</div>
|
||||
</footer>
|
||||
8
app/tpl/print/parts/pdf/header.html.twig
Normal file
8
app/tpl/print/parts/pdf/header.html.twig
Normal file
@@ -0,0 +1,8 @@
|
||||
<header class="row">
|
||||
<div class="col col-half left">
|
||||
{{ 'pdf.page.title'|trans|raw }}
|
||||
</div>
|
||||
<div class="col col-half right">
|
||||
{{ 'pdf.page.date'|trans|raw }}
|
||||
</div>
|
||||
</header>
|
||||
25
app/tpl/print/parts/projects.html.twig
Normal file
25
app/tpl/print/parts/projects.html.twig
Normal file
@@ -0,0 +1,25 @@
|
||||
{% if projects|length > 0 %}
|
||||
<section class="projects">
|
||||
<h2>{{ 'projects.header'|trans }}</h2>
|
||||
|
||||
<div class="content">
|
||||
{% for project in projects %}
|
||||
<article class="project">
|
||||
<h3>{{ project.name }} {% if project.stack %}<small>({{ project.stack }})</small>{% endif %}</h3>
|
||||
<dl class="horizontal">
|
||||
<dt>{{ 'projects.fields.status'|trans }}</dt>
|
||||
<dd>
|
||||
<p class="badge badge-{{ project.status }}">{{ ('projects.status.' ~ project.status)|trans }}</p>
|
||||
</dd>
|
||||
{% if project.role %}
|
||||
<dt>{{ 'projects.fields.role'|trans }}</dt>
|
||||
<dd>{{ project.role }}</dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
<p class="short-description">{{ project.shortDescription }}</p>
|
||||
{{ project.content|raw }}
|
||||
</article>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
139
app/tpl/print/parts/resume.html.twig
Normal file
139
app/tpl/print/parts/resume.html.twig
Normal file
@@ -0,0 +1,139 @@
|
||||
{% set useInResume = cv.filterByUseInResume() %}
|
||||
{% set toolbox = cv.filterByToolbox() %}
|
||||
{% import "macros.html.twig" as macros %}
|
||||
|
||||
<section class="resume">
|
||||
<h2>{{ 'resume.header'|trans }}</h2>
|
||||
<div class="row">
|
||||
<div class="col col-resume col-1">
|
||||
|
||||
<!-- Personal Information -->
|
||||
<h3>{{ 'resume.headers.personal'|trans }}</h3>
|
||||
<dl class="horizontal">
|
||||
<dt>{{ 'resume.personal.name'|trans }}</dt>
|
||||
<dd>{{ person.getName(true) }}</dd>
|
||||
<dt>{{ 'resume.personal.birthdate'|trans }}</dt>
|
||||
<dd>{{ person.birthdate.format(config('date.format.long')) }}</dd>
|
||||
<dt>{{ 'resume.personal.birthplace'|trans }}</dt>
|
||||
<dd>{{ person.birthplace }}</dd>
|
||||
<dt>{{ 'resume.personal.residence'|trans }}</dt>
|
||||
<dd>{{ person.residence }}</dd>
|
||||
<dt>{{ 'resume.personal.status'|trans }}</dt>
|
||||
<dd>{{ person.status }}</dd>
|
||||
<dt>{{ 'resume.personal.nationality'|trans }}</dt>
|
||||
<dd>{{ person.nationality }}</dd>
|
||||
{% if person.workLicense %}
|
||||
<dt>{{ 'resume.personal.work_license'|trans }}</dt>
|
||||
<dd>{{ person.workLicense }}</dd>
|
||||
{% endif %}
|
||||
{% if person.languages|length > 0 %}
|
||||
<dt>{{ 'resume.personal.languages'|trans }}</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
{% for lang in person.languages %}
|
||||
<li>{{ lang.language }} <small>({{ ('resume.language.level.' ~ lang.level)|trans }})</small></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</dd>
|
||||
{% endif %}
|
||||
</dl>
|
||||
|
||||
<!-- Contact Information -->
|
||||
{% if person.contacts|length > 0 %}
|
||||
<h3>{{ 'resume.headers.contact'|trans }}</h3>
|
||||
<dl class="horizontal">
|
||||
{% for contact in person.contacts %}
|
||||
{% set type = contact.type %}
|
||||
{% if contact.type == 'email' or contact.type == 'phone' %}
|
||||
{% set type = ('resume.contact.' ~ contact.type)|trans %}
|
||||
{% endif %}
|
||||
<dt>{{ type }}</dt>
|
||||
<dd>{{ contact.address }}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
<!-- Job Experience -->
|
||||
<h3>{{ 'resume.headers.experience'|trans }}</h3>
|
||||
<dl class="horizontal">
|
||||
{% for industry, length in cv.getExperienceYears() %}
|
||||
<dt>{{ industry }}</dt>
|
||||
<dd>{{ length }}</dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
|
||||
<!-- Bio -->
|
||||
{% if person.content %}
|
||||
<h3>{{ 'resume.headers.bio'|trans }}</h3>
|
||||
<div class="bio">{{ person.content|raw }}</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- Qualifications -->
|
||||
<h3>{{ 'resume.headers.qualification'|trans }}</h3>
|
||||
<ul>
|
||||
{% for entry in cv.qualifications %}
|
||||
<li>{{ entry.qualification|splitmerge(',', '</li><li>') }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<!-- Personal Toolbox -->
|
||||
{% if toolbox|length > 0 %}
|
||||
<h3>{{ 'resume.headers.toolbox'|trans }}</h3>
|
||||
<ul>
|
||||
{% for entry in toolbox %}
|
||||
{{ macros.list_simple_array(entry.toolbox) }}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<!-- Personal Interests -->
|
||||
{% if person.interests|length > 0 %}
|
||||
<h3>{{ 'resume.headers.personal_interest'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_simple_array(person.interests) }}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col col-resume col-2">
|
||||
|
||||
|
||||
<!-- Links -->
|
||||
{% if person.links|length > 0 %}
|
||||
<h3>{{ 'resume.headers.links'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_link_array(person.links) }}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<!-- References -->
|
||||
{% if person.references|length > 0 %}
|
||||
<h3>{{ 'resume.headers.references'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_references(person.references) }}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if person.projects|length > 0 %}
|
||||
<h3>{{ 'resume.headers.current_projects'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_simple_array(person.projects) }}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if useInResume|length > 0 %}
|
||||
<h3>{{ 'resume.headers.skills'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_entry_attribute(useInResume, 'skills') }}
|
||||
</ul>
|
||||
|
||||
<h3>{{ 'resume.headers.achievements'|trans }}</h3>
|
||||
<ul>
|
||||
{{ macros.list_entry_attribute(useInResume, 'achievements') }}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user