1
0
mirror of https://github.com/JuanCanham/fresh-themes.git synced 2025-07-06 18:21:06 +01:00

Compare commits

...

29 Commits

Author SHA1 Message Date
JD
5439bd5385 Merge pull request #7 from fluentdesk/rel/v0.4.0-beta
rel/v0.4.0 beta
2015-11-18 04:47:36 -05:00
7be839bdbf Multiple: Fix skill keywords collection glitches. 2015-11-05 11:53:17 -05:00
2261537724 Modern: Update PDF template from HTML. 2015-11-05 11:36:24 -05:00
9552eda254 Modern: Exclude empty pubs / awards. 2015-11-05 11:36:11 -05:00
e23a1ed0a4 Theme: Compact: Update PDF format from HTML. 2015-11-05 11:21:17 -05:00
05a875b837 Theme: Compact: Exclude empty pubs / awards. 2015-11-05 11:21:00 -05:00
d99a99b3dc Update CSS filename for "compact" theme. 2015-11-05 01:13:31 -05:00
7435ea4aaa Bump version to 0.4.0. 2015-11-05 01:02:25 -05:00
JD
d224a6c267 Merge pull request #6 from fluentdesk/rel/v0.3.0-beta
rel/v0.3.0 beta
2015-11-02 19:26:17 -05:00
790ca0cc24 Update description. 2015-10-27 23:46:36 -04:00
928b9da331 Bump version. 2015-10-27 23:46:19 -04:00
ed0b286cf5 Bump version. 2015-10-27 20:43:38 -04:00
JD
29b00a6f22 Merge pull request #5 from fluentdesk/dev
Merge from dev.
2015-10-27 10:28:02 -04:00
ecb085ed10 Compact: Collapse jobs > 4 and use safe dates. 2015-10-27 10:30:59 -04:00
9c3d950af6 Compact: Use inline Markdown. 2015-10-27 09:06:36 -04:00
c9f116207e Introduce "Compact" theme. 2015-10-27 08:41:12 -04:00
6db7691c38 Unprivatize package.json. 2015-10-26 13:39:58 -04:00
JD
ae19fec60b Merge pull request #4 from fluentdesk/dev
Unprivatize package.json.
2015-10-26 13:38:37 -04:00
6a52ddb19c Rename to fluent-themes. 2015-10-26 13:36:18 -04:00
JD
30fd9222aa Merge pull request #3 from fluentdesk/dev
Rename to fluent-themes.
2015-10-26 13:32:54 -04:00
JD
2bdaaac9a4 Merge pull request #2 from fluentdesk/dev
v0.3.1 patch
2015-10-26 08:09:15 -04:00
b8863afd56 Remove YML template for now. 2015-10-26 08:03:54 -04:00
7c1f12198e Add explicit CSS files for PDFs. 2015-10-26 08:03:03 -04:00
485e4b6316 Bump version. 2015-10-26 04:57:15 -04:00
e7c820c9c3 Reorganize themes. 2015-10-26 04:57:06 -04:00
JD
a30395cf29 Merge pull request #1 from fluentdesk/dev
Interim release changes
2015-10-26 04:54:52 -04:00
71919429aa Fix HTML headers. 2015-10-26 00:40:23 -04:00
759a406d72 Fix comment title. 2015-10-18 02:01:08 -04:00
4e5e96733a Merge remote-tracking branch 'refs/remotes/origin/master' into dev 2015-10-18 02:00:45 -04:00
29 changed files with 858 additions and 61 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
# It is pitch black. You are likely to be eaten by a grue. # It is pitch black. You are likely to be eaten by a grue.
informatic-new/

View File

@ -1,12 +1,12 @@
watermark fluent-themes
========= =============
Predefined template-based resume themes for [FluentCV][1] and [FluentCMD][2]. Resume themes for [FluentCV][1] and [FluentCV command line][2].
- `minimist`: A no-frills theme. - `minimist`: A no-frills theme.
- `informatic`: An informative theme for technical resumes.
- `modern`: A middle of the road theme with a modern look 'n feel. - `modern`: A middle of the road theme with a modern look 'n feel.
- `hello-world`: A simple-as-possible example theme. - `hello-world`: A simple-as-possible example theme.
- New themes added weekly. - `compact`: A compact theme.
- New themes forthcoming.
## How It Works ## How It Works
@ -28,5 +28,5 @@ This scheme ensures that theme template files have the "correct" file extension
MIT. See [LICENSE.md][1] for details. MIT. See [LICENSE.md][1] for details.
[1]: http://fluentcv.com [1]: http://fluentcv.com
[2]: https://github.com/fluentdesk/fluentcmd [2]: https://github.com/fluentdesk/fluentcv
[3]: ../LICENSE.md [3]: ../LICENSE.md

