Compare commits

..
Author SHA1 Message Date
devlinjd 2f7a5b58dc Merge remote-tracking branch 'refs/remotes/origin/dev' 2015-10-10 21:50:45 -04:00
devlinjd 39b33642b8 Remove value judgment. 2015-10-10 21:49:56 -04:00
devlinjd eac06fb7a9 Update file headers for "modern" theme. 2015-10-10 17:53:59 -04:00
devlinjd 54b0a7d3a9 Update README. 2015-10-10 17:45:29 -04:00
devlinjd e45f9aece7 Introduce Markdown templates.
Add a baseline Markdown template to all themes.
2015-10-10 17:14:32 -04:00
devlinjd e82a25dc9c Update package.json version. 2015-10-10 17:10:47 -04:00
devlinjd 0424c6d15b Rename "informatic" to "modern". 2015-10-09 15:37:16 -04:00
13 changed files with 192 additions and 32 deletions
+24 -3
View File
@@ -1,11 +1,32 @@
watermark
=========
Dress up your resume for Halloween. Resume/CV themes for [FluentCV][1] and [FluentCMD][2] live here.
Predefined template-based resume themes for [FluentCV][1] and [FluentCMD][2].
- `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.
- `hello-world`: A simple-as-possible example theme.
- New themes added weekly.
## How It Works
Each theme lives in a folder, e.g., `themes/informatic` or `themes/modern`. The folder contains individual template files assembled by the theme author. Each template can be used to generate a single type of output file such as HTML, Word, or PDF. Template files are named according to this scheme...
[ OuputFormat ].[ InputFormat ]
...where `[OuputFormat]` and `[InputFormat]` are both one of `html`, `pdf`, `md`, `txt`, `doc`, or `xml`. For example:
- `html.html` = An HTML template used to generate an HTML document.
- `doc.xml` = An XML template used to generate an MS Word document.
- `pdf.html` = An HTML template used to generate a PDF document.
- `md.txt` = A text template used to generate a Markdown document.
This scheme ensures that theme template files have the "correct" file extension when the theme author is working with them in an editor—if your source data is XML then the template file will have an `.xml` extension regardless of whether you're ultimately generating an HTML page or a PDF document *from* that XML. It also provides a declarative mapping between a given input format (say, XML) and a given output file type (say, a Word doc or spreadsheet).
## License
MIT. See [LICENSE.md][3] for details.
MIT. See [LICENSE.md][1] for details.
[1]: http://fluentcv.com
[2]: https://github.com/fluentdesk/fluentcmd
[3]: LICENSE.md
[3]: ../LICENSE.md
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "watermark",
"version": "0.1.0",
"version": "0.2.0-alpha",
"description": "Themes and exemplars for FluentCV.",
"private": true,
"repository": {
-12
View File
@@ -1,12 +0,0 @@
themes
======
Predefined template-based resume themes for FluentCV.
- `minimist`: A no-frills theme.
- `informatic`: An informative theme for technical resumes.
## License
MIT. See [LICENSE.md][1] for details.
[1]: ../LICENSE.md
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
{#
A simple-as-possible WORD/DOC template for the "Hello World" theme.
Uses the MS Word 2003 XML format for widest compatibility.
Uses the MS Word 2003 XML format.
#}
<?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">
+7
View File
@@ -0,0 +1,7 @@
{#
modern/md.txt
A Markdown resume template for FluentCV's "hello-world" theme.
#}
# Hello, world! My name is {{ r.basics.name }}.
+59
View File
@@ -0,0 +1,59 @@
{#
modern/md.txt
A Markdown resume template for FluentCV's "minimist" theme.
#}
# {{ 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.position }}*, {{ proj.company }} ({{ proj.safeStartDate.format('MMM YYYY') }} — {{ proj.safeEndDate.format('MMM YYYY') }})
{{ 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.safeStartDate.format('MMM YYYY') }} — {{ edu.safeEndDate.format('MMM YYYY') }})
{{ edu.area }}
{% if( edu.courses ) { %}{% edu.courses.forEach( function( course, idx, ar) { %}
- {{ course }}
{% }); } }); } %}
{% if ( r.publications && r.publications.length ) { %}
## Publications
{% r.publications.forEach( function( pub, idx, ar) { %}
### {{ pub.name }} ({{ pub.safeReleaseDate.format('MMM YYYY') }})
{{ pub.publisher }}
{{ pub.summary }}
{% }); } %}
{% if ( r.volunteer && r.volunteer.length ) { %}
## Volunteer
{% r.volunteer.forEach( function( vol, idx, ar) { %}
### {{ vol.organization }} ({{ vol.safeStartDate.format('MMM YYYY') }} — {{ vol.safeEndDate.format('MMM YYYY') }})
{{ vol.summary }}
{% }); } %}
{% if ( r.awards && r.awards.length ) { %}
## Awards
{% r.awards.forEach( function( awd, idx, ar) { %}
### *{{ awd.title }}*, {{ awd.awarder }} ({{ awd.safeDate.format('MMM YYYY') }})
{{ awd.summary }}
{% }); } %}

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
{#
An MS Word resume template for FluentCV's "informatic" theme.
Uses the MS Word 2003 XML format for widest compatibility.
modern/doc.xml
An XML-driven Microsoft Word resume template for FluentCV's "modern" theme.
Uses the MS Word 2003 XML format.
#}
<?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">
@@ -7,7 +7,7 @@ main {
}
body {
font-family: 'Lato', sans-serif;
font-family: 'Helvetica Neue', Helvetica, 'Lato', sans-serif;
font-size: 15px;
color: #333;
line-height: 1.42857143;
@@ -92,13 +92,17 @@ a, a:visited {
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
.defunct {
color: #989898;
font-weight: bold;
}
#summary > p > strong {
font-size: 150%;
font-size: 1.25em;
}
@@ -193,3 +197,7 @@ a, a:visited {
text-transform: uppercase;
font-weight: normal;
}
.res-label {
font-style: italic;
}
@@ -1,5 +1,10 @@
<!DOCTYPE html>
{# An HTML 5 resume template for FluentCV's "informatic" theme. #}
{#
modern/md.txt
An HTML resume template for FluentCV's "modern" theme.
#}
<html>
<head>
<meta charset="utf-8">
@@ -83,9 +88,9 @@
<span class="fa fa-lg fa-building"></span>
{% r.work.forEach( function( proj, idx, ar) { %}
{% 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 { %}
<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>
{{ proj.summary|md }}
@@ -134,7 +139,7 @@
</header>
<span class="fa fa-lg fa-trophy"></span>
{% 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>
{{ award.summary|md }}
{% }); %}
@@ -151,13 +156,15 @@
{% r.publications.forEach( function( pub, idx, ar) { %}
<h4>
{% if( pub.website ) { %}
<a href="{{ pub.website }}" >{{ pub.name }}</a>,&nbsp;{{ pub.publisher }}
<span class="res-label"><a href="{{ pub.website }}" ></span>{{ pub.name }}</a>,&nbsp;{{ pub.publisher }}
{% } else { %}
{{ pub.name }},&nbsp;{{ pub.publisher }}
<span class="res-label">{{ pub.name }}</span>,&nbsp;{{ pub.publisher }}
{% } %}
</h4>
<span class="tenure">Published on: {{ pub.releaseDate }}</span>
<p>{{ pub.summary }}</p>
{{ pub.summary|md }}
{% }); %}
</section>
{% } %}
@@ -171,9 +178,9 @@
<span class="fa fa-lg fa-child"></span>
{% r.volunteer.forEach( function( vol, idx, ar) { %}
{% 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 { %}
<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>
{{ vol.summary|md }}
+59
View File
@@ -0,0 +1,59 @@
{#
modern/md.txt
A Markdown resume template for FluentCV's "modern" theme.
#}
# {{ 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.position }}*, {{ proj.company }} ({{ proj.safeStartDate.format('MMM YYYY') }} — {{ proj.safeEndDate.format('MMM YYYY') }})
{{ 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.safeStartDate.format('MMM YYYY') }} — {{ edu.safeEndDate.format('MMM YYYY') }})
{{ edu.area }}
{% if( edu.courses ) { %}{% edu.courses.forEach( function( course, idx, ar) { %}
- {{ course }}
{% }); } }); } %}
{% if ( r.publications && r.publications.length ) { %}
## Publications
{% r.publications.forEach( function( pub, idx, ar) { %}
### {{ pub.name }} ({{ pub.safeReleaseDate.format('MMM YYYY') }})
{{ pub.publisher }}
{{ pub.summary }}
{% }); } %}
{% if ( r.volunteer && r.volunteer.length ) { %}
## Volunteer
{% r.volunteer.forEach( function( vol, idx, ar) { %}
### {{ vol.organization }} ({{ vol.safeStartDate.format('MMM YYYY') }} — {{ vol.safeEndDate.format('MMM YYYY') }})
{{ vol.summary }}
{% }); } %}
{% if ( r.awards && r.awards.length ) { %}
## Awards
{% r.awards.forEach( function( awd, idx, ar) { %}
### *{{ awd.title }}*, {{ awd.awarder }} ({{ awd.safeDate.format('MMM YYYY') }})
{{ awd.summary }}
{% }); } %}
@@ -1,5 +1,10 @@
<!DOCTYPE html>
{# An HTML 5 PDF resume template for FluentCV's "informatic" theme. #}
{#
modern/pdf.html
An HTML-driven PDF resume template for FluentCV's "modern" theme.
#}
<html>
<head>
<meta charset="utf-8">
@@ -1,5 +1,8 @@
{#
A plain TXT resume template for FluentCV's "informatic" theme.
modern/txt.txt
A plain text resume template for FluentCV's "modern" theme.
#}
{{ r.basics.name }}
{% if (r.basics.email) { %}Email: {{ r.basics.email }}{% } %}