diff --git a/themes/compact/templates/html.css b/themes/compact/templates/html.css
new file mode 100644
index 0000000..33b6129
--- /dev/null
+++ b/themes/compact/templates/html.css
@@ -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;
+}
diff --git a/themes/compact/templates/html.html b/themes/compact/templates/html.html
new file mode 100644
index 0000000..644b17d
--- /dev/null
+++ b/themes/compact/templates/html.html
@@ -0,0 +1,169 @@
+
+
+
+
+ {{ r.basics.name }}
+
+
+
+
+
+
+
+
+{% if ( r.basics.summary && r.basics.summary.length ) { %}
+
+ {{ r.basics.summary|md }}
+
+{% } %}
+
+
+{% if ( r.skills && r.skills.length ) { %}
+
+
+
+
+
+ Skill |
+ Keywords |
+
+
+
+ {% r.skills.forEach( function( skill, idx, ar) { %}
+
+ {{ skill.name }} |
+ {% print( skill.keywords.join(', ') ) %} |
+
+ {% }); %}
+
+
+
+{% } %}
+
+
+
+{% if ( r.work && r.work.length ) { %}
+
+
+
+
+
+ {% r.work.forEach( function( proj, idx, ar) { %}
+ {% if( idx < 4 ) { %}
+ {{ proj.position }}, {{ proj.company }} {{ proj.startDate }} — {{ proj.endDate }}
+ {{ proj.summary|md }}
+ {% if( proj.highlights ) { %}
+
+ {% proj.highlights.forEach( function( high, idx, ar) { %}
+ - {{ high|mdin }}
+ {% }); %}
+
+ {% } %}
+ {% } else { %}
+
+ {% if( idx === 4 ) { %}
+ Previously... {{ r.work[ r.work.length - 1 ].safeStartDate.format('YYYY') }} — {{ proj.safeEndDate.format('YYYY') }}
+ Prior to {{ r.work[ 3 ].company }}, I worked on a range of projects for companies large and small.
+
+ {% } %}
+
+
+ - {{ proj.position }}, {{ proj.company }}
+
+
+ {% if( idx === ar.length - 1 ) { %}
+
+ {% } %}
+
+ {% } %}
+ {% }); %}
+
+
+
+
+{% } %}
+
+
+
+{% if ( r.education && r.education.length ) { %}
+
+
+ {% r.education.forEach( function( edu, idx, ar) { %}
+ {{ edu.institution }} {{ edu.safeStartDate.format('YYYY') }} — {{ edu.safeEndDate.format('YYYY') }}
+ {{ edu.area|md }}
+ {% }); %}
+
+
+{% } %}
+
+{% if ( r.volunteer && r.volunteer.length ) { %}
+
+
+ {% r.volunteer.forEach( function( vol, idx, ar ) { %}
+ {{ vol.organization }} {{ vol.safeStartDate.format('YYYY') }} — {{ vol.safeEndDate.format('YYYY') }}
+ {{ vol.summary|md }}
+ {% if( vol.highlights ) { %}
+
+ {% vol.highlights.forEach( function( high, idx, ar) { %}
+ - {{ high|md }}
+ {% }); %}
+
+ {% } %}
+ {% }); %}
+
+
+{% } %}
+
+{% if( r.publications ) { %}
+
+
+
+ {% r.publications.forEach( function( pub, idx, ar) { %}
+
+ {% if( pub.website ) { %}
+ {{ pub.name }}, {{ pub.publisher }}
+ {% } else { %}
+ {{ pub.name }}, {{ pub.publisher }}
+ {% } %}
+ {{ pub.safeReleaseDate.format('YYYY') }}
+
+
+ {{ pub.summary|md }}
+
+ {% }); %}
+
+{% } %}
+
+{% if( r.awards ) { %}
+
+
+
+ {% r.awards.forEach( function( award, idx, ar) { %}
+ {{ award.title }}, {{ award.awarder }} {{ award.safeDate.format('YYYY') }}
+ {{ award.summary|md }}
+ {% }); %}
+
+{% } %}
+
+
+
+
diff --git a/themes/compact/templates/pdf.css b/themes/compact/templates/pdf.css
new file mode 100644
index 0000000..4eebd3e
--- /dev/null
+++ b/themes/compact/templates/pdf.css
@@ -0,0 +1,63 @@
+html, body, main, section, header, ul, p, h1, h2, h3 {
+ font-family: Helvetica, sans-serif;
+ font-size: 12px;
+ margin: 0; padding: 0;
+ display: block;
+}
+
+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;
+}
+#contact {
+ float: right;
+}
+
+#contact > div {
+ display: inline-block;
+ margin-left: 5px;
+}
diff --git a/themes/compact/templates/pdf.html b/themes/compact/templates/pdf.html
new file mode 100644
index 0000000..7ebff8e
--- /dev/null
+++ b/themes/compact/templates/pdf.html
@@ -0,0 +1,149 @@
+
+
+
+
+ {{ r.basics.name }}
+
+
+
+
+
+
+
+
+{% if ( r.basics.summary && r.basics.summary.length ) { %}
+
+ {{ r.basics.summary|md }}
+
+{% } %}
+
+
+{% if ( r.skills && r.skills.length ) { %}
+
+
+
+
+
+ Skill |
+ Keywords |
+
+
+
+ {% r.skills.forEach( function( skill, idx, ar) { %}
+
+ {{ skill.name }} |
+ {% print( skill.keywords.join(', ') ) %} |
+
+ {% }); %}
+
+
+
+{% } %}
+
+
+
+{% if ( r.work && r.work.length ) { %}
+
+
+ {% r.work.forEach( function( proj, idx, ar) { %}
+ {{ proj.position }}, {{ proj.company }} {{ proj.startDate }} — {{ proj.endDate }}
+ {{ proj.summary|md }}
+ {% if( proj.highlights ) { %}
+
+ {% proj.highlights.forEach( function( high, idx, ar) { %}
+ - {{ high|md }}
+ {% }); %}
+
+ {% } %}
+ {% }); %}
+
+
+{% } %}
+
+
+
+{% if ( r.education && r.education.length ) { %}
+
+
+ {% r.education.forEach( function( edu, idx, ar) { %}
+ {{ edu.institution }} {{ edu.startDate }} — {{ edu.endDate }}
+ {{ edu.area|md }}
+ {% }); %}
+
+
+{% } %}
+
+{% if ( r.volunteer && r.volunteer.length ) { %}
+
+
+ {% r.volunteer.forEach( function( vol, idx, ar ) { %}
+ {{ vol.organization }} {{ vol.startDate }} — {{ vol.endDate }}
+ {{ vol.summary|md }}
+ {% if( vol.highlights ) { %}
+
+ {% vol.highlights.forEach( function( high, idx, ar) { %}
+ - {{ high|md }}
+ {% }); %}
+
+ {% } %}
+ {% }); %}
+
+
+{% } %}
+
+{% if( r.publications ) { %}
+
+
+
+ {% r.publications.forEach( function( pub, idx, ar) { %}
+
+ {% if( pub.website ) { %}
+ {{ pub.name }}, {{ pub.publisher }}
+ {% } else { %}
+ {{ pub.name }}, {{ pub.publisher }}
+ {% } %}
+
+ Published on: {{ pub.releaseDate }}
+
+ {{ pub.summary|md }}
+
+ {% }); %}
+
+{% } %}
+
+{% if( r.awards ) { %}
+
+
+
+ {% r.awards.forEach( function( award, idx, ar) { %}
+ {{ award.title }}, {{ award.awarder }}
+ {{ award.date }}
+ {{ award.summary|md }}
+ {% }); %}
+
+{% } %}
+
+
+
+
diff --git a/themes/compact/templates/txt.txt b/themes/compact/templates/txt.txt
new file mode 100644
index 0000000..922562f
--- /dev/null
+++ b/themes/compact/templates/txt.txt
@@ -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 }}
+{% }); } }); } %}