View File

@ -1,11 +1,10 @@
{ {
"name": "watermark", "name": "fluent-themes",
"version": "0.2.0-alpha", "version": "0.4.0-beta",
"description": "Themes and exemplars for FluentCV.", "description": "Resume themes for FluentCV.",
"private": true,
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/fluentdesk/watermark.git" "url": "https://github.com/fluentdesk/fluent-themes.git"
}, },
"keywords": [ "keywords": [
"resume", "resume",
@ -16,8 +15,8 @@
"author": "James M. Devlin", "author": "James M. Devlin",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/fluentdesk/watermark/issues" "url": "https://github.com/fluentdesk/fluent-themes/issues"
}, },
"homepage": "https://github.com/fluentdesk/watermark", "homepage": "https://github.com/fluentdesk/fluent-themes",
"dependencies": { } "dependencies": { }
} }

View File

@ -0,0 +1,77 @@
html, body, main, section, header, ul, p, h1, h2, h3 {
font-family: Helvetica, sans-serif;
font-size: 12px;
margin: 0; padding: 0;
display: block;
}
a {
color: #0064BD;
text-decoration: none;
}
a:visited {
color: #7B0796;
}
a:hover {
text-decoration: underline;
}
h2 {
text-transform: uppercase;
}
h3 {
font-size: 1em;
}
main {
padding: 15px;
max-width: 700px;
margin: 0 auto;
}
section {
margin-top: 1em;
}
li {
margin-left: 2em;
}
h3 {
margin-top: 1em;
}
p, li {
text-align: justify;
}
.tenure {
float: right;
}
thead {
display: none;
}
main > header {
width: 100%;
float: left;
margin-bottom: 1em;
}
main > header > h1 {
float: left;
font-size: 1.5em;
}
#contact {
float: right;
}
#contact > div {
display: inline-block;
margin-left: 5px;
}

View File

