mirror of
https://github.com/JuanCanham/fresh-themes.git
synced 2025-05-06 13:57:08 +01:00
Rename "templates" subfolder to "src".
This commit is contained in:
1048
themes/modern/src/doc.xml
Normal file
1048
themes/modern/src/doc.xml
Normal file
File diff suppressed because it is too large
Load Diff
203
themes/modern/src/html.css
Normal file
203
themes/modern/src/html.css
Normal file
@ -0,0 +1,203 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Helvetica Neue', Helvetica, 'Lato', sans-serif;
|
||||
font-size: 15px;
|
||||
color: #333;
|
||||
line-height: 1.42857143;
|
||||
background-color: #F0F0F0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Typical page borders are awkward when rendered to PDF. */
|
||||
body.pdf {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* Adobe or wkhtmltopdf has issues with the <main> tag, so we use <div> for
|
||||
the PDF case, <main> for the HTML case, and style both via an ID. */
|
||||
#main {
|
||||
background-color: #FFF;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
border: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
body.pdf > #main {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#container > header {
|
||||
padding-top: 6em;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
body.pdf #container > header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 5em;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#main > #container > section > span.fa
|
||||
{
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: -50px;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-top: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.tenure {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-bottom: 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
a, a:visited {
|
||||
color: #428BCA;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.defunct {
|
||||
color: #989898;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#summary > p > strong {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
|
||||
.label-keyword {
|
||||
display: inline-block;
|
||||
background: #7eb0db;
|
||||
color: white;
|
||||
font-size: 0.9em;
|
||||
padding: 5px;
|
||||
border: 1px solid #357ebd;
|
||||
border-radius: 5px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
position: relative;
|
||||
}
|
||||
.card-nested {
|
||||
min-height: 0;
|
||||
margin-bottom: 10px;
|
||||
border-width: 1px 0 0 0;
|
||||
}
|
||||
.card {
|
||||
background: #FFF;
|
||||
border-radius: 3px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.skill-level {
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 10px;
|
||||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.skill-level .skill-progress {
|
||||
position: absolute;
|
||||
border-radius: 3px;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
-webkit-transition: height 1s ease;
|
||||
}
|
||||
.skill-level .skill-progress.beginner {
|
||||
height: 50%;
|
||||
background: #e74c3c;
|
||||
}
|
||||
.skill-level .skill-progress.intermediate {
|
||||
height: 70%;
|
||||
background: #f1c40f;
|
||||
}
|
||||
.skill-level .skill-progress.advanced {
|
||||
height: 80%;
|
||||
background: #428bca;
|
||||
}
|
||||
.skill-level .skill-progress.master {
|
||||
height: 95%;
|
||||
background: #5cb85c;
|
||||
}
|
||||
.skill-info {
|
||||
margin-left: 10px;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.skill-info {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.space-top {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#elevator-pitch {
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.res-label {
|
||||
font-style: italic;
|
||||
}
|
196
themes/modern/src/html.html
Normal file
196
themes/modern/src/html.html
Normal file
@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- [[[
|
||||
title: Modern (HTML)
|
||||
description: An HTML resume template for FluentCV's "modern" theme.
|
||||
engine: Underscore
|
||||
]]] -->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ r.name }}</title>
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
{{ headFragment }}
|
||||
{% if( cssInfo.file ) { %}
|
||||
<link href="{{ cssInfo.file }}" rel="stylesheet" type="text/css">
|
||||
{% } else { %}
|
||||
<style>
|
||||
{{ cssInfo.data }}
|
||||
</style>
|
||||
{% } %}
|
||||
</head>
|
||||
<body>
|
||||
<main id="main">
|
||||
<div id="container">
|
||||
<header>
|
||||
<h1>{{ r.name }}</h1>
|
||||
<div id="contact">
|
||||
{% if (r.contact.email) { %}<div class="email">{{ r.contact.email }}</div>{% } %}
|
||||
{% if (r.contact.phone) { %}<div class="phone">{{ r.contact.phone }}</div>{% } %}
|
||||
{% if (r.contact.website) { %}<div class="website"><a href="{{ r.contact.website }}">{{ r.contact.website }}</a></div>{% } %}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{% if ( r.info.brief && r.info.brief.length ) { %}
|
||||
<hr>
|
||||
<section id="summary">
|
||||
<h3>About</h3>
|
||||
<span class="fa fa-lg fa-user"></span>
|
||||
{{ r.info.brief|md }}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
{% if ( r.skills && r.skills.sets ) { %}
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
<h3>Skills</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-code"></span>
|
||||
|
||||
<ul class="list-unstyled">
|
||||
{% r.skills.sets.forEach( function(set) { %}
|
||||
<li class="card card-nested card-skills">
|
||||
<div class="skill-level" rel="tooltip" title="{{ set.level }}" data-placement="left">
|
||||
<div class="skill-progress {{ set.level }}"></div>
|
||||
</div>
|
||||
<div class="skill-info">
|
||||
<strong>{{ set.name }}</strong>
|
||||
<div class="space-top labels">
|
||||
{% if( set.skills && set.skills.length ) { %}
|
||||
{% set.skills.forEach(function(kw) { %}
|
||||
<span class="label label-keyword">{{ kw }}</span>
|
||||
{% }); %}
|
||||
{% } %}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
|
||||
{% if ( r.employment.history && r.employment.history.length ) { %}
|
||||
<hr>
|
||||
<section id="employment">
|
||||
<header>
|
||||
<h3>Employment</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-building"></span>
|
||||
{% r.employment.history.forEach( function( proj, idx, ar) { %}
|
||||
{% if( proj.url && proj.url.length ) { %}
|
||||
<h4><span class="res-label">{{ proj.position }}</span>, <a href="{{ proj.url|raw }}">{{ proj.employer }}</a></h4>
|
||||
{% } else { %}
|
||||
<h4><span class="res-label">{{ proj.position }}</span>, <span class="defunct">{{ proj.employer }}</span></h4>
|
||||
{% } %}
|
||||
<span class="tenure">{{ proj.safe.start.format('YYYY-MM') }}—{{ proj.safe.end.format('YYYY-MM') }}</span>
|
||||
{{ proj.summary|md }}
|
||||
{% if( proj.highlights ) { %}
|
||||
<ul>
|
||||
{% proj.highlights.forEach( function( high, idx, ar) { %}
|
||||
<li>{{ high|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
|
||||
{% if ( r.education.history && r.education.history.length ) { %}
|
||||
<hr>
|
||||
<section id="education">
|
||||
<header>
|
||||
<h3>Education</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-mortar-board"></span>
|
||||
{% r.education.history.forEach( function( edu, idx, ar) { %}
|
||||
<h4>{{ edu.institution }}</h4>
|
||||
<span class="tenure">{{ edu.safe.start.format('YYYY-MM') }}—{{ edu.safe.end.format('YYYY-MM') }}</span>
|
||||
{% if( edu.courses ) { %}
|
||||
<ul>
|
||||
{% edu.courses.forEach( function( course, idx, ar) { %}
|
||||
<li>{{ course|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if( r.recognition && r.recognition.length ) { %}
|
||||
<hr>
|
||||
<section id="awards">
|
||||
<header>
|
||||
<h3>Awards</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-trophy"></span>
|
||||
{% r.recognition.forEach( function( award, idx, ar) { %}
|
||||
<h4><span class="res-label">{{ award.title }}</span>, {{ award.from }}</h4>
|
||||
<span class="tenure">{{ award.date }}</span>
|
||||
{{ award.summary|md }}
|
||||
{% }); %}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if( r.writing && r.writing.length ) { %}
|
||||
<hr>
|
||||
<section id="publications">
|
||||
<header>
|
||||
<h3>Publications</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-pencil"></span>
|
||||
{% r.writing.forEach( function( pub, idx, ar) { %}
|
||||
<h4>
|
||||
<span class="res-label">{{ filt.link(pub.title, pub.url) }}</span> {{ pub.publisher }}
|
||||
</h4>
|
||||
<span class="tenure">Published on: {{ pub.safe.date.format('YYYY-MM') }}</span>
|
||||
|
||||
|
||||
|
||||
{% }); %}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if ( r.service.history && r.service.history.length ) { %}
|
||||
<hr>
|
||||
<section id="volunteer">
|
||||
<header>
|
||||
<h3>Volunteer Work</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-child"></span>
|
||||
{% r.service.history.forEach( function( vol, idx, ar) { %}
|
||||
{% if( vol.url && vol.url.length ) { %}
|
||||
<h4><span class="res-label">{{ vol.position }}</span>, <a href="{{ vol.website|raw }}">{{ vol.organization }}</a></h4>
|
||||
{% } else { %}
|
||||
<h4><span class="res-label">{{ vol.position }}</span>, <span class="defunct">{{ vol.organization }}</span></h4>
|
||||
{% } %}
|
||||
<span class="tenure">{{ vol.safe.start.format('YYYY-MM') }}—{{ vol.safe.end.format('YYYY-MM') }}</span>
|
||||
{{ vol.summary|md }}
|
||||
{% if( vol.highlights ) { %}
|
||||
<ul>
|
||||
{% vol.highlights.forEach( function( high, idx, ar) { %}
|
||||
<li>{{ high|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
59
themes/modern/src/md.txt
Normal file
59
themes/modern/src/md.txt
Normal file
@ -0,0 +1,59 @@
|
||||
{#
|
||||
|
||||
modern/md.txt
|
||||
A Markdown resume template for FluentCV's "modern" theme.
|
||||
|
||||
#}
|
||||
# {{ r.name }}
|
||||
|
||||
{% if (r.contact.email) { %}Email: {{ r.contact.email }}{% } %}
|
||||
{% if (r.contact.phone) { %}Tel: {{ r.contact.phone }}{% } %}
|
||||
{% if (r.contact.website) { %}Web: {{ r.contact.website }}{% } %}
|
||||
|
||||
{% if ( r.info.brief && r.info.brief.length ) { %}{{ r.info.brief }}{% } %}
|
||||
|
||||
{% if ( r.skills && r.skills.sets ) { %}
|
||||
## Skills
|
||||
{% r.skills.sets.forEach( function( set, idx, ar) { %}
|
||||
- **{{ set.name }}**: {{ set.level }}
|
||||
{% }); } %}
|
||||
|
||||
{% if ( r.employment.history && r.employment.history.length ) { %}
|
||||
## Employment
|
||||
{% r.employment.history.forEach( function( proj, idx, ar) { %}
|
||||
### *{{ proj.position }}*, {{ proj.employer }} ({{ proj.safe.start.format('MMM YYYY') }} — {{ proj.safe.end.format('MMM YYYY') }})
|
||||
{{ proj.summary }}
|
||||
{% if( proj.highlights ) { %}{% proj.highlights.forEach( function( high, idx, ar) { %}
|
||||
- {{ high }}
|
||||
{% }); } }); } %}
|
||||
|
||||
{% if ( r.education.history && r.education.history.length ) { %}
|
||||
## Education
|
||||
{% r.education.history.forEach( function( edu, idx, ar) { %}
|
||||
### {{ edu.institution }} ({{ edu.safe.start.format('MMM YYYY') }} — {{ edu.safe.end.format('MMM YYYY') }})
|
||||
{{ edu.area }}
|
||||
{% if( edu.curriculum ) { %}{% edu.curriculum.forEach( function( course, idx, ar) { %}
|
||||
- {{ course }}
|
||||
{% }); } }); } %}
|
||||
|
||||
{% if ( r.writing && r.writing.length ) { %}
|
||||
## Publications
|
||||
{% r.writing.forEach( function( pub, idx, ar) { %}
|
||||
### {{ pub.title }} ({{ pub.safe.date.format('MMM YYYY') }})
|
||||
{{ pub.publisher }}
|
||||
{{ pub.summary }}
|
||||
{% }); } %}
|
||||
|
||||
{% if ( r.service.history && r.service.history.length ) { %}
|
||||
## Volunteer
|
||||
{% r.service.history.forEach( function( vol, idx, ar) { %}
|
||||
### {{ vol.organization }} ({{ vol.safe.start.format('MMM YYYY') }} — {{ vol.safe.end.format('MMM YYYY') }})
|
||||
{{ vol.summary }}
|
||||
{% }); } %}
|
||||
|
||||
{% if ( r.recognition && r.recognition.length ) { %}
|
||||
## Recognition
|
||||
{% r.recognition.forEach( function( awd, idx, ar) { %}
|
||||
### *{{ awd.title }}*, {{ awd.from }} ({{ awd.safe.date.format('MMM YYYY') }})
|
||||
{{ awd.summary }}
|
||||
{% }); } %}
|
203
themes/modern/src/pdf.css
Normal file
203
themes/modern/src/pdf.css
Normal file
@ -0,0 +1,203 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Helvetica Neue', Helvetica, 'Lato', sans-serif;
|
||||
font-size: 15px;
|
||||
color: #333;
|
||||
line-height: 1.42857143;
|
||||
background-color: #F0F0F0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Typical page borders are awkward when rendered to PDF. */
|
||||
body.pdf {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* Adobe or wkhtmltopdf has issues with the <main> tag, so we use <div> for
|
||||
the PDF case, <main> for the HTML case, and style both via an ID. */
|
||||
#main {
|
||||
background-color: #FFF;
|
||||
margin: 10px;
|
||||
padding: 10px;
|
||||
border: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
body.pdf > #main {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#container > header {
|
||||
padding-top: 6em;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
body.pdf #container > header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 5em;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#main > #container > section > span.fa
|
||||
{
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: -50px;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-top: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.tenure {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-bottom: 0;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
a, a:visited {
|
||||
color: #428BCA;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.defunct {
|
||||
color: #989898;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#summary > p > strong {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
|
||||
.label-keyword {
|
||||
display: inline-block;
|
||||
background: #7eb0db;
|
||||
color: white;
|
||||
font-size: 0.9em;
|
||||
padding: 5px;
|
||||
border: 1px solid #357ebd;
|
||||
border-radius: 5px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
position: relative;
|
||||
}
|
||||
.card-nested {
|
||||
min-height: 0;
|
||||
margin-bottom: 10px;
|
||||
border-width: 1px 0 0 0;
|
||||
}
|
||||
.card {
|
||||
background: #FFF;
|
||||
border-radius: 3px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.skill-level {
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 10px;
|
||||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.skill-level .skill-progress {
|
||||
position: absolute;
|
||||
border-radius: 3px;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
-webkit-transition: height 1s ease;
|
||||
}
|
||||
.skill-level .skill-progress.beginner {
|
||||
height: 50%;
|
||||
background: #e74c3c;
|
||||
}
|
||||
.skill-level .skill-progress.intermediate {
|
||||
height: 70%;
|
||||
background: #f1c40f;
|
||||
}
|
||||
.skill-level .skill-progress.advanced {
|
||||
height: 80%;
|
||||
background: #428bca;
|
||||
}
|
||||
.skill-level .skill-progress.master {
|
||||
height: 95%;
|
||||
background: #5cb85c;
|
||||
}
|
||||
.skill-info {
|
||||
margin-left: 10px;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.skill-info {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.space-top {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#elevator-pitch {
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.res-label {
|
||||
font-style: italic;
|
||||
}
|
192
themes/modern/src/pdf.html
Normal file
192
themes/modern/src/pdf.html
Normal file
@ -0,0 +1,192 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- [[[
|
||||
title: Modern (PDF)
|
||||
description: An HTML-driven PDF resume template for FluentCV's "modern" theme.
|
||||
engine: Underscore
|
||||
]]] -->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ r.name }}</title>
|
||||
<link href='https://fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
{{ headFragment }}
|
||||
<style>
|
||||
{{ cssInfo.data }}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main id="main">
|
||||
<div id="container">
|
||||
<header>
|
||||
<h1>{{ r.name }}</h1>
|
||||
<div id="contact">
|
||||
{% if (r.contact.email) { %}<div class="email">{{ r.contact.email }}</div>{% } %}
|
||||
{% if (r.contact.phone) { %}<div class="phone">{{ r.contact.phone }}</div>{% } %}
|
||||
{% if (r.contact.website) { %}<div class="website"><a href="{{ r.contact.website }}">{{ r.contact.website }}</a></div>{% } %}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{% if ( r.info.brief && r.info.brief.length ) { %}
|
||||
<hr>
|
||||
<section id="summary">
|
||||
<h3>About</h3>
|
||||
<span class="fa fa-lg fa-user"></span>
|
||||
{{ r.info.brief|md }}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
{% if ( r.skills && r.skills.sets ) { %}
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
<h3>Skills</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-code"></span>
|
||||
|
||||
<ul class="list-unstyled">
|
||||
{% r.skills.sets.forEach( function(set) { %}
|
||||
<li class="card card-nested card-skills">
|
||||
<div class="skill-level" rel="tooltip" title="{{ set.level }}" data-placement="left">
|
||||
<div class="skill-progress {{ set.level }}"></div>
|
||||
</div>
|
||||
<div class="skill-info">
|
||||
<strong>{{ set.name }}</strong>
|
||||
<div class="space-top labels">
|
||||
{% if( set.skills && set.skills.length ) { %}
|
||||
{% set.skills.forEach(function(kw) { %}
|
||||
<span class="label label-keyword">{{ kw }}</span>
|
||||
{% }); %}
|
||||
{% } %}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
|
||||
{% if ( r.employment.history && r.employment.history.length ) { %}
|
||||
<hr>
|
||||
<section id="employment">
|
||||
<header>
|
||||
<h3>Employment</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-building"></span>
|
||||
{% r.employment.history.forEach( function( proj, idx, ar) { %}
|
||||
{% if( proj.url && proj.url.length ) { %}
|
||||
<h4><span class="res-label">{{ proj.position }}</span>, <a href="{{ proj.url|raw }}">{{ proj.employer }}</a></h4>
|
||||
{% } else { %}
|
||||
<h4><span class="res-label">{{ proj.position }}</span>, <span class="defunct">{{ proj.employer }}</span></h4>
|
||||
{% } %}
|
||||
<span class="tenure">{{ proj.safe.start.format('YYYY-MM') }}—{{ proj.safe.end.format('YYYY-MM') }}</span>
|
||||
{{ proj.summary|md }}
|
||||
{% if( proj.highlights ) { %}
|
||||
<ul>
|
||||
{% proj.highlights.forEach( function( high, idx, ar) { %}
|
||||
<li>{{ high|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
|
||||
{% if ( r.education.history && r.education.history.length ) { %}
|
||||
<hr>
|
||||
<section id="education">
|
||||
<header>
|
||||
<h3>Education</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-mortar-board"></span>
|
||||
{% r.education.history.forEach( function( edu, idx, ar) { %}
|
||||
<h4>{{ edu.institution }}</h4>
|
||||
<span class="tenure">{{ edu.safe.start.format('YYYY-MM') }}—{{ edu.safe.end.format('YYYY-MM') }}</span>
|
||||
{% if( edu.courses ) { %}
|
||||
<ul>
|
||||
{% edu.courses.forEach( function( course, idx, ar) { %}
|
||||
<li>{{ course|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if( r.recognition && r.recognition.length ) { %}
|
||||
<hr>
|
||||
<section id="awards">
|
||||
<header>
|
||||
<h3>Awards</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-trophy"></span>
|
||||
{% r.recognition.forEach( function( award, idx, ar) { %}
|
||||
<h4><span class="res-label">{{ award.title }}</span>, {{ award.from }}</h4>
|
||||
<span class="tenure">{{ award.date }}</span>
|
||||
{{ award.summary|md }}
|
||||
{% }); %}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if( r.writing && r.writing.length ) { %}
|
||||
<hr>
|
||||
<section id="publications">
|
||||
<header>
|
||||
<h3>Publications</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-pencil"></span>
|
||||
{% r.writing.forEach( function( pub, idx, ar) { %}
|
||||
<h4>
|
||||
<span class="res-label">{{ filt.link(pub.title, pub.url) }}</span> {{ pub.publisher }}
|
||||
</h4>
|
||||
<span class="tenure">Published on: {{ pub.safe.date.format('YYYY-MM') }}</span>
|
||||
|
||||
|
||||
|
||||
{% }); %}
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
{% if ( r.service.history && r.service.history.length ) { %}
|
||||
<hr>
|
||||
<section id="volunteer">
|
||||
<header>
|
||||
<h3>Volunteer Work</h3>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-child"></span>
|
||||
{% r.service.history.forEach( function( vol, idx, ar) { %}
|
||||
{% if( vol.url && vol.url.length ) { %}
|
||||
<h4><span class="res-label">{{ vol.position }}</span>, <a href="{{ vol.website|raw }}">{{ vol.organization }}</a></h4>
|
||||
{% } else { %}
|
||||
<h4><span class="res-label">{{ vol.position }}</span>, <span class="defunct">{{ vol.organization }}</span></h4>
|
||||
{% } %}
|
||||
<span class="tenure">{{ vol.safe.start.format('YYYY-MM') }}—{{ vol.safe.end.format('YYYY-MM') }}</span>
|
||||
{{ vol.summary|md }}
|
||||
{% if( vol.highlights ) { %}
|
||||
<ul>
|
||||
{% vol.highlights.forEach( function( high, idx, ar) { %}
|
||||
<li>{{ high|mdin }}</li>
|
||||
{% }); %}
|
||||
</ul>
|
||||
{% } %}
|
||||
{% }); %}
|
||||
|
||||
</section>
|
||||
{% } %}
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
54
themes/modern/src/txt.txt
Normal file
54
themes/modern/src/txt.txt
Normal file
@ -0,0 +1,54 @@
|
||||
{#
|
||||
|
||||
modern/txt.txt
|
||||
A plain text resume template for FluentCV's "modern" theme.
|
||||
|
||||
#}
|
||||
{{ r.name }}
|
||||
{% if (r.contact.email) { %}Email: {{ r.contact.email }}{% } %}
|
||||
{% if (r.contact.phone) { %}Tel: {{ r.contact.phone }}{% } %}
|
||||
{% if (r.contact.website) { %}Web: {{ r.contact.website }}{% } %}
|
||||
|
||||
***
|
||||
|
||||
{% if ( r.info.brief && r.info.brief.length ) { %}{{ r.info.brief }}{% } %}
|
||||
|
||||
|
||||
{% if ( r.skills && r.skills.sets && r.skills.sets.length ) { %}SKILLS
|
||||
{% r.skills.sets.forEach( function( set ) { %}
|
||||
- {{ set.name }}: {% set.skills.forEach(function(sk){ %}{{ sk }}, {% }); %}
|
||||
{{ set.level }}
|
||||
{% }); %}
|
||||
{% } else if( r.skills && r.skills.list && r.skills.list.length ) { %}
|
||||
|
||||
{% } %}
|
||||
|
||||
{% if ( r.employment && r.employment.history ) { %}EMPLOYMENT
|
||||
{% r.employment.history.forEach( function( proj, idx, ar) { %}
|
||||
{{ proj.employer }} ({{ proj.safe.start.format('YYYY-MM') }} — {{ proj.safe.end.format('YYYY-MM') }})
|
||||
{{ proj.summary }}
|
||||
{% if( proj.highlights ) { %}{% proj.highlights.forEach( function( high ) { %}
|
||||
- {{ high }}
|
||||
{% }); } }); } %}
|
||||
|
||||
{% if ( r.education && r.education.history ) { %}EDUCATION
|
||||
{% r.education.history.forEach( function( edu, idx, ar) { %}
|
||||
{{ edu.institution }} ({{ edu.safe.start.format('YYYY-MM') }} — {{ edu.safe.end.format('YYYY-MM') }})
|
||||
{{ edu.summary }}
|
||||
{% if( edu.courses ) { %}{% edu.courses.forEach( function( course ) { %}
|
||||
- {{ course }}
|
||||
{% }); } }); } %}
|
||||
|
||||
{% if ( r.service && r.service.history ) { %}VOLUNTEER
|
||||
{% r.service.history.forEach( function( srv, idx, ar) { %}
|
||||
{{ srv.organization }} ({{ srv.safe.start.format('YYYY-MM') }} — {{ srv.safe.end.format('YYYY-MM') }})
|
||||
{{ srv.summary }}
|
||||
{% if( srv.highlights ) { %}{% srv.highlights.forEach( function( high ) { %}
|
||||
- {{ high }}
|
||||
{% }); } }); } %}
|
||||
|
||||
{% if ( r.writing && r.writing.length ) { %}WRITING
|
||||
{% r.writing.forEach( function( wri, idx, ar) { %}
|
||||
{{ wri.title }} ({{ wri.safe.date.format('YYYY-MM') }})
|
||||
{{ wri.summary }}
|
||||
{% }); } %}
|
Reference in New Issue
Block a user