mirror of
https://github.com/JuanCanham/fresh-themes.git
synced 2025-07-06 10:11:05 +01:00
Compare commits
13 Commits
feature/ce
...
v0.16.0-be
Author | SHA1 | Date | |
---|---|---|---|
2c3763248d | |||
aca092f5d1 | |||
9e4cae697b | |||
f8e0cb24dd | |||
0fd6b593fa | |||
0d46a2d402 | |||
51c8451137 | |||
2b8e81d11c | |||
d975a8cc6b | |||
57e4f26d20 | |||
9a4a386901 | |||
a9989d94b6 | |||
21de6997a3 |
19
index.js
Normal file
19
index.js
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
Mount individual themes onto the module object for convenience.
|
||||
@module index.js
|
||||
@license MIT. See LICENSE.md for details.
|
||||
*/
|
||||
|
||||
(function(){
|
||||
|
||||
module.exports = {
|
||||
themes: {
|
||||
awesome: require('./themes/awesome/theme.json'),
|
||||
basis: require('./themes/basis/theme.json'),
|
||||
compact: require('./themes/compact/theme.json'),
|
||||
modern: require('./themes/modern/theme.json'),
|
||||
positive: require('./themes/positive/theme.json')
|
||||
}
|
||||
};
|
||||
|
||||
}());
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "fresh-themes",
|
||||
"version": "0.15.1-beta",
|
||||
"version": "0.16.0-beta",
|
||||
"description": "Multiformat themes and templates for your résumé / CV.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fluentdesk/fresh-themes.git"
|
||||
},
|
||||
"main": "README.md",
|
||||
"main": "index.js",
|
||||
"keywords": [
|
||||
"résumé",
|
||||
"resume",
|
||||
|
@ -1,3 +1,6 @@
|
||||
<header>
|
||||
<h2>{{#if _icon}}{{> (lookup . '_hdricon') }}{{/if}}{{{sectionTitle _title _section}}}</h2>
|
||||
{{#if _icon}}
|
||||
{{> (lookup . '_hdricon') }}
|
||||
{{/if}}
|
||||
<h2>{{{sectionTitle _title _section}}}</h2>
|
||||
</header>
|
||||
|
@ -1,5 +1,4 @@
|
||||
{{#if highlights}}
|
||||
<b>Highlights:</b>
|
||||
<ul>
|
||||
{{#each highlights}}
|
||||
<li>{{{ . }}}</li>
|
||||
|
@ -1,35 +0,0 @@
|
||||
{{#section "certifications"}}
|
||||
<hr>
|
||||
<section id="certifications">
|
||||
<div class="certifications">
|
||||
{{#> header-certifications }}
|
||||
{{> header-icon _title="CERTIFICATIONS" _section="certifications" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-certifications}}
|
||||
<center>
|
||||
{{#each r.certifications}}
|
||||
<span>
|
||||
{{#each certificates}}
|
||||
{{#if logo}}
|
||||
<img class="media-object logo"
|
||||
src="../images/{{logo}}"
|
||||
alt="{{name}}{{#level}} - {{.}}{{/level}}"
|
||||
title="{{name}}{{#level}} - {{.}}{{/level}}" />
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</span>
|
||||
{{/each}}
|
||||
</center>
|
||||
</div>
|
||||
<div class="certifications">
|
||||
<center>
|
||||
{{#each r.certifications}}
|
||||
{{#each certificates}}
|
||||
{{#unless logo}}
|
||||
| {{name}}{{#level}} - ({{.}}){{/level}} |
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
</center>
|
||||
</div>
|
||||
</section>
|
||||
{{/section}}
|
@ -12,7 +12,6 @@
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
{{#if curriculum}}<span class="keywords">{{#each curriculum}}{{{ . }}} {{/each}}</span>{{/if}}
|
||||
{{#if grade}} - <strong>{{grade}}</strong>{{/if}}
|
||||
</div>
|
||||
{{/body-education}}
|
||||
{{/each}}
|
||||
|
@ -7,6 +7,5 @@
|
||||
{{#> body-info }}
|
||||
{{{ r.info.brief }}}
|
||||
{{/body-info}}
|
||||
<img class="qr" src="../images/qr.png" />
|
||||
</section>
|
||||
{{/has}}
|
||||
|
@ -4,12 +4,15 @@
|
||||
{{#> header-interests }}
|
||||
{{> header-icon _title="INTERESTS" _section="interests" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-interests}}
|
||||
<center>
|
||||
{{#each r.interests}}
|
||||
{{#> body-interests }}
|
||||
| <em>{{{ name }}}</em> |
|
||||
<div>
|
||||
<h3><em>{{{ name }}}</em></h3>
|
||||
<span class="tenure">{{date date 'YYYY' }}</span>
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/body-interests}}
|
||||
{{/each}}
|
||||
</center>
|
||||
</section>
|
||||
{{/section}}
|
||||
|
@ -15,12 +15,7 @@
|
||||
{{#each r.skills.sets}}
|
||||
<tr>
|
||||
<td style="width: 25%;">{{ name }}</td>
|
||||
<td class="keywords">{{#each skills }}
|
||||
{{#name}}
|
||||
<span title="{{level}}{{#summary}} - {{summary}}{{/summary}}">{{ name }}</span>
|
||||
{{/name}}{{^name}}
|
||||
{{ . }}{{/name}}{{#unless @last}}, {{/unless}}{{/each}}
|
||||
</td>
|
||||
<td class="keywords">{{#each skills}}{{ . }} {{/each}}</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
|
@ -1,8 +0,0 @@
|
||||
{{#if projects}}
|
||||
<p class="projects">
|
||||
<b>Projects:</b>
|
||||
{{#each projects}}
|
||||
{{{ name }}}{{#if customer}}(<i>{{customer}}</i>){{/if}}{{#unless @last}}, {{/unless}}
|
||||
{{/each}}
|
||||
</p>
|
||||
{{/if}}
|
@ -52,7 +52,7 @@ fork of the original Awesome-CV for LaTeX.
|
||||
See the original project for license information.
|
||||
|
||||
[awe]: https://github.com/posquit0/Awesome-CV
|
||||
[hmr]: http://please.hackmyresume.com
|
||||
[hmr]: https://fluentdesk.com/hackmyresume
|
||||
[fre]: http://freshstandard.org
|
||||
[und]: http://underscorejs.org/#template
|
||||
[hb350]: https://github.com/wycats/handlebars.js/issues/350
|
||||
|
@ -71,7 +71,7 @@
|
||||
% To support LaTeX quoting style
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
% Needed to manage math fonts
|
||||
\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}
|
||||
\RequirePackage[math-style=TeX]{unicode-math}
|
||||
% Needed to use icons from font-awesome
|
||||
% (https://github.com/posquit0/latex-fontawesome)
|
||||
\RequirePackage{fontawesome}
|
||||
|
@ -52,7 +52,7 @@
|
||||
% Comment any of the lines below if they are not required
|
||||
%-------------------------------------------------------------------------------
|
||||
\name{[~ print(h.initialWords( r.name )) ~]}{[[ h.lastWord( r.name ) ]]}
|
||||
\position{[[ r.info.label ]]}
|
||||
[~ if (r.info.label) { ~]\position{[[ r.info.label ]]}[~ } ~]
|
||||
\address{[[ r.location.address ]]}
|
||||
|
||||
\mobile{[[ r.contact.phone ]]}
|
||||
|
32
themes/basis/helpers/sample-helpers.js
Normal file
32
themes/basis/helpers/sample-helpers.js
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
/**
|
||||
Sample helper definitions for HackMyResume's "basis" example theme.
|
||||
@license MIT. See LICENSE.md for details.
|
||||
@module themes/basis/helpers/sample-helpers
|
||||
*/
|
||||
|
||||
(function() {
|
||||
|
||||
// Block helper function definitions.
|
||||
var SampleHelpers = module.exports = {
|
||||
|
||||
// A sample helper that returns the supplied value.
|
||||
helperA: function(someVal, options) {
|
||||
return someVal;
|
||||
},
|
||||
|
||||
// Another sample helper that returns the supplied value.
|
||||
helperB: function(title, options) {
|
||||
return title;
|
||||
},
|
||||
|
||||
// A sample block helper
|
||||
helperC: function(lhs, rhs, options) {
|
||||
if (lhs || rhs) {
|
||||
return options.fn(this);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}).call(this);
|
@ -3,5 +3,6 @@
|
||||
"description": "A theme that is a basis for other themes.",
|
||||
"author": "hacksalot <hacksalot@indevious.com> (https://github.com/hacksalot)",
|
||||
"engine": "handlebars",
|
||||
"message": "This theme contains default unstyled formats that can be used by other themes or as a starting point for a custom theme."
|
||||
"message": "This theme contains default unstyled formats that can be used by other themes or as a starting point for a custom theme.",
|
||||
"helpers": ["helpers/*.js"]
|
||||
}
|
||||
|
@ -98,13 +98,3 @@ span.keywords {
|
||||
color: gray;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 55px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.certifications {
|
||||
align-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
<div id="contact">
|
||||
{{#has 'contact.email'}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has 'contact.phone'}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has 'contact.website'}}full resume: <div class="website"><a href="{{{ RAW.contact.website }}}">{{trimURL RAW.contact.website }}</a></div>{{/has}}
|
||||
{{#has 'contact.website'}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{trimURL RAW.contact.website }}</a></div>{{/has}}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
|
||||
-->}}
|
||||
|
||||
{{#*inline "icon-certifications"}}<span class="fa fs-lg fa-certificate"></span>{{/inline}}
|
||||
{{#*inline "icon-skills"}}<span class="fa fa-lg fa-code"></span>{{/inline}}
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-building"></span>{{/inline}}
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-star"></span>{{/inline}}
|
||||
@ -51,14 +50,10 @@
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
<p>{{{ summary }}}</p>
|
||||
{{#if keywords}}
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}}{{#unless @last}}, {{/unless}}{{/each}}</span>
|
||||
{{/if}}
|
||||
{{#if technologies}}
|
||||
<span class="keywords">{{#each technologies}}{{{ . }}}{{#unless @last}}, {{/unless}}{{/each}}</span>
|
||||
{{/if}}
|
||||
{{> highlights }}
|
||||
{{> work-projects }}
|
||||
{{#if keywords}}
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
@ -75,7 +70,7 @@
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
{{#if keywords}}
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}}{{#unless @last}}, {{/unless}}{{/each}}</span>
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/inline}}
|
||||
@ -88,7 +83,6 @@
|
||||
|
||||
{{#*inline "header-info"}}{{/inline}}
|
||||
{{> section/info }}
|
||||
{{> section/certifications _icon="icon-certifications"}}
|
||||
{{> section/skills _icon="icon-skills"}}
|
||||
{{> section/employment _icon="icon-employment"}}
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
@ -33,7 +33,7 @@ hr {
|
||||
|
||||
main {
|
||||
padding: 15px;
|
||||
max-width: 82%;
|
||||
max-width: 700px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@ -53,14 +53,6 @@ p, li {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.projects {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.tenure {
|
||||
float: right;
|
||||
}
|
||||
@ -99,19 +91,3 @@ h2 > span.fa {
|
||||
text-align: left;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 60px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.logos {
|
||||
align-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.qr {
|
||||
height: 55px;
|
||||
float: right;
|
||||
margin: 0px 0px 5px 0px;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
<div id="contact">
|
||||
{{#has 'contact.email'}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has 'contact.phone'}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has 'contact.website'}}<div class="website"> - full resume: <a href="{{{ RAW.contact.website }}}">{{trimURL RAW.contact.website }}</a></div>{{/has}}
|
||||
{{#has 'contact.website'}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{trimURL RAW.contact.website }}</a></div>{{/has}}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@ -23,7 +23,6 @@
|
||||
|
||||
-->}}
|
||||
|
||||
{{#*inline "icon-certifications"}}<span class="fa fs-lg fa-certificate"></span>{{/inline}}
|
||||
{{#*inline "icon-skills"}}<span class="fa fa-lg fa-code"></span>{{/inline}}
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-building"></span>{{/inline}}
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-star"></span>{{/inline}}
|
||||
@ -48,19 +47,11 @@
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if keywords}}
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}}{{#unless @last}}, {{/unless}}{{/each}}</span>
|
||||
{{/if}}
|
||||
{{#if technologies}}
|
||||
<span class="keywords">{{#each technologies}}{{{ . }}}{{#unless @last}}, {{/unless}}{{/each}}</span>
|
||||
{{/if}}
|
||||
{{#if description}}
|
||||
<p class="description">{{{ description }}}</p>
|
||||
{{else}}
|
||||
<p>{{{summary}}}</p>
|
||||
{{/if}}
|
||||
<p>{{> work-projects }}</p>
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
{{#if keywords}}
|
||||
<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
@ -90,12 +81,10 @@
|
||||
|
||||
{{#has "info.brief"}}
|
||||
<section id="summary">
|
||||
<img class="qr" src="../images/qr.png" />
|
||||
{{{ r.info.brief }}}
|
||||
</section>
|
||||
{{/has}}
|
||||
|
||||
{{> section/certifications _icon="icon-certifications"}}
|
||||
{{> section/skills _icon="icon-skills"}}
|
||||
{{> section/employment _icon="icon-employment"}}
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
@ -38,7 +38,7 @@
|
||||
</w:tcPr>
|
||||
<w:p wsp:rsidR="00427ECC" wsp:rsidRDefault="00427ECC" wsp:rsidP="00427ECC">
|
||||
<w:r>
|
||||
<w:t>{{#each skills }}{{#name}}{{ name }}{{/name}}{{^name}}{{ . }}{{/name}}{{#unless @last}}, {{/unless}}{{/each}}</w:t>
|
||||
<w:t>{{#each skills }}{{ this }}{{#unless @last}}, {{/unless}}{{/each}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</w:tc>
|
||||
|
@ -90,9 +90,9 @@
|
||||
engine settings, but ((#has 'contact.email')) never will.
|
||||
--> }}
|
||||
<div id="contact">
|
||||
{{#has r.contact.email}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has r.contact.phone}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has r.contact.website}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/has}}
|
||||
{{#has 'contact.email'}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has 'contact.phone'}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has 'contact.website'}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/has}}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
@ -90,9 +90,9 @@
|
||||
engine settings, but ((#has 'contact.email')) never will.
|
||||
--> }}
|
||||
<div id="contact">
|
||||
{{#has r.contact.email}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has r.contact.phone}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has r.contact.website}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/has}}
|
||||
{{#has 'contact.email'}}<div class="email"><a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/has}}
|
||||
{{#has 'contact.phone'}}<div class="phone">{{ RAW.contact.phone }}</div>{{/has}}
|
||||
{{#has 'contact.website'}}<div class="website"><a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/has}}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
@ -59,6 +59,30 @@
|
||||
<w:trPr>
|
||||
<w:trHeight w:val="882"/>
|
||||
</w:trPr>
|
||||
<w:tc>
|
||||
<w:tcPr>
|
||||
<w:tcW w:w="828" w:type="dxa"/>
|
||||
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
|
||||
</w:tcPr>
|
||||
<w:p wsp:rsidR="00427ECC" wsp:rsidRDefault="00427ECC" wsp:rsidP="00427ECC">
|
||||
<w:r>
|
||||
<w:rPr>
|
||||
<w:noProof/>
|
||||
</w:rPr>
|
||||
<w:pict>
|
||||
<v:rect id="_x0000_s1028" style="position:absolute;left:0;text-align:left;margin-left:20.6pt;margin-top:1.4pt;width:7.15pt;height:38.25pt;z-index:1" fillcolor="{{{skillColor level}}}" strokeweight="0"/>
|
||||
</w:pict>
|
||||
</w:r>
|
||||
<w:r>
|
||||
<w:rPr>
|
||||
<w:noProof/>
|
||||
</w:rPr>
|
||||
<w:pict>
|
||||
<v:rect id="_x0000_s1026" style="position:absolute;left:0;text-align:left;margin-left:20.6pt;margin-top:1.4pt;width:7.15pt;height:{{{skillHeight level}}}pt;z-index:2" fillcolor="#FFFFFF" strokeweight="0"/>
|
||||
</w:pict>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</w:tc>
|
||||
<w:tc>
|
||||
<w:tcPr>
|
||||
<w:tcW w:w="8748" w:type="dxa"/>
|
||||
|
Reference in New Issue
Block a user