@ -0,0 +1,169 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{ r.basics.name }}</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
<link href="html.css" rel="stylesheet" type="text/css">
</head>
<body>
<main>
<header>
<h1>{{ r.basics.name }}</h1>
<div id="contact">
{% if (r.basics.email) { %}<div class="email">{{ r.basics.email }}</div>{% } %}
{% if (r.basics.phone) { %}<div class="phone">{{ r.basics.phone }}</div>{% } %}
{% if (r.basics.website) { %}<div class="website"><a href="{{ r.basics.website }}">{{ r.basics.website }}</a></div>{% } %}
</div>
</header>
{% if ( r.basics.summary && r.basics.summary.length ) { %}
<section id="summary">
{{ r.basics.summary|md }}
</section>
{% } %}
{% if ( r.skills && r.skills.length ) { %}
<section id="skills">
<header>
<h2>Skills</h2><hr>
</header>
<table>
<thead>
<tr>
<th>Skill</th>
<th>Keywords</th>
</tr>
</thead>
<tbody>
{% r.skills.forEach( function( skill, idx, ar) { %}
<tr>
<td style="width: 25%;">{{ skill.name }}</td>
<td class="keywords">{% print( (skill.keywords && skill.keywords.length && skill.keywords.join(', ')) || '[None Specified]' ) %}</td>
</tr>
{% }); %}
</tbody>
</table>
</section>
{% } %}
{% if ( r.work && r.work.length ) { %}
<section id="employment">
<header>
<h2>Employment</h2><hr>
</header>
{% r.work.forEach( function( proj, idx, ar) { %}
{% if( idx < 4 ) { %}
<h3><em>{{ proj.position }}</em>, {{ proj.company }} <span class="tenure">{{ proj.startDate }} &mdash; {{ proj.endDate }}<span></h3>
<p style="clear: both;">{{ proj.summary|md }}</p>
{% if( proj.highlights ) { %}
<ul>
{% proj.highlights.forEach( function( high, idx, ar) { %}
<li>{{ high|mdin }}</li>
{% }); %}
</ul>
{% } %}
{% } else { %}
{% if( idx === 4 ) { %}
<h3>Previously... <span class="tenure">{{ r.work[ r.work.length - 1 ].safeStartDate.format('YYYY') }} &mdash; {{ proj.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">Prior to {{ r.work[ 3 ].company }}, I worked on a range of projects for companies large and small.</p>
<ul>
{% } %}
<li>{{ proj.position }}, {{ proj.company }}</li>
{% if( idx === ar.length - 1 ) { %}
</ul>
{% } %}
{% } %}
{% }); %}
</section>
{% } %}
{% if ( r.education && r.education.length ) { %}
<section id="education">
<header>
<h2>Education</h2><hr>
</header>
{% r.education.forEach( function( edu, idx, ar) { %}
<h3>{{ edu.institution }} <span class="tenure">{{ edu.safeStartDate.format('YYYY') }} &mdash; {{ edu.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">{{ edu.area|md }}</p>
{% }); %}
</section>
{% } %}
{% if ( r.volunteer && r.volunteer.length ) { %}
<section id="volunteer">
<header>
<h2>Volunteer</h2><hr>
</header>
{% r.volunteer.forEach( function( vol, idx, ar ) { %}
<h3>{{ vol.organization }} <span class="tenure">{{ vol.safeStartDate.format('YYYY') }} &mdash; {{ vol.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">{{ vol.summary|md }}</p>
{% if( vol.highlights ) { %}
<ul>
{% vol.highlights.forEach( function( high, idx, ar) { %}
<li>{{ high|md }}</li>
{% }); %}
</ul>
{% } %}
{% }); %}
</section>
{% } %}
{% if( r.publications && r.publications.length ) { %}
<section id="publications">
<header>
<h2>Publications</h2><hr>
</header>
<span class="fa fa-lg fa-trophy"></span>
{% r.publications.forEach( function( pub, idx, ar) { %}
<h4>
{% if( pub.website ) { %}
<span class="res-label"><a href="{{ pub.website }}" ></span>{{ pub.name }}</a>,&nbsp;{{ pub.publisher }}
{% } else { %}
<span class="res-label">{{ pub.name }}</span>,&nbsp;{{ pub.publisher }}
{% } %}
<span class="tenure">{{ pub.safeReleaseDate.format('YYYY') }}</span>
</h4>
{{ pub.summary|md }}
{% }); %}
</section>
{% } %}
{% if( r.awards && r.awards.length ) { %}
<section id="awards">
<header>
<h2>Awards</h2><hr>
</header>
<span class="fa fa-lg fa-trophy"></span>
{% r.awards.forEach( function( award, idx, ar) { %}
<h4><span class="res-label">{{ award.title }}</span>, {{ award.awarder }} <span class="tenure">{{ award.safeDate.format('YYYY') }}</span></h4>
{{ award.summary|md }}
{% }); %}
</section>
{% } %}
</main>
</body>
</html>

View File

@ -0,0 +1,77 @@
html, body, main, section, header, ul, p, h1, h2, h3 {
font-family: Helvetica, sans-serif;
font-size: 12px;
margin: 0; padding: 0;
display: block;
}
a {
color: #0064BD;
text-decoration: none;
}
a:visited {
color: #7B0796;
}
a:hover {
text-decoration: underline;
}
h2 {
text-transform: uppercase;
}
h3 {
font-size: 1em;
}
main {
padding: 15px;
max-width: 700px;
margin: 0 auto;
}
section {
margin-top: 1em;
}
li {
margin-left: 2em;
}
h3 {
margin-top: 1em;
}
p, li {
text-align: justify;
}
.tenure {
float: right;
}
thead {
display: none;
}
main > header {
width: 100%;
float: left;
margin-bottom: 1em;
}
main > header > h1 {
float: left;
font-size: 1.5em;
}
#contact {
float: right;
}
#contact > div {
display: inline-block;
margin-left: 5px;
}

View File

@ -0,0 +1,171 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{ r.basics.name }}</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
<style>
{{ cssInfo.data }}
</style>
</head>
<body>
<main>
<header>
<h1>{{ r.basics.name }}</h1>
<div id="contact">
{% if (r.basics.email) { %}<div class="email">{{ r.basics.email }}</div>{% } %}
{% if (r.basics.phone) { %}<div class="phone">{{ r.basics.phone }}</div>{% } %}
{% if (r.basics.website) { %}<div class="website"><a href="{{ r.basics.website }}">{{ r.basics.website }}</a></div>{% } %}
</div>
</header>
{% if ( r.basics.summary && r.basics.summary.length ) { %}
<section id="summary">
{{ r.basics.summary|md }}
</section>
{% } %}
{% if ( r.skills && r.skills.length ) { %}
<section id="skills">
<header>
<h2>Skills</h2><hr>
</header>
<table>
<thead>
<tr>
<th>Skill</th>
<th>Keywords</th>
</tr>
</thead>
<tbody>
{% r.skills.forEach( function( skill, idx, ar) { %}
<tr>
<td style="width: 25%;">{{ skill.name }}</td>
<td class="keywords">{% print( (skill.keywords && skill.keywords.length && skill.keywords.join(', ')) || '[None Specified]' ) %}</td>
</tr>
{% }); %}
</tbody>
</table>
</section>
{% } %}
{% if ( r.work && r.work.length ) { %}
<section id="employment">
<header>
<h2>Employment</h2><hr>
</header>
{% r.work.forEach( function( proj, idx, ar) { %}
{% if( idx < 4 ) { %}
<h3><em>{{ proj.position }}</em>, {{ proj.company }} <span class="tenure">{{ proj.startDate }} &mdash; {{ proj.endDate }}<span></h3>
<p style="clear: both;">{{ proj.summary|md }}</p>
{% if( proj.highlights ) { %}
<ul>
{% proj.highlights.forEach( function( high, idx, ar) { %}
<li>{{ high|mdin }}</li>
{% }); %}
</ul>
{% } %}
{% } else { %}
{% if( idx === 4 ) { %}
<h3>Previously... <span class="tenure">{{ r.work[ r.work.length - 1 ].safeStartDate.format('YYYY') }} &mdash; {{ proj.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">Prior to {{ r.work[ 3 ].company }}, I worked on a range of projects for companies large and small.</p>
<ul>
{% } %}
<li>{{ proj.position }}, {{ proj.company }}</li>
{% if( idx === ar.length - 1 ) { %}
</ul>
{% } %}
{% } %}
{% }); %}
</section>
{% } %}
{% if ( r.education && r.education.length ) { %}
<section id="education">
<header>
<h2>Education</h2><hr>
</header>
{% r.education.forEach( function( edu, idx, ar) { %}
<h3>{{ edu.institution }} <span class="tenure">{{ edu.safeStartDate.format('YYYY') }} &mdash; {{ edu.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">{{ edu.area|md }}</p>
{% }); %}
</section>
{% } %}
{% if ( r.volunteer && r.volunteer.length ) { %}
<section id="volunteer">
<header>
<h2>Volunteer</h2><hr>
</header>
{% r.volunteer.forEach( function( vol, idx, ar ) { %}
<h3>{{ vol.organization }} <span class="tenure">{{ vol.safeStartDate.format('YYYY') }} &mdash; {{ vol.safeEndDate.format('YYYY') }}<span></h3>
<p style="clear: both;">{{ vol.summary|md }}</p>
{% if( vol.highlights ) { %}
<ul>
{% vol.highlights.forEach( function( high, idx, ar) { %}
<li>{{ high|md }}</li>
{% }); %}
</ul>
{% } %}
{% }); %}
</section>
{% } %}
{% if( r.publications && r.publications.length ) { %}
<section id="publications">
<header>
<h2>Publications</h2><hr>
</header>
<span class="fa fa-lg fa-trophy"></span>
{% r.publications.forEach( function( pub, idx, ar) { %}
<h4>
{% if( pub.website ) { %}
<span class="res-label"><a href="{{ pub.website }}" ></span>{{ pub.name }}</a>,&nbsp;{{ pub.publisher }}
{% } else { %}
<span class="res-label">{{ pub.name }}</span>,&nbsp;{{ pub.publisher }}
{% } %}
<span class="tenure">{{ pub.safeReleaseDate.format('YYYY') }}</span>
</h4>
{{ pub.summary|md }}
{% }); %}
</section>
{% } %}
{% if( r.awards && r.awards.length ) { %}
<section id="awards">
<header>
<h2>Awards</h2><hr>
</header>
<span class="fa fa-lg fa-trophy"></span>
{% r.awards.forEach( function( award, idx, ar) { %}
<h4><span class="res-label">{{ award.title }}</span>, {{ award.awarder }} <span class="tenure">{{ award.safeDate.format('YYYY') }}</span></h4>
{{ award.summary|md }}
{% }); %}
</section>
{% } %}
</main>
</body>
</html>

View File

@ -0,0 +1 @@
{# An empty CSS file. #}

View File

@ -41,7 +41,7 @@
{% r.skills.forEach( function( skill, idx, ar) { %} {% r.skills.forEach( function( skill, idx, ar) { %}
<tr> <tr>
<td style="width: 25%;">{{ skill.name }}</td> <td style="width: 25%;">{{ skill.name }}</td>
<td class="keywords">{% print( skill.keywords.join(', ') ) %}</td> <td class="keywords">{% print( (skill.keywords && skill.keywords.length && skill.keywords.join(', ')) || '[None Specified]' ) %}</td>
</tr> </tr>
{% }); %} {% }); %}
</tbody> </tbody>

View File

@ -0,0 +1,65 @@
body {
margin: 0;
padding: 0;
font-family: 'Open Sans', sans-serif;
}
h1 {
font-size: 3em;
}
main {
max-width: 800px;
margin: 3em auto;
}
main > header {
position: relative;
}
thead {
display: none;
}
#contact {
width: 200px;
position: absolute;
right: 0;
bottom: 8px;
text-align: right;
font-size: 75%;
font-weight: 600;
}
#summary {
font-style: italic;
}
#employment h3, #employment .tenure {
font-size: 20px;
font-weight: bold;
}
#employment h3 {
float: left;
width: 100%;
}
.tenure {
color: #ABABAB;
float: right;
text-align: right;
}
.keywords {
color: #037FD6;
}
h2 {
font-size: 32px;
font-weight: 300;
}
td {
padding: 10px 0;
}

View File

@ -43,7 +43,7 @@
{% r.skills.forEach( function( skill, idx, ar) { %} {% r.skills.forEach( function( skill, idx, ar) { %}
<tr> <tr>
<td style="width: 25%;">{{ skill.name }}</td> <td style="width: 25%;">{{ skill.name }}</td>
<td class="keywords">{% print(skill.keywords.join(', ')); %}</td> <td class="keywords">{% print( (skill.keywords && skill.keywords.length && skill.keywords.join(', ')) || '[None Specified]' ) %}</td>
</tr> </tr>
{% }); %} {% }); %}
</tbody> </tbody>

View File

@ -0,0 +1,30 @@
{{ r.basics.name }}
{% if (r.basics.email) { %}Email: {{ r.basics.email }}{% } %}
{% if (r.basics.phone) { %}Tel: {{ r.basics.phone }}{% } %}
{% if (r.basics.website) { %}Web: {{ r.basics.website }}{% } %}
***
{% if ( r.basics.summary && r.basics.summary.length ) { %}{{ r.basics.summary }}{% } %}
{% if ( r.skills && r.skills.length ) { %}SKILLS
{% r.skills.forEach( function( skill, idx, ar) { %}
- {{ skill.name }}: {% print( skill.keywords.join(', ') ); %}
{% }); } %}
{% if ( r.work && r.work.length ) { %}EMPLOYMENT
{% r.work.forEach( function( proj, idx, ar) { %}
{{ proj.company }} ({{ proj.startDate }} — {{ proj.endDate }})
{{ proj.summary }}
{% if( proj.highlights ) { %}{% proj.highlights.forEach( function( high, idx, ar) { %}
- {{ high }}
{% }); } }); } %}
{% if ( r.education && r.education.length ) { %}EDUCATION
{% r.education.forEach( function( edu, idx, ar) { %}
{{ edu.institution }} ({{ edu.startDate }} — {{ edu.endDate }})
{{ edu.area }}
{% if( edu.courses ) { %}{% edu.courses.forEach( function( course, idx, ar) { %}
- {{ course }}
{% }); } }); } %}

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
{# <!--
[[[
modern/doc.xml title: Modern (PDF)
An XML-driven Microsoft Word resume template for FluentCV's "modern" theme. description: An HTML-driven PDF resume template for FluentCV's "modern" theme.
Uses the MS Word 2003 XML format. engine: Underscore
]]]
#} -->
<?mso-application progid="Word.Document"?> <?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"> <w:wordDocument xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve">
<w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/> <w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/>

View File

@ -1,10 +1,9 @@
<!DOCTYPE html> <!DOCTYPE html>
{# <!-- [[[
title: Modern (HTML)
modern/md.txt description: An HTML resume template for FluentCV's "modern" theme.
An HTML resume template for FluentCV's "modern" theme. engine: Underscore
]]] -->
#}
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
@ -13,6 +12,7 @@
<title>{{ r.basics.name }}</title> <title>{{ r.basics.name }}</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css'> <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"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
{{ headFragment }}
{% if( cssInfo.file ) { %} {% if( cssInfo.file ) { %}
<link href="{{ cssInfo.file }}" rel="stylesheet" type="text/css"> <link href="{{ cssInfo.file }}" rel="stylesheet" type="text/css">
{% } else { %} {% } else { %}
@ -64,9 +64,11 @@
<strong>{{ skill.name }}</strong> <strong>{{ skill.name }}</strong>
<div class="space-top labels"> <div class="space-top labels">
{% skill.keywords.forEach(function(kw) { %} {% if( skill.keywords && skill.keywords.length ) { %}
<span class="label label-keyword">{{ kw }}</span> {% skill.keywords.forEach(function(kw) { %}
{% }); %} <span class="label label-keyword">{{ kw }}</span>
{% }); %}
{% } %}
</div> </div>
</div> </div>
</li> </li>
@ -131,7 +133,7 @@
</section> </section>
{% } %} {% } %}
{% if( r.awards ) { %} {% if( r.awards && r.awards.length ) { %}
<hr> <hr>
<section id="awards"> <section id="awards">
<header> <header>
@ -146,7 +148,7 @@
</section> </section>
{% } %} {% } %}
{% if( r.publications ) { %} {% if( r.publications && r.publications.length ) { %}
<hr> <hr>
<section id="publications"> <section id="publications">
<header> <header>

View 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;
}

View File

@ -1,22 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
{# <!-- [[[
title: Modern (PDF)
modern/pdf.html description: An HTML-driven PDF resume template for FluentCV's "modern" theme.
An HTML-driven PDF resume template for FluentCV's "modern" theme. engine: Underscore
]]] -->
#}
<html> <html>
<head> <head>
<meta charset="utf-8"> <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.basics.name }}</title> <title>{{ r.basics.name }}</title>
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css"> <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"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
{{ headFragment }}
<style> <style>
{{ cssInfo.data }} {{ cssInfo.data }}
</style> </style>
</head> </head>
<body class="pdf"> <body>
<div id="main"> <main id="main">
<div id="container"> <div id="container">
<header> <header>
<h1>{{ r.basics.name }}</h1> <h1>{{ r.basics.name }}</h1>
@ -58,9 +60,11 @@
<strong>{{ skill.name }}</strong> <strong>{{ skill.name }}</strong>
<div class="space-top labels"> <div class="space-top labels">
{% skill.keywords.forEach(function(kw) { %} {% if( skill.keywords && skill.keywords.length ) { %}
<span class="label label-keyword">{{ kw }}</span> {% skill.keywords.forEach(function(kw) { %}
{% }); %} <span class="label label-keyword">{{ kw }}</span>
{% }); %}
{% } %}
</div> </div>
</div> </div>
</li> </li>
@ -82,9 +86,9 @@
<span class="fa fa-lg fa-building"></span> <span class="fa fa-lg fa-building"></span>
{% r.work.forEach( function( proj, idx, ar) { %} {% r.work.forEach( function( proj, idx, ar) { %}
{% if( proj.website && proj.website.length ) { %} {% if( proj.website && proj.website.length ) { %}
<h4>{{ proj.position }}, <a href="{{ proj.website|raw }}">{{ proj.company }}</a></h4> <h4><span class="res-label">{{ proj.position }}</span>, <a href="{{ proj.website|raw }}">{{ proj.company }}</a></h4>
{% } else { %} {% } else { %}
<h4>{{ proj.position }}, <span class="defunct">{{ proj.company }}</span></h4> <h4><span class="res-label">{{ proj.position }}</span>, <span class="defunct">{{ proj.company }}</span></h4>
{% } %} {% } %}
<span class="tenure">{{ proj.startDate }}&mdash;{{ proj.endDate }}</span> <span class="tenure">{{ proj.startDate }}&mdash;{{ proj.endDate }}</span>
{{ proj.summary|md }} {{ proj.summary|md }}
@ -125,7 +129,7 @@
</section> </section>
{% } %} {% } %}
{% if( r.awards ) { %} {% if( r.awards && r.awards.length ) { %}
<hr> <hr>
<section id="awards"> <section id="awards">
<header> <header>
@ -133,14 +137,14 @@
</header> </header>
<span class="fa fa-lg fa-trophy"></span> <span class="fa fa-lg fa-trophy"></span>
{% r.awards.forEach( function( award, idx, ar) { %} {% r.awards.forEach( function( award, idx, ar) { %}
<h4><em>{{ award.title }}</em>, {{ award.awarder }}</h4> <h4><span class="res-label">{{ award.title }}</span>, {{ award.awarder }}</h4>
<span class="tenure">{{ award.date }}</span> <span class="tenure">{{ award.date }}</span>
{{ award.summary|md }} {{ award.summary|md }}
{% }); %} {% }); %}
</section> </section>
{% } %} {% } %}
{% if( r.publications ) { %} {% if( r.publications && r.publications.length ) { %}
<hr> <hr>
<section id="publications"> <section id="publications">
<header> <header>
@ -150,20 +154,19 @@
{% r.publications.forEach( function( pub, idx, ar) { %} {% r.publications.forEach( function( pub, idx, ar) { %}
<h4> <h4>
{% if( pub.website ) { %} {% if( pub.website ) { %}
<a href="{{ pub.website }}" >{{ pub.name }}</a> <span class="res-label"><a href="{{ pub.website }}" ></span>{{ pub.name }}</a>,&nbsp;{{ pub.publisher }}
{% } else { %} {% } else { %}
{{ pub.name }} <span class="res-label">{{ pub.name }}</span>,&nbsp;{{ pub.publisher }}
{% } %} {% } %}
,&nbsp;
{{ pub.publisher }}
</h4> </h4>
<span class="tenure">Published on: {{ pub.releaseDate }}</span> <span class="tenure">Published on: {{ pub.releaseDate }}</span>
<p>{{ pub.summary }}</p>
{{ pub.summary|md }}
{% }); %} {% }); %}
</section> </section>
{% } %} {% } %}
{% if ( r.volunteer && r.volunteer.length ) { %} {% if ( r.volunteer && r.volunteer.length ) { %}
<hr> <hr>
<section id="volunteer"> <section id="volunteer">
@ -173,9 +176,9 @@
<span class="fa fa-lg fa-child"></span> <span class="fa fa-lg fa-child"></span>
{% r.volunteer.forEach( function( vol, idx, ar) { %} {% r.volunteer.forEach( function( vol, idx, ar) { %}
{% if( vol.website && vol.website.length ) { %} {% if( vol.website && vol.website.length ) { %}
<h4>{{ vol.position }}, <a href="{{ vol.website|raw }}">{{ vol.organization }}</a></h4> <h4><span class="res-label">{{ vol.position }}</span>, <a href="{{ vol.website|raw }}">{{ vol.organization }}</a></h4>
{% } else { %} {% } else { %}
<h4>{{ vol.position }}, <span class="defunct">{{ vol.organization }}</span></h4> <h4><span class="res-label">{{ vol.position }}</span>, <span class="defunct">{{ vol.organization }}</span></h4>
{% } %} {% } %}
<span class="tenure">{{ vol.startDate }}&mdash;{{ vol.endDate }}</span> <span class="tenure">{{ vol.startDate }}&mdash;{{ vol.endDate }}</span>
{{ vol.summary|md }} {{ vol.summary|md }}
@ -191,7 +194,6 @@
</section> </section>
{% } %} {% } %}
{% if( r.elevatorPitch ) { %} {% if( r.elevatorPitch ) { %}
<hr> <hr>
<section id='elevator-pitch'> <section id='elevator-pitch'>
@ -199,7 +201,7 @@
</section> </section>
{% } %} {% } %}
</div> </div>
</div> </main>
</body> </body>
</html> </html>