Compare commits
57 Commits
featlancer
...
v0.17.0-be
Author | SHA1 | Date | |
---|---|---|---|
ceb9901669 | |||
3ed791b1f4 | |||
8ca82de33e | |||
f5fa665ea2 | |||
50846ab663 | |||
697519d70d | |||
ee0f694ccf | |||
4fcdf560fc | |||
3350494294 | |||
5e4f6e39c6 | |||
c0d6f8993a | |||
e7ff6c2554 | |||
20dbf8a13c | |||
99981dba83 | |||
7a69f534a2 | |||
c56b304987 | |||
7c2a9c6706 | |||
68e69a92a6 | |||
ac0b0a1cc6 | |||
32d977048f | |||
6b043d8046 | |||
85f9c0cc00 | |||
86e5f11976 | |||
cda5b7175e | |||
d1836c7606 | |||
2257b3bc7d | |||
128512b03d | |||
e876aca91c | |||
bd10ba9cd1 | |||
bf68b3fba1 | |||
4d4b467d2f | |||
514e44339b | |||
d2f00691ff | |||
05f7da40c0 | |||
a55c566bec | |||
7e3e74d5e9 | |||
2c3763248d | |||
aca092f5d1 | |||
9e4cae697b | |||
f8e0cb24dd | |||
5d5b691687 | |||
8f3f96c723 | |||
0fd6b593fa | |||
0d46a2d402 | |||
51c8451137 | |||
2b8e81d11c | |||
d975a8cc6b | |||
57e4f26d20 | |||
9a4a386901 | |||
8425808a32 | |||
5762fb3a44 | |||
978cedf716 | |||
a9989d94b6 | |||
21de6997a3 | |||
ab93217be3 | |||
f67df3e4fa | |||
01c7b0412b |
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
||||
# It is pitch black. You are likely to be eaten by a grue.
|
||||
informatic-new/
|
||||
assets/
|
||||
|
56
CHANGELOG.md
Normal file
@ -0,0 +1,56 @@
|
||||
CHANGELOG
|
||||
===
|
||||
|
||||
## v0.17.0-beta (2018-02-07)
|
||||
|
||||
*This interim release adds cosmetic and content improvements to the Positive,
|
||||
Modern, and Compact themes along with minor updates to the helpers-and-partials infrastructure for theme developers.*
|
||||
|
||||
### Theme: Positive
|
||||
|
||||
- Improved cosmetics.
|
||||
- Added EXTRACURRICULAR section.
|
||||
- Added `location` field (when present) on EMPLOYMENT, EDUCATION, & AFFILIATION
|
||||
sections.
|
||||
- Created [standalone version of Positive theme][1].
|
||||
- Roll up the REFERENCES section into a "references available upon request"
|
||||
message at the bottom of the resume.
|
||||
- Updated PDF format from HTML.
|
||||
|
||||
### Theme: Modern
|
||||
|
||||
- Improved cosmetics.
|
||||
- The SKILLS section now displays the number of years associated with each skill,
|
||||
since this is a common metric asked for by HR personnel and recruiters.
|
||||
- Added EXTRACURRICULAR section.
|
||||
- Updated PDF format from HTML.
|
||||
|
||||
### Theme: Compact
|
||||
|
||||
- Added EXTRACURRICULAR section.
|
||||
- Updated PDF format from HTML.
|
||||
|
||||
### Custom Themes
|
||||
|
||||
- Added reusable EXTRACURRICULAR partial (all formats).
|
||||
- Added two minor skill-related template helpers, `ifHasSkill` and `skillYears`.
|
||||
- HackMyResume: Fixed issue that would prevent custom FRESH themes from loading
|
||||
if the theme folder contained uppercase characters.
|
||||
- HackMyResume: Fixed issue that would prevent custom FRESH themes from loading
|
||||
if they inherited from a predefined theme but didn't themselves live in the
|
||||
`fresh-themes` repository.
|
||||
|
||||
### Other
|
||||
|
||||
- Introduced CHANGELOG.md (this file).
|
||||
- Changed release notes format. Instead of the conventional
|
||||
`Added / Changed / Fixed` structure, changes are grouped under each theme,
|
||||
making it easier to track theme-specific changes from release to release.
|
||||
|
||||
|
||||
## Previous Releases
|
||||
|
||||
See [/fresh-themes/releases][2] for previous releases.
|
||||
|
||||
[1]: https://github.com/fresh-standard/fresh-theme-positive
|
||||
[2]: https://github.com/fresh-standard/fresh-themes/releases
|
@ -1,7 +1,7 @@
|
||||
The MIT License
|
||||
===============
|
||||
|
||||
Copyright (c) 2016 hacksalot (https://github.com/hacksalot)
|
||||
Copyright (c) 2016-18 FRESH Standard (https://freshstandard.org)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
27
README.md
@ -22,8 +22,8 @@ Underscore, and in the future, other template engines such as Liquid.
|
||||
minimize the amount of duplication and boilerplate you have to wade through
|
||||
to design and/or build a modern, multiformat resume.
|
||||
|
||||
- **Open and unaffiliated**. Like the [FRESH/FRESCA schema][f] they're based on,
|
||||
FRESH themes have no commercial or corporate backing, basis, or bias.
|
||||
- **Open and unaffiliated**. Like the [FRESH/FRESCA schema][f] they're based
|
||||
on, FRESH themes have no commercial or corporate backing, basis, or bias.
|
||||
|
||||
## Use
|
||||
|
||||
@ -50,7 +50,8 @@ GitHub and NPM.
|
||||
- [modern][t-modern]: A middle of the road theme with a modern look 'n feel.
|
||||
- [compact][t-compact]: A visually dense/compact theme.
|
||||
- [awesome][t-awesome]: A technical resume theme based on [Awesome-CV][awe].
|
||||
- New themes weekly.
|
||||
- [basis][t-basis]: A starter theme used as a basis for other themes.
|
||||
- New themes forthcoming.
|
||||
|
||||
All FRESH themes in this repo are MIT licensed. You're free to change, modify,
|
||||
update, or improve them at will.
|
||||
@ -110,18 +111,16 @@ Contributions are encouraged.
|
||||
|
||||
MIT. See [LICENSE.md][1] for details.
|
||||
|
||||
[1]: http://fluentcv.com
|
||||
[2]: https://github.com/fluentdesk/fluentcv
|
||||
[3]: https://github.com/fluentdesk/fresh-themes/blob/master/LICENSE.md
|
||||
[f]: https://github.com/fluentdesk/FRESCA
|
||||
[h]: https://github.com/fluentdesk/fresh-themes/blob/dev/themes/modern/src/modern-html.html
|
||||
[d]: https://github.com/fluentdesk/fresh-themes/blob/dev/themes/modern/src/modern-doc.xml
|
||||
[1]: LICENSE.md
|
||||
[f]: https://github.com/fresh-standard/fresh-schema
|
||||
[h]: https://github.com/fresh-standard/fresh-themes/blob/dev/themes/modern/src/modern-html.html
|
||||
[d]: https://github.com/fresh-standard/fresh-themes/blob/dev/themes/modern/src/modern-doc.xml
|
||||
[jrs]: http://jsonresume.org
|
||||
[awe]: https://github.com/posquit0/Awesome-CV
|
||||
[t-awesome]: https://github.com/fluentdesk/fresh-themes/tree/master/themes/awesome
|
||||
[t-awesome]: https://github.com/fresh-standard/fresh-themes/tree/master/themes/awesome
|
||||
[t-underscore]: https://github.com/fluentdesk/fresh-themes-underscore
|
||||
[t-modern]: https://github.com/fluentdesk/fresh-themes/tree/master/themes/modern
|
||||
[t-hello]: https://github.com/fluentdesk/fresh-themes/tree/master/themes/hello-world
|
||||
[t-compact]: https://github.com/fluentdesk/fresh-themes/tree/master/themes/compact
|
||||
[t-positive]: https://github.com/fluentdesk/fresh-themes/tree/master/themes/positive
|
||||
[t-modern]: https://github.com/fresh-standard/fresh-themes/tree/master/themes/modern
|
||||
[t-compact]: https://github.com/fresh-standard/fresh-themes/tree/master/themes/compact
|
||||
[t-positive]: https://github.com/fresh-standard/fresh-themes/tree/master/themes/positive
|
||||
[t-basis]: https://github.com/fresh-standard/fresh-themes/tree/master/themes/basis
|
||||
[hmr]: https://github.com/hacksalot/hackmyresume
|
||||
|
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')
|
||||
}
|
||||
};
|
||||
|
||||
}());
|
17
package.json
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "fresh-themes",
|
||||
"version": "0.15.1-beta",
|
||||
"version": "0.17.0-beta",
|
||||
"description": "Multiformat themes and templates for your résumé / CV.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fluentdesk/fresh-themes.git"
|
||||
"url": "https://github.com/fresh-standard/fresh-themes.git"
|
||||
},
|
||||
"main": "README.md",
|
||||
"main": "index.js",
|
||||
"keywords": [
|
||||
"résumé",
|
||||
"resume",
|
||||
@ -28,15 +28,18 @@
|
||||
],
|
||||
"author": "hacksalot <hacksalot@indevious.com> (https://github.com/hacksalot)",
|
||||
"contributors": [
|
||||
"hacksalot <hacksalot@indevious.com> (https://github.com/hacksalot)",
|
||||
"Brett Hardin (https://github.com/bhardin)",
|
||||
"hareekum (https://github.com/hareekum)",
|
||||
"Jonathon Lui (https://jonathanlui.com)",
|
||||
"Evan Plaice <evanplaice@gmail.com> (https://github.com/evanplaice)",
|
||||
"Ya Zhuang (https://github.com/zhuangya)",
|
||||
"hacksalot <hacksalot@indevious.com> (https://github.com/hacksalot)"
|
||||
"Jonathan Wolfe (https://github.com/JonathanWolfe)",
|
||||
"Ya Zhuang (https://github.com/zhuangya)"
|
||||
],
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/fluentdesk/fresh-themes/issues"
|
||||
"url": "https://github.com/fresh-standard/fresh-themes/issues"
|
||||
},
|
||||
"homepage": "https://github.com/fluentdesk/fresh-themes",
|
||||
"homepage": "https://github.com/fresh-standard/fresh-themes",
|
||||
"dependencies": { }
|
||||
}
|
||||
|
16
partials/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
/partials/
|
||||
===
|
||||
*Global reusable partials for FRESH themes.*
|
||||
|
||||
This folder contains generic reusable templates for FRESH resume assembly. These
|
||||
are provided on a per-format basis (one set of partials for DOC, one set of
|
||||
partials for HTML, etc.) and can be invoked from any theme that needs them.
|
||||
|
||||
- [/doc](/doc): Partials for MS Word (\*.doc) formats.
|
||||
- [/html](/html): Partials for HTML (\*.html) formats.
|
||||
- [/md](/md): Partials for Markdown (\*.md) formats.
|
||||
- [/txt](/txt): Partials for text (\*.txt) formats.
|
||||
|
||||
Note that not every FRESH theme uses partials, and not every FRESH theme that
|
||||
uses partials will use these predefined partials. FRESH themes may define their
|
||||
own custom partials or forgo the idea of using partials altogether.
|
71
partials/doc/section/extracurricular.hbs
Normal file
@ -0,0 +1,71 @@
|
||||
<wx:sub-section>
|
||||
|
||||
{{#> header-extracurricular }}
|
||||
{{> header-simple _title="EXTRACURRICULAR" _section="extracurricular" }}
|
||||
{{/header-extracurricular}}
|
||||
|
||||
{{#each r.extracurricular}}
|
||||
|
||||
<wx:sub-section>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00606071" wsp:rsidP="00E578D4">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Heading2"/>
|
||||
<w:tabs>
|
||||
<w:tab w:val="right" w:pos="9360"/>
|
||||
</w:tabs>
|
||||
</w:pPr>
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>{{ title }}, </w:t>
|
||||
</w:r>
|
||||
{{#if url}}<w:hlink w:dest="{{{ url }}}">{{/if}}
|
||||
<w:r wsp:rsidR="009452CA" wsp:rsidRPr="00606071">
|
||||
{{#if url}}
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
</w:rPr>
|
||||
{{/if}}
|
||||
<w:t>{{ activity }}</w:t>
|
||||
</w:r>
|
||||
{{#if url}}</w:hlink>{{/if}}
|
||||
<w:r wsp:rsidR="00EA0B64">
|
||||
<w:tab/>
|
||||
</w:r>
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="FromTo"/>
|
||||
</w:rPr>
|
||||
<w:t>{{dateRange . 'MMM YYYY'}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
{{{wpml summary true}}}
|
||||
</w:p>
|
||||
|
||||
{{#each highlights }}
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRDefault="009452CA" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="ListParagraph"/>
|
||||
<w:listPr>
|
||||
<w:ilvl w:val="0"/>
|
||||
<w:ilfo w:val="1"/>
|
||||
<wx:t wx:val="•"/>
|
||||
<wx:font wx:val="Calibri"/>
|
||||
</w:listPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
{{{wpml this true}}}
|
||||
</w:p>
|
||||
{{/each}}
|
||||
|
||||
</wx:sub-section>
|
||||
|
||||
{{/each}}
|
||||
|
||||
</wx:sub-section>
|
@ -15,6 +15,7 @@
|
||||
{{ employer }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="location">{{location}}</span>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
|
27
partials/html/section/extracurricular.hbs
Normal file
@ -0,0 +1,27 @@
|
||||
{{#section "extracurricular"}}
|
||||
<hr>
|
||||
<section id="extracurricular">
|
||||
{{#> header-extracurricular }}
|
||||
{{> header-icon _title="EXTRACURRICULAR" _section="extracurricular" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-extracurricular}}
|
||||
|
||||
{{#each r.extracurricular}}
|
||||
{{#> body-extracurricular }}
|
||||
<div>
|
||||
<h3><em>{{ title }}</em>,
|
||||
{{#if url }}
|
||||
<a href="{{{ url }}}">{{ activity }}</a>
|
||||
{{else}}
|
||||
{{ activity }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if location}}<span class="location">{{location}}</span>{{/if}}
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
{{#if keywords}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>{{/if}}
|
||||
</div>
|
||||
{{/body-extracurricular}}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
@ -8,7 +8,8 @@
|
||||
{{#> body-writing }}
|
||||
<div>
|
||||
<h3><em>{{#if url}}<a href="{{{ url }}}">{{{ title }}}</a>{{else}}{{{ title }}}{{/if}}</em>,
|
||||
{{ publisher.name }}</h3>
|
||||
|
||||
{{stringOrObject publisher "name" }}</h3>
|
||||
<span class="tenure">{{date date 'YYYY'}}</span>
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
|
14
partials/md/section/extracurricular.hbs
Normal file
@ -0,0 +1,14 @@
|
||||
{{#section "extracurricular"}}
|
||||
## {{{sectionTitle "EXTRACURRICULAR"}}}
|
||||
|
||||
{{#each r.extracurricular }}
|
||||
### {{{ title }}}, {{{ activity }}} ({{dateRange .}})
|
||||
{{{ summary }}}
|
||||
{{#if highlights}}
|
||||
{{#each highlights}}
|
||||
- {{{ this }}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{/each}}
|
||||
{{/section}}
|
@ -6,10 +6,9 @@
|
||||
|
||||
{{{ summary }}}
|
||||
{{#if highlights}}
|
||||
|
||||
{{#each highlights}}
|
||||
- {{{ this }}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{/each}}{{/if}}
|
||||
{{/each}}
|
||||
{{/section}}
|
||||
|
@ -1,13 +1,8 @@
|
||||
{{#section 'writing'}}
|
||||
## WRITING
|
||||
## {{{sectionTitle "WRITING"}}}
|
||||
|
||||
{{#each r.writing}}
|
||||
{{#if url}}
|
||||
### [{{{ title }}}]({{{ url }}}) ({{date date}})
|
||||
{{else}}
|
||||
### {{{ title }}} ({{date date}})
|
||||
{{/if}}
|
||||
|
||||
### ***{{linkMD title url}}*** ({{#if publisher}}{{stringOrObject publisher "name"}}, {{/if}}{{date date}})
|
||||
{{{ summary }}}
|
||||
|
||||
{{/each}}
|
||||
|
15
partials/txt/section/extracurricular.hbs
Normal file
@ -0,0 +1,15 @@
|
||||
{{#section "extracurricular"}}
|
||||
{{{sectionTitle "EXTRACURRICULAR"}}} ----------------------------------------------------------------
|
||||
|
||||
{{#each r.extracurricular }}
|
||||
{{{ title }}}, {{{ activity }}} ({{dateRange .}})
|
||||
{{#if summary}}{{{ summary }}}
|
||||
{{/if}}
|
||||
{{#if highlights}}
|
||||
{{#each highlights}}
|
||||
- {{{ this }}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{/each}}
|
||||
{{/section}}
|
@ -3,15 +3,13 @@
|
||||
|
||||
{{#each r.governance }}
|
||||
{{#if role}}{{{ role }}}, {{/if}}{{{ organization }}}{{#has 'start'}} ({{dateRange .}}){{/has}}
|
||||
{{~#if summary}}
|
||||
|
||||
{{{ summary }}}{{/if}}
|
||||
|
||||
{{~#if highlights}}
|
||||
|
||||
{{#if summary}}{{{ summary }}}
|
||||
{{/if}}
|
||||
{{#if highlights}}
|
||||
{{#each highlights}}
|
||||
- {{{ this }}}
|
||||
{{/each}}{{/if}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{/each}}
|
||||
{{/section}}
|
||||
|
@ -1 +1,4 @@
|
||||
{{#has 'info.brief' }}{{{ r.info.brief }}}{{/has}}
|
||||
{{#has 'info.brief' }}
|
||||
{{{ r.info.brief }}}
|
||||
|
||||
{{/has}}
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
{{#each r.samples }}
|
||||
{{{ title }}} ({{date date}})
|
||||
|
||||
{{{ summary }}}
|
||||
{{#if highlights}}
|
||||
{{#each highlights}}
|
||||
|
@ -4,4 +4,5 @@
|
||||
{{#each r.skills.sets}}
|
||||
- {{{ name }}}: {{#each skills}}{{{ . }}} {{/each}}
|
||||
{{/each}}
|
||||
|
||||
{{/section}}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{{{sectionTitle "WRITING"}}} ------------------------------------------------------------------------
|
||||
|
||||
{{#each r.writing}}
|
||||
{{{ title }}}{{#if date}} ({{date date}}){{/if}}
|
||||
{{{ title }}} ({{#if publisher}}{{stringOrObject publisher "name" }}{{/if}}{{#if date}}, {{date date}}{{/if}})
|
||||
{{#if summary}}{{{ summary }}}
|
||||
{{/if}}
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
/themes/
|
||||
========
|
||||
FRESH resume themes live here, one per folder.
|
||||
Predefined FRESH resume themes live here, one per folder.
|
||||
|
||||
- [`modern`](modern): A middle of the road theme with a modern look and feel.
|
||||
- [`basis`](basis): A theme that is a basis for other themes.
|
||||
- [`compact`](compact): A compact theme.
|
||||
- [`positive`](positive): A theme that partakes of that which is positive.
|
||||
- [`awesome`][awesome]: A LaTeX theme based on Awesome-CV.
|
||||
- [`modern-lancer`](modern-lancer): A theme based on modern with some tweaks for freelancers.
|
||||
- [`awesome`](awesome): A LaTeX theme based on Awesome-CV.
|
||||
|
@ -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 ]]}
|
||||
@ -90,6 +90,7 @@
|
||||
\input{cv/education.tex}
|
||||
\input{cv/skills.tex}
|
||||
\input{cv/experience.tex}
|
||||
\input{cv/service.tex}
|
||||
\input{cv/extracurricular.tex}
|
||||
\input{cv/honors.tex}
|
||||
\input{cv/presentation.tex}
|
||||
|
28
themes/awesome/src/latex/examples/cv/service.tex
Normal file
@ -0,0 +1,28 @@
|
||||
[~ if (r.service && r.service.history && r.service.history.length ) { ~]
|
||||
%-------------------------------------------------------------------------------
|
||||
% SECTION TITLE
|
||||
%-------------------------------------------------------------------------------
|
||||
\cvsection{Service}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% CONTENT
|
||||
%-------------------------------------------------------------------------------
|
||||
\begin{cventries}
|
||||
[~ _.each( r.service.history, function(job) { ~]
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{[[ job.position ]]} % Job title
|
||||
{[[ job.organization ]]} % Organization
|
||||
{[[ job.location ]]} % Location
|
||||
{[[ h.dateRange( job ) ]]} % Date(s)
|
||||
{[~ if (job.highlights && job.highlights.length ) { ~]
|
||||
\begin{cvitems} % Description(s) of tasks/responsibilities
|
||||
[[ h.pad( job.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
|
||||
\end{cvitems}
|
||||
[~ } ~]}
|
||||
|
||||
[~ }); ~]
|
||||
%---------------------------------------------------------
|
||||
\end{cventries}
|
||||
[~ } ~]
|
@ -12,15 +12,15 @@
|
||||
[~ _.each( r.writing, function(wri) { ~]
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{[~ print( wri.publisher ? wri.publisher.name : 'Unknown' ) ~]} % Role
|
||||
{[~ if (_.isString(wri.publisher)) { ~]
|
||||
[[ wri.publisher]]
|
||||
[~ } else { ~]
|
||||
print( wri.publisher ? wri.publisher.name : 'Unknown' )
|
||||
[~ } ~]} % Publisher
|
||||
{[[ wri.title ]]} % Title
|
||||
{[[ wri.url ]]} % Location
|
||||
{[[ wri.url ]]} % URL
|
||||
{[[ h.date(wri.date) ]]} % Date(s)
|
||||
{[~ if (wri.highlights && wri.highlights.length) { ~]
|
||||
\begin{cvitems} % Description(s)
|
||||
[~ print( h.pad( wri.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ) ~]
|
||||
\end{cvitems}
|
||||
[~ } ~]}
|
||||
{[[ wri.summary ]]} % Summary
|
||||
|
||||
[~ }); ~]
|
||||
%---------------------------------------------------------
|
||||
|
@ -90,6 +90,7 @@
|
||||
% \input{resume/summary.tex}
|
||||
\input{resume/education.tex}
|
||||
\input{resume/experience.tex}
|
||||
\input{resume/service.tex}
|
||||
\input{resume/extracurricular.tex}
|
||||
\input{resume/honors.tex}
|
||||
\input{resume/presentation.tex}
|
||||
|
28
themes/awesome/src/latex/examples/resume/service.tex
Normal file
@ -0,0 +1,28 @@
|
||||
[~ if (r.service && r.service.history && r.service.history.length ) { ~]
|
||||
%-------------------------------------------------------------------------------
|
||||
% SECTION TITLE
|
||||
%-------------------------------------------------------------------------------
|
||||
\cvsection{Service}
|
||||
|
||||
|
||||
%-------------------------------------------------------------------------------
|
||||
% CONTENT
|
||||
%-------------------------------------------------------------------------------
|
||||
\begin{cventries}
|
||||
[~ _.each( r.service.history, function(job) { ~]
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{[[ job.position ]]} % Job title
|
||||
{[[ job.organization ]]} % Organization
|
||||
{[[ job.location ]]} % Location
|
||||
{[[ h.dateRange( job ) ]]} % Date(s)
|
||||
{[~ if (job.highlights && job.highlights.length ) { ~]
|
||||
\begin{cvitems} % Description(s) of tasks/responsibilities
|
||||
[[ h.pad( job.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
|
||||
\end{cvitems}
|
||||
[~ } ~]}
|
||||
|
||||
[~ }); ~]
|
||||
%---------------------------------------------------------
|
||||
\end{cventries}
|
||||
[~ } ~]
|
@ -12,15 +12,15 @@
|
||||
[~ _.each( r.writing, function(wri) { ~]
|
||||
%---------------------------------------------------------
|
||||
\cventry
|
||||
{[~ print( wri.publisher ? wri.publisher.name : 'Unknown' ) ~]} % Role
|
||||
{[~ if (_.isString(wri.publisher)) { ~]
|
||||
[[ wri.publisher]]
|
||||
[~ } else { ~]
|
||||
print( wri.publisher ? wri.publisher.name : 'Unknown' )
|
||||
[~ } ~]} % Publisher
|
||||
{[[ wri.title ]]} % Title
|
||||
{[[ wri.url ]]} % Location
|
||||
{[[ wri.url ]]} % URL
|
||||
{[[ h.date(wri.date) ]]} % Date(s)
|
||||
{[~ if (wri.highlights && wri.highlights.length) { ~]
|
||||
\begin{cvitems} % Description(s)
|
||||
[~ print( h.pad( wri.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ) ~]
|
||||
\end{cvitems}
|
||||
[~ } ~]}
|
||||
{[[ wri.summary ]]} % Summary
|
||||
|
||||
[~ }); ~]
|
||||
%---------------------------------------------------------
|
||||
|
@ -28,6 +28,7 @@
|
||||
"src/latex/examples/cv/committees.tex",
|
||||
"src/latex/examples/cv/education.tex",
|
||||
"src/latex/examples/cv/experience.tex",
|
||||
"src/latex/examples/cv/service.tex",
|
||||
"src/latex/examples/cv/extracurricular.tex",
|
||||
"src/latex/examples/cv/honors.tex",
|
||||
"src/latex/examples/cv/presentation.tex",
|
||||
|
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);
|
@ -47,6 +47,8 @@
|
||||
|
||||
{{> section/service }}
|
||||
|
||||
{{> section/extracurricular }}
|
||||
|
||||
{{> section/samples }}
|
||||
|
||||
{{> section/writing }}
|
||||
|
@ -28,6 +28,8 @@
|
||||
|
||||
{{> section/recognition }}
|
||||
|
||||
{{> section/extracurricular }}
|
||||
|
||||
{{> section/speaking }}
|
||||
|
||||
{{> section/references }}
|
||||
|
@ -47,6 +47,8 @@
|
||||
|
||||
{{> section/service }}
|
||||
|
||||
{{> section/extracurricular }}
|
||||
|
||||
{{> section/samples }}
|
||||
|
||||
{{> section/writing }}
|
||||
|
@ -4,6 +4,7 @@
|
||||
{{#has 'contact.website' }}Web: {{{ r.contact.website }}}{{/has}}
|
||||
================================================================================
|
||||
|
||||
|
||||
{{> section/info }}
|
||||
|
||||
{{> section/skills }}
|
||||
@ -28,6 +29,8 @@
|
||||
|
||||
{{> section/recognition }}
|
||||
|
||||
{{> section/extracurricular }}
|
||||
|
||||
{{> section/references }}
|
||||
|
||||
{{> section/interests }}
|
||||
|
@ -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"]
|
||||
}
|
||||
|
@ -67,6 +67,7 @@
|
||||
{{#section "affiliation"}}{{> section/affiliation }}{{/section}}
|
||||
{{#section "education"}}{{> section/education }}{{/section}}
|
||||
{{#section "service"}}{{> section/service }}{{/section}}
|
||||
{{#section "extracurricular"}}{{> section/extracurricular }}{{/section}}
|
||||
{{#section "writing"}}{{> section/writing }}{{/section}}
|
||||
{{#section "speaking"}}{{> section/speaking }}{{/section}}
|
||||
{{#section "reading"}}{{> section/reading }}{{/section}}
|
||||
|
@ -28,6 +28,7 @@
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-star"></span>{{/inline}}
|
||||
{{#*inline "icon-governance"}}<span class="fa fa-balance-scale"></span>{{/inline}}
|
||||
{{#*inline "icon-education"}}<span class="fa fa-mortar-board"></span>{{/inline}}
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-service"}}<span class="fa fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-share"></span>{{/inline}}
|
||||
@ -89,6 +90,7 @@
|
||||
{{> section/governance _icon="icon-governance"}}
|
||||
{{> section/education _icon="icon-education"}}
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/extracurricular _icon="icon-extracurricular"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
|
@ -26,16 +26,19 @@
|
||||
{{#*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}}
|
||||
{{#*inline "icon-governance"}}<span class="fa fa-balance-scale"></span>{{/inline}}
|
||||
{{#*inline "icon-education"}}<span class="fa fa-mortar-board"></span>{{/inline}}
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-service"}}<span class="fa fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-share"></span>{{/inline}}
|
||||
{{#*inline "icon-writing"}}<span class="fa fa-pencil"></span>{{/inline}}
|
||||
{{#*inline "icon-reading"}}<span class="fa fa-book"></span>{{/inline}}
|
||||
{{#*inline "icon-recognition"}}<span class="fa fa-trophy"></span>{{/inline}}
|
||||
{{#*inline "icon-speaking"}}<span class="fa fa-users"></span>{{/inline}}
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-quote-right"></span>{{/inline}}
|
||||
{{#*inline "icon-references"}}<span class="fa fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{#*inline "icon-interests"}}<span class="fa fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{#*inline "icon-interests"}}<span class="fa fa-bicycle"></span>{{/inline}}
|
||||
|
||||
{{#*inline "body-employment" }}
|
||||
<div>
|
||||
@ -79,17 +82,16 @@
|
||||
|
||||
-->}}
|
||||
|
||||
{{#has "info.brief"}}
|
||||
<section id="summary">
|
||||
{{{ r.info.brief }}}
|
||||
</section>
|
||||
{{/has}}
|
||||
|
||||
{{#*inline "header-info"}}{{/inline}}
|
||||
{{> section/info }}
|
||||
{{> section/skills _icon="icon-skills"}}
|
||||
{{> section/employment _icon="icon-employment"}}
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
{{> section/governance _icon="icon-governance"}}
|
||||
{{> section/education _icon="icon-education"}}
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/extracurricular _icon="icon-extracurricular"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
{{> section/reading _icon="icon-reading"}}
|
||||
|
@ -1,39 +0,0 @@
|
||||
Theme: Modern-Lancer
|
||||
===============
|
||||
A contemporary technical résumé theme with tweaks for freelancers. Features colored progress bars
|
||||
representing skill levels and Font Awesome icons for section headers.
|
||||
Adds a picture and projects to the standard modern theme.
|
||||
Also adds social info to contact data for Github/Bitbucket and the like, puts an image to the right,
|
||||
renames the employment section to work, adds a section for languages and extracurricular.
|
||||
|
||||

|
||||
|
||||
## Use
|
||||
|
||||
Note: In order to display colored progress bars as in the below image, your resume should include a `level` annotation for each skill:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "JavaScript",
|
||||
"level": "master",
|
||||
"skills": [
|
||||
"Node.js", "Angular.js", "jQuery", "Bootstrap", "React.js", "Backbone.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Database",
|
||||
"level": "intermediate",
|
||||
"skills": [
|
||||
"MySQL", "PostgreSQL", "NoSQL", "ORM", "Hibernate"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Valid values for `level` are `master`, `advanced`, `intermediate`, `beginner`,
|
||||
or a number between 1 and 10.
|
||||
|
||||
## License
|
||||
|
||||
MIT. See [LICENSE.md][lic] for details.
|
||||
|
||||
[lic]: https://github.com/fluentdesk/fresh-themes/blob/master/LICENSE.md
|
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 761 B |
Before Width: | Height: | Size: 489 B |
Before Width: | Height: | Size: 640 B |
Before Width: | Height: | Size: 845 B |
Before Width: | Height: | Size: 512 B |
Before Width: | Height: | Size: 594 B |
Before Width: | Height: | Size: 706 B |
@ -1,525 +0,0 @@
|
||||
{{! <!--
|
||||
|
||||
Welcome to the annotated DOC template of the MODERN theme. This is the
|
||||
template used to generate the output DOC (MS Word) format of your resume when
|
||||
you choose the "modern" theme in HackMyResume or FluentCV.
|
||||
|
||||
These comments will be stripped when the resume is generated.
|
||||
|
||||
FRESH themes are just plain text documents with a bit of template magic
|
||||
built in via Handlebars or Underscore (in this case, Handlebars). Here we're
|
||||
buildng a DOC version of the theme, so we'll create an otherwise normal .DOC
|
||||
document in Word XML 2003 format with WordProcessingML (an XML dialect), then
|
||||
inject data into it using special tags. Where does the data come from? From
|
||||
our FRESH or JSON Resume-format resume, represented in this template through
|
||||
the "r" and "RAW" objects.
|
||||
|
||||
r.some-propery
|
||||
r.some-method
|
||||
RAW.some-other-propery
|
||||
|
||||
So let's begin with a standard <xml> tag and WordProcessingML prelude.
|
||||
|
||||
--> }}
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?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:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/>
|
||||
|
||||
{{!<!--
|
||||
|
||||
An MS Word document consists of a series of optional and required sections
|
||||
for things like document properties, font information, and document styles.
|
||||
FRESH provides predefined partials for all of these that you can use, or
|
||||
you can always create your own custom markup. Here, we'll go ahead and pull
|
||||
in predefined versions for these Word 2003 XML sections:
|
||||
|
||||
<o:DocumentProperties>
|
||||
<w:fonts>
|
||||
<w:lists>
|
||||
|
||||
To do that, we'll use the Handlebars partial syntax and pull in the
|
||||
sections one after the other.
|
||||
|
||||
-->}}
|
||||
|
||||
{{> doc-properties }}
|
||||
{{> doc-fonts }}
|
||||
{{> doc-lists }}
|
||||
|
||||
{{!<!--
|
||||
|
||||
The <styles> section contains named style definitions for the Word document.
|
||||
Here we can adjust fonts, paragraph settings, and make other stylistic
|
||||
changes specific to the Word format of this resume. There's also a prebuilt
|
||||
section partial we could use here (section/doc-styles) but that would make
|
||||
it difficult to edit invidual styles.
|
||||
|
||||
-->}}
|
||||
|
||||
<w:styles>
|
||||
<w:style w:type="paragraph" w:default="on" w:styleId="Normal">
|
||||
<w:name w:val="Normal"/>
|
||||
<w:rsid w:val="002743C8"/>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="{{{fontFace 'default' 'Calibri'}}}" w:h-ansi="{{{fontFace 'default' 'Calibri'}}}"/>
|
||||
<wx:font wx:val="{{{fontFace 'default' 'Calibri'}}}"/>
|
||||
<w:sz-cs w:val="24"/>
|
||||
<w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/>
|
||||
</w:rPr>
|
||||
<w:pPr>
|
||||
<w:jc w:val="both"/>
|
||||
</w:pPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading1">
|
||||
<w:name w:val="heading 1"/>
|
||||
<wx:uiName wx:val="Heading 1"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:link w:val="Heading1Char"/>
|
||||
<w:rsid w:val="00505903"/>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="100" w:before-autospacing="on"/>
|
||||
<w:outlineLvl w:val="0"/>
|
||||
<w:pBdr>
|
||||
<w:top w:val="single" w:sz="6" w:space="1" w:color="#EEEEEE" />
|
||||
</w:pBdr>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="{{{fontFace 'heading1' 'Calibri'}}}"/>
|
||||
<w:rFonts w:ascii="{{{fontFace 'heading1' 'Calibri'}}}" w:h-ansi="{{{fontFace 'heading1' 'Calibri'}}}"/>
|
||||
<w:color w:val="AEAAAA"/>
|
||||
<w:kern w:val="36"/>
|
||||
<w:sz w:val="40"/>
|
||||
<w:sz-cs w:val="40"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading2">
|
||||
<w:name w:val="heading 2"/>
|
||||
<wx:uiName wx:val="Heading 2"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:link w:val="Heading2Char"/>
|
||||
<w:rsid w:val="00505903"/>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="600"/>
|
||||
<w:outlineLvl w:val="1"/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<w:color w:val="595959"/>
|
||||
<wx:font wx:val="{{{fontFace 'heading2' 'Calibri'}}}"/>
|
||||
<w:rFonts w:ascii="{{{fontFace 'heading2' 'Calibri'}}}" w:h-ansi="{{{fontFace 'heading2' 'Calibri'}}}"/>
|
||||
<w:b/>
|
||||
<w:b-cs/>
|
||||
<!-- <w:caps/> -->
|
||||
<w:sz-cs w:val="28"/>
|
||||
<w:sz w:val="28"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading3">
|
||||
<w:name w:val="heading 3"/>
|
||||
<wx:uiName wx:val="Heading 3"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:link w:val="Heading3Char"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="240" w:after="100" w:after-autospacing="on"/>
|
||||
<w:outlineLvl w:val="2"/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="Calibri"/>
|
||||
<w:b/>
|
||||
<w:b-cs/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="FromTo">
|
||||
<w:name w:val="FromTo"/>
|
||||
<w:rsid w:val="004E2103"/>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="Calibri" w:h-ansi="Calibri"/>
|
||||
<w:b w:val="off"/>
|
||||
<w:b-cs/>
|
||||
<w:color w:val="AEAAAA"/>
|
||||
<w:sz w:val="28"/>
|
||||
<w:sz-cs w:val="28"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont">
|
||||
<w:name w:val="Default Paragraph Font"/>
|
||||
</w:style>
|
||||
<w:style w:type="table" w:default="on" w:styleId="TableNormal">
|
||||
<w:name w:val="Normal Table"/>
|
||||
<wx:uiName wx:val="Table Normal"/>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="Times New Roman"/>
|
||||
<w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/>
|
||||
</w:rPr>
|
||||
<w:tblPr>
|
||||
<w:tblInd w:w="0" w:type="dxa"/>
|
||||
<w:tblCellMar>
|
||||
<w:top w:w="0" w:type="dxa"/>
|
||||
<w:left w:w="108" w:type="dxa"/>
|
||||
<w:bottom w:w="0" w:type="dxa"/>
|
||||
<w:right w:w="108" w:type="dxa"/>
|
||||
</w:tblCellMar>
|
||||
</w:tblPr>
|
||||
</w:style>
|
||||
<w:style w:type="list" w:default="on" w:styleId="NoList">
|
||||
<w:name w:val="No List"/>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Hyperlink">
|
||||
<w:name w:val="Hyperlink"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:rPr>
|
||||
<w:strike w:val="off"/>
|
||||
<w:dstrike w:val="off"/>
|
||||
<w:color w:val="2F5496"/>
|
||||
<w:u w:val="none"/>
|
||||
<w:effect w:val="none"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="FollowedHyperlink">
|
||||
<w:name w:val="FollowedHyperlink"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:rPr>
|
||||
<w:strike w:val="off"/>
|
||||
<w:dstrike w:val="off"/>
|
||||
<w:color w:val="7B0796"/>
|
||||
<w:u w:val="none"/>
|
||||
<w:effect w:val="none"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Heading2Char">
|
||||
<w:name w:val="Heading 2 Char"/>
|
||||
<w:link w:val="Heading2"/>
|
||||
<w:rsid w:val="00505903"/>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="{{{fontFace 'heading2' 'Calibri'}}}"/>
|
||||
<w:rFonts w:ascii="{{{fontFace 'heading2' 'Calibri'}}}" w:h-ansi="{{{fontFace 'heading2' 'Calibri'}}}"/>
|
||||
<w:b/>
|
||||
<w:b-cs/>
|
||||
<!-- <w:caps/> -->
|
||||
<w:sz-cs w:val="28"/>
|
||||
<w:sz w:val="28"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Heading3Char">
|
||||
<w:name w:val="Heading 3 Char"/>
|
||||
<w:link w:val="Heading3"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="{{{fontFace 'heading3' 'Calibri'}}}" w:h-ansi="{{{fontFace 'heading3' 'Calibri'}}}"/>
|
||||
<w:color w:val="1F4D78"/>
|
||||
<w:sz w:val="28"/>
|
||||
<w:sz-cs w:val="28"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="NormalWeb">
|
||||
<w:name w:val="Normal (Web)"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"/>
|
||||
<w:jc w:val="both"/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="Calibri"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Heading1Char">
|
||||
<w:name w:val="Heading 1 Char"/>
|
||||
<w:link w:val="Heading1"/>
|
||||
<w:rsid w:val="00505903"/>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="{{{fontFace 'heading1' 'Calibri'}}}"/>
|
||||
<w:rFonts w:ascii="{{{fontFace 'heading1' 'Calibri'}}}" w:h-ansi="{{{fontFace 'heading1' 'Calibri'}}}"/>
|
||||
<w:color w:val="AEAAAA"/>
|
||||
<w:kern w:val="36"/>
|
||||
<w:sz w:val="40"/>
|
||||
<w:sz-cs w:val="40"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Strong">
|
||||
<w:name w:val="Strong"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:rPr>
|
||||
<w:b/>
|
||||
<w:b-cs/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="Emphasis">
|
||||
<w:name w:val="Emphasis"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
<w:rPr>
|
||||
<w:i/>
|
||||
<w:i-cs/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="tenure">
|
||||
<w:name w:val="tenure"/>
|
||||
<w:basedOn w:val="DefaultParagraphFont"/>
|
||||
<w:rsid w:val="001B7422"/>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Title">
|
||||
<w:name w:val="Title"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:next w:val="Normal"/>
|
||||
<w:link w:val="TitleChar"/>
|
||||
<w:rsid w:val="002D3B7B"/>
|
||||
<w:pPr>
|
||||
<w:contextualSpacing/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="Segoe UI" w:h-ansi="Segoe UI"/>
|
||||
<wx:font wx:val="Segoe UI"/>
|
||||
<w:b/>
|
||||
<w:spacing w:val="-10"/>
|
||||
<w:kern w:val="28"/>
|
||||
<w:sz w:val="48"/>
|
||||
<w:sz-cs w:val="56"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="TitleChar">
|
||||
<w:name w:val="Title Char"/>
|
||||
<w:link w:val="Title"/>
|
||||
<w:rsid w:val="002D3B7B"/>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="Segoe UI" w:h-ansi="Segoe UI"/>
|
||||
<w:spacing w:val="-10"/>
|
||||
<w:kern w:val="28"/>
|
||||
<w:sz w:val="48"/>
|
||||
<w:sz-cs w:val="56"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="ListParagraph">
|
||||
<w:name w:val="List Paragraph"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:rsid w:val="00C146CA"/>
|
||||
<w:pPr>
|
||||
<w:ind w:left="720"/>
|
||||
<w:contextualSpacing/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="Calibri"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Summary">
|
||||
<w:name w:val="Summary"/>
|
||||
<w:basedOn w:val="Normal"/>
|
||||
<w:link w:val="SummaryChar"/>
|
||||
<w:rsid w:val="00A210E1"/>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="120"/>
|
||||
</w:pPr>
|
||||
<w:rPr>
|
||||
<wx:font wx:val="Calibri"/>
|
||||
<w:color w:val="767171"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
<w:style w:type="character" w:styleId="SummaryChar">
|
||||
<w:name w:val="Summary Char"/>
|
||||
<w:link w:val="Summary"/>
|
||||
<w:rsid w:val="00A210E1"/>
|
||||
<w:rPr>
|
||||
<w:rFonts w:ascii="Calibri" w:h-ansi="Calibri"/>
|
||||
<w:sz-cs w:val="24"/>
|
||||
</w:rPr>
|
||||
</w:style>
|
||||
</w:styles>
|
||||
|
||||
{{> doc-pr }}
|
||||
|
||||
{{!<!--
|
||||
|
||||
That bring us to the <w:body> element, where the meat of the Word document
|
||||
is stored.
|
||||
|
||||
-->}}
|
||||
|
||||
<w:body>
|
||||
<wx:sect>
|
||||
|
||||
{{!<!--
|
||||
Let's create a paragraph containing the user's name. This is the Word
|
||||
concept of a paragraph, not quite the same as a normal paragraph, but
|
||||
close enough. We'll use <w:p> and adorn with a <w:pPr> (paragraph
|
||||
properties) that sets the style of this paragraph to "Title". We don't
|
||||
have to do it this way -- we can insert arbitrary styled content here
|
||||
-- but in practice this is how many Word docs are set up.
|
||||
-->}}
|
||||
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="007D096C" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Title"/>
|
||||
</w:pPr>
|
||||
<w:r>
|
||||
|
||||
{{!<!--
|
||||
Emit the candidate's name into the paragraph, accessible as the
|
||||
.name property on "r", which is the FRESH or JSON Resume resume
|
||||
object. Now, we're creating XML content here, which means that we
|
||||
potentially need to XML-encode the raw text values from the JSON
|
||||
resume model. Luckily, this has already been done for us. Every
|
||||
string property on "r" is already XML-encoded (for Word formats).
|
||||
So we'll use Handlebars triple-bracket syntax to make sure the
|
||||
value isn't further encoded.
|
||||
-->}}
|
||||
|
||||
<w:t>{{{ r.name }}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
|
||||
{{!<!--
|
||||
Let's create another paragraph, using the <w:p> element. The paragraph
|
||||
will contain the candidate's contact info. We'll wrap the whole thing
|
||||
with an #if so that none of the content gets emitted if the resume
|
||||
doesnt have a contact info section (some don't).
|
||||
-->}}
|
||||
|
||||
{{#if r.contact }}
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRDefault="00505903" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:rPr>
|
||||
<w:sz-cs w:val="20"/>
|
||||
</w:rPr>
|
||||
</w:pPr>
|
||||
<w:hlink w:dest="mailto:{{{ r.contact.email }}}">
|
||||
<w:r wsp:rsidRPr="003876BF">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
<w:sz w:val="16"/>
|
||||
</w:rPr>
|
||||
<w:t>{{{ r.contact.email }}}<w:br/></w:t>
|
||||
</w:r>
|
||||
</w:hlink>
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0">
|
||||
<w:rPr>
|
||||
<w:sz w:val="16"/>
|
||||
</w:rPr>
|
||||
<w:t>{{{ r.contact.phone }}}<w:br/></w:t>
|
||||
</w:r>
|
||||
<w:hlink w:dest="{{{ r.contact.website }}}">
|
||||
<w:r wsp:rsidRPr="003876BF">
|
||||
<w:rPr>
|
||||
<w:rStyle w:val="Hyperlink"/>
|
||||
<w:sz w:val="16"/>
|
||||
</w:rPr>
|
||||
<w:t>{{{ r.contact.website }}}</w:t>
|
||||
</w:r>
|
||||
</w:hlink>
|
||||
</w:p>
|
||||
{{/if}}
|
||||
|
||||
{{!<!--
|
||||
|
||||
We could continue creating custom XML / WordProcessingML content as above,
|
||||
but instead, let's use some predefined "section partials" for the rest
|
||||
of the resume. A section partial is a fragment of markup (XML, in this
|
||||
case) representing a single section of a resume. FRESH provides pre-
|
||||
defined section partials for all resume sections that you can use and
|
||||
override at will.
|
||||
|
||||
First let's create the candidate's INFO or SUMMARY section using the
|
||||
"info" partial. "info" is a theme-specific partial owned by the modern
|
||||
theme.
|
||||
|
||||
-->}}
|
||||
|
||||
{{#section "info"}}{{> info }}{{/section}}
|
||||
|
||||
{{!<!--
|
||||
|
||||
Now let's create the candidate's SKILLS section. The Modern theme uses
|
||||
a skills section with colored skill bars representing the candidate's
|
||||
proficiency with each skill. That's fairly complex to do in Word, and
|
||||
specific to the Modern theme, so we've placed it in the "skills" partial.
|
||||
Like the "info" partial, the "skills" partial is defined by the Modern
|
||||
theme.
|
||||
|
||||
-->}}
|
||||
|
||||
{{#section "skills"}}{{> skills }}{{/section}}
|
||||
|
||||
{{!<!--
|
||||
|
||||
...and we're done with major customizations for this theme. For the rest
|
||||
of the resume, we'll used predefined SECTION PARTIALS provided by FRESH.
|
||||
The only customization we'll make is overriding the header icon of each
|
||||
partial to use our special embedded FontAwesome image.
|
||||
|
||||
We'll start with the EMPLOYMENT section.
|
||||
|
||||
-->}}
|
||||
|
||||
|
||||
{{!<!-- Create an INLINE PARTIAL called "header-employment". This does
|
||||
not itself render any content. Like any other partial, this one has to
|
||||
be invoked from somewhere in order to actually be rendered. -->}}
|
||||
|
||||
{{#*inline "header-employment"}}
|
||||
|
||||
{{!<!-- Set the content of the partial. We could embed XML directly
|
||||
here, but instead we'll reference the "header-icon" partial provided
|
||||
by FRESH, passing in _title, _section, and _icon values so the the
|
||||
"header-icon" partial knows how to render. -->}}
|
||||
|
||||
{{> header-icon _title="EMPLOYMENT" _section="employment" _icon="pict/emp" }}
|
||||
|
||||
{{!<!-- End the partial -->}}
|
||||
{{/inline}}
|
||||
|
||||
{{!<!--
|
||||
Do the same for each of the other sections. Again, we're just declaring
|
||||
inline partials (templates) here. We're not actually rendering these
|
||||
partials yet.
|
||||
-->}}
|
||||
|
||||
{{#*inline "header-projects"}}{{> header-icon _title="PROJECTS" _section="projects" _icon="pict/star" }}{{/inline}}
|
||||
{{#*inline "header-governance"}}{{> header-icon _title="GOVERNANCE" _section="governance" _icon="pict/justice-scales" }}{{/inline}}
|
||||
{{#*inline "header-education"}}{{> header-icon _title="EDUCATION" _section="education" _icon="pict/edu" }}{{/inline}}
|
||||
{{#*inline "header-service"}}{{> header-icon _title="SERVICE" _section="service" _icon="pict/srv" }}{{/inline}}
|
||||
{{#*inline "header-affiliation"}}{{> header-icon _title="AFFILIATION" _section="affiliation" _icon="pict/share-alt" }}{{/inline}}
|
||||
{{#*inline "header-writing"}}{{> header-icon _title="WRITING" _section="writing" _icon="pict/wri" }}{{/inline}}
|
||||
{{#*inline "header-reading"}}{{> header-icon _title="READING" _section="reading" _icon="pict/book" }}{{/inline}}
|
||||
{{#*inline "header-recognition"}}{{> header-icon _title="RECOGNITION" _section="recognition" _icon="pict/rec" }}{{/inline}}
|
||||
{{#*inline "header-speaking"}}{{> header-icon _title="SPEAKING" _section="speaking" _icon="pict/group" }}{{/inline}}
|
||||
{{#*inline "header-references"}}{{> header-icon _title="REFERENCES" _section="references" _icon="pict/thumbs-up" }}{{/inline}}
|
||||
{{#*inline "header-interests"}}{{> header-icon _title="INTERESTS" _section="interests" _icon="pict/bicycle" }}{{/inline}}
|
||||
|
||||
{{!<!--
|
||||
|
||||
Now, render each of the remaining sections of the resume in turn. We
|
||||
could emit custom markup for these, but instead we'll take advantage
|
||||
of the predefined "section partials" provided by FRESH, which have
|
||||
names like "section/employment", "section/projects", etc. We'll wrap
|
||||
each section in the special "#section" helper provided by the runtime
|
||||
environment (HackMyResume or FluentCV) in order to allow sections to
|
||||
be selectived hidden or ignored based on users preferences or when the
|
||||
section isn't present or is present but has no items.
|
||||
|
||||
-->}}
|
||||
|
||||
{{#section "employment"}}{{> section/employment }}{{/section}}
|
||||
{{#section "projects"}}{{> section/projects }}{{/section}}
|
||||
{{#section "governance"}}{{> section/governance }}{{/section}}
|
||||
{{#section "education"}}{{> section/education }}{{/section}}
|
||||
{{#section "service"}}{{> section/service }}{{/section}}
|
||||
{{#section "affiliation"}}{{> section/affiliation }}{{/section}}
|
||||
{{#section "writing"}}{{> section/writing }}{{/section}}
|
||||
{{#section "writing"}}{{> section/reading }}{{/section}}
|
||||
{{#section "recognition"}}{{> section/recognition }}{{/section}}
|
||||
{{#section "speaking"}}{{> section/speaking }}{{/section}}
|
||||
{{#section "interests"}}{{> section/interests }}{{/section}}
|
||||
{{#section "references"}}{{> section/references }}{{/section}}
|
||||
|
||||
{{!<!--
|
||||
And we're done! Close off the word document and go home.
|
||||
-->}}
|
||||
|
||||
<w:sectPr wsp:rsidR="00B43FDC" wsp:rsidRPr="000A3AF0" wsp:rsidSect="001B7422">
|
||||
<w:pgSz w:w="12240" w:h="15840"/>
|
||||
<w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/>
|
||||
<w:cols w:space="720"/>
|
||||
<w:docGrid w:line-pitch="360"/>
|
||||
</w:sectPr>
|
||||
</wx:sect>
|
||||
</w:body>
|
||||
</w:wordDocument>
|
@ -1,244 +0,0 @@
|
||||
{{!
|
||||
|
||||
Templatized CSS file for the Modern theme. Expanded by Handlebars during
|
||||
resume generation.
|
||||
|
||||
}}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: {{{fontList 'default'}}};
|
||||
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: 3em;
|
||||
/*padding-bottom: 10em;*/
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
#container #picture {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
|
||||
#container > header span.fa {
|
||||
position: relative;
|
||||
/*color: green;*/
|
||||
font-size: inherit;
|
||||
left: 0px;
|
||||
top: -2px;
|
||||
/*top: 4px;*/
|
||||
/*left: -50px;*/
|
||||
/*font-size: 30px;*/
|
||||
/*color: #BFC1C3;*/
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#summary {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
|
||||
body.pdf #container > header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 3em;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
span.fa
|
||||
{
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
/*left: -50px;*/
|
||||
left: -1.5em;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-top: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.tenure, .keywords {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h3 {
|
||||
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;
|
||||
}
|
||||
|
||||
input:focus {outline: none; }
|
@ -1,218 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ RAW.name }}</title>
|
||||
|
||||
{{!<!-- TODO: Optimize Google Fonts and Font Awesome access. -->}}
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
|
||||
{{{styleSheet "modern-html.css"}}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main id="main"> {{!<!-- Use your container markup of choice here -->}}
|
||||
<div id="container">
|
||||
<header>
|
||||
|
||||
<div class="left">
|
||||
<h1>{{{ r.name }}}</h1>
|
||||
|
||||
<div id="contact">
|
||||
{{#if r.contact.email}}<div><span class="fa fa-lg fa-envelope"></span> <a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/if}}
|
||||
{{#if r.contact.website}}<div><span class="fa fa-lg fa-firefox"></span> <a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/if}}
|
||||
{{#if r.contact.phone}}<div><span class="fa fa-lg fa-phone"></span> {{ RAW.contact.phone }}</div>{{/if}}
|
||||
{{#if r.contact.skype}}<div><span class="fa fa-lg fa-skype"></span> {{ RAW.contact.skype }}</div>{{/if}}
|
||||
{{#each r.social}}
|
||||
<div class="social">
|
||||
<span class="fa fa-lg fa-{{toLower label}}"></span> <a href="{{url}}">{{url}}</a>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if r.info.image}}<div id="picture" class="right"><img class="profile-pic media-object img-circle center-block" height="128" width="128" itemprop="image" alt="128x128" src="{{{ r.info.image }}}"></div>{{/if}}
|
||||
</header>
|
||||
|
||||
|
||||
{{#*inline "icon-info"}}<span class="fa fa-lg fa-info"></span>{{/inline}}
|
||||
{{> section/info _icon="icon-info" }}
|
||||
|
||||
{{#section 'skills' }}
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
<h2>{{{sectionTitle "Skills"}}}</h2>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-code"></span>
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.skills.sets}}
|
||||
<li class="card card-nested card-skills">
|
||||
<div class="skill-level" rel="tooltip" title="{{ level }}" data-placement="left">
|
||||
<div class="skill-progress {{toLower level }}"></div>
|
||||
</div>
|
||||
<div class="skill-info">
|
||||
<strong>{{ name }}</strong>
|
||||
<div class="space-top labels">
|
||||
{{#if skills}}
|
||||
{{#each skills}}
|
||||
<span class="label label-keyword">{{ this }}</span>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</section>
|
||||
{{/section}}
|
||||
|
||||
|
||||
{{#*inline "body-projects" }}
|
||||
<div>
|
||||
<h3>{{#if role}}<em>{{camelCase role }}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{ title }}</a>
|
||||
{{else}}
|
||||
{{ title }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-lg fa-star"></span>{{/inline}}
|
||||
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
||||
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-lg fa-building"></span>{{/inline}}
|
||||
{{#*inline "header-employment" }}
|
||||
{{> header-icon _title="WORK" _section="work" _hdricon=(lookup . '_icon') }}
|
||||
{{/inline}}
|
||||
{{#*inline "body-employment" }}
|
||||
<div>
|
||||
<h3><em>{{ position }}</em>,
|
||||
{{#if url }}
|
||||
<a href="{{{ url }}}">{{ employer }}</a>
|
||||
{{else}}
|
||||
{{ employer }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
{{> section/employment _icon="icon-employment"}}
|
||||
|
||||
|
||||
{{#*inline "body-education" }}
|
||||
<div>
|
||||
<h3>{{#if title}}<em>{{ title }}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{ institution }}</a>
|
||||
{{else}}
|
||||
{{ institution }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if curriculum}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each curriculum}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-education"}}<span class="fa fa-lg fa-mortar-board"></span>{{/inline}}
|
||||
|
||||
{{> section/education _icon="icon-education"}}
|
||||
|
||||
|
||||
{{#if r.languages}}
|
||||
<hr>
|
||||
<section id="languages">
|
||||
<header><span class="fa fa-lg fa-language"></span> <h2>Languages</h2></header>
|
||||
{{#each r.languages}}
|
||||
<div class="language">
|
||||
<h3><em>{{language}}</em></h3> ({{level}})
|
||||
</div>
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#*inline "body-governance" }}
|
||||
<div>
|
||||
<h3>{{#if role}}<em>{{{ role }}}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{{ organization }}}</a>
|
||||
{{else}}
|
||||
{{{ organization }}}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-governance"}}<span class="fa fa-lg fa-balance-scale"></span>{{/inline}}
|
||||
|
||||
{{> section/governance _icon="icon-governance"}}
|
||||
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{#*inline "icon-writing"}}<span class="fa fa-lg fa-pencil"></span>{{/inline}}
|
||||
{{#*inline "icon-reading"}}<span class="fa fa-lg fa-book"></span>{{/inline}}
|
||||
{{#*inline "icon-recognition"}}<span class="fa fa-lg fa-trophy"></span>{{/inline}}
|
||||
{{#*inline "icon-speaking"}}<span class="fa fa-lg fa-users"></span>{{/inline}}
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-lg fa-quote-left"></span>{{/inline}}
|
||||
{{#*inline "icon-references"}}<span class="fa fa-lg fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{#*inline "icon-interests"}}<span class="fa fa-lg fa-bicycle"></span>{{/inline}}
|
||||
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
{{> section/reading _icon="icon-reading"}}
|
||||
{{> section/recognition _icon="icon-recognition"}}
|
||||
{{> section/speaking _icon="icon-speaking"}}
|
||||
{{> section/testimonials _icon="icon-testimonials"}}
|
||||
{{> section/references _icon="icon-references"}}
|
||||
{{> section/interests _icon="icon-interests"}}
|
||||
|
||||
|
||||
{{#if r.extracurricular}}
|
||||
<hr>
|
||||
<section id="extracurricular">
|
||||
<header><span class="fa fa-lg fa-random"></span> <h2>Extracurricular</h2></header>
|
||||
{{#each r.extracurricular}}
|
||||
<div class="extracurricular">
|
||||
<h3><em>{{title}}</em></h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
<br/><em>Activity: </em>{{activity}}
|
||||
{{#if location}}<br/><em>Location: </em>{{{location}}}{{/if}}
|
||||
{{#if highlights}}<br/><em>Details: </em> {{{highlights}}}{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
@ -1,231 +0,0 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: {{{fontList 'default'}}};
|
||||
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 {
|
||||
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 > #main {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#container > header {
|
||||
padding-top: 1.5em;
|
||||
height: 230px;
|
||||
}
|
||||
|
||||
#container #picture {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
|
||||
#container > header span.fa {
|
||||
position: relative;
|
||||
/*color: green;*/
|
||||
font-size: inherit;
|
||||
left: 0px;
|
||||
top: -2px;
|
||||
/*top: 4px;*/
|
||||
/*left: -50px;*/
|
||||
/*font-size: 30px;*/
|
||||
/*color: #BFC1C3;*/
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
}
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#summary {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
body.pdf #container > header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 3em;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
span.fa
|
||||
{
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: -1.5em;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-top: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.tenure, .keywords {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h3 {
|
||||
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;
|
||||
}
|
@ -1,387 +0,0 @@
|
||||
{{! <!--
|
||||
|
||||
Welcome to the annotated HTML template of the MODERN theme. This is the
|
||||
template used to generate the output HTML format of your resume when you
|
||||
choose the "modern" theme in HackMyResume or FluentCV.
|
||||
|
||||
These comments will be stripped when the resume is generated.
|
||||
|
||||
FRESH themes are just plain text documents with a bit of template magic
|
||||
built in via Handlebars or Underscore (in this case, Handlebars). Here we're
|
||||
buildng an HTML version of the theme, so we'll create an otherwise normal HTML
|
||||
document, then inject data into it using special tags. Where does the data
|
||||
come from? From our FRESH or JSON Resume-format resume, represented in this
|
||||
template through the "r" and "RAW" objects.
|
||||
|
||||
r.some-propery
|
||||
r.some-method
|
||||
RAW.some-other-propery
|
||||
|
||||
So let's begin with a standard HTML 5 doctype and prelude.
|
||||
|
||||
--> }}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
{{! <!--
|
||||
Set the document <title> to the candidate's name. We use RAW.name here,
|
||||
instead of r.name, because RAW gives us the text *as entered by the user*.
|
||||
The double bracket notation automatically encodes this value. If we wanted
|
||||
the unencoded raw value, we'd use triple brackets as in
|
||||
((( RAW.name ))).
|
||||
--> }}
|
||||
<title>{{ RAW.name }}</title>
|
||||
|
||||
{{!<!-- TODO: Optimize Google Fonts and Font Awesome access. -->}}
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
|
||||
|
||||
{{! <!--
|
||||
Link in the resume's stylesheet. We could use a <link> tag here as above,
|
||||
or dump the styles into <style></style>, but there's a handy helper
|
||||
available that allows us to do either, conditionally.
|
||||
--> }}
|
||||
|
||||
{{{styleSheet "modern-pdf.css"}}}
|
||||
|
||||
{{! <!--
|
||||
Now, depending on options, "modern-html.css" will either be embedded
|
||||
via <style> stags, or linked via <link>. Users can control this via
|
||||
(for example) the --css option in HackMyResume.
|
||||
|
||||
Why might you want to embed CSS into <style> tags when most CSS guides
|
||||
instruct you to use <link>? Because embedded CSS creates a more hardened
|
||||
"standalone" resume with fewer external dependencies. This may not matter
|
||||
in a typical web scenario, but HTML resumes are also used to drive PDF
|
||||
generation, not to mention emailed, viewed locally, etc.
|
||||
|
||||
TL;DR Use the "styleSheet" helper whenever possible.
|
||||
-->}}
|
||||
|
||||
</head>
|
||||
|
||||
{{!<!--
|
||||
So much for the <head> element. Now let's tackle the <body>.
|
||||
-->}}
|
||||
|
||||
<body>
|
||||
<main id="main"> {{!<!-- Use your container markup of choice here -->}}
|
||||
<div id="container">
|
||||
<header>
|
||||
|
||||
{{! <!--
|
||||
Display the candidate's name using "r" (the FRESH or JSON Resume
|
||||
object). Keep in mind that "r" contains the MARKDOWNIFIED version
|
||||
of the text in the user's FRESH or JRS resume because FRESH resume
|
||||
themes support Markdown natively. If you want the un-Markdownified
|
||||
text, you'd use RAW instead.
|
||||
--> }}
|
||||
|
||||
<div class="left">
|
||||
<h1>{{{ r.name }}}</h1>
|
||||
|
||||
{{! <!--
|
||||
Give some basic contact info. Here, the HAS helper is similar
|
||||
to a normal IF, but provides a guaranteed-to-be-safe check against a
|
||||
particular object path. That is, ((#if contact.email)) can error out
|
||||
(throw an exception) if contact is null, depending on Handlebars
|
||||
engine settings, but ((#has 'contact.email')) never will.
|
||||
--> }}
|
||||
<div id="contact">
|
||||
{{#if r.contact.email}}<div><span class="fa fa-lg fa-envelope"></span> <a href="mailto:{{{ RAW.contact.email }}}">{{ RAW.contact.email }}</a></div>{{/if}}
|
||||
{{#if r.contact.website}}<div><span class="fa fa-lg fa-firefox"></span> <a href="{{{ RAW.contact.website }}}">{{ RAW.contact.website }}</a></div>{{/if}}
|
||||
{{#if r.contact.phone}}<div><span class="fa fa-lg fa-phone"></span> {{ RAW.contact.phone }}</div>{{/if}}
|
||||
{{#if r.contact.skype}}<div><span class="fa fa-lg fa-skype"></span> {{ RAW.contact.skype }}</div>{{/if}}
|
||||
{{#each r.social}}
|
||||
<div class="social">
|
||||
<span class="fa fa-lg fa-{{toLower label}}"></span> <a href="{{url}}">{{url}}</a>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if r.info.image}}<div id="picture" class="right"><img class="profile-pic media-object img-circle center-block" height="128" width="128" itemprop="image" alt="128x128" src="{{{ r.info.image }}}"></div>{{/if}}
|
||||
</header>
|
||||
|
||||
|
||||
{{!<!--
|
||||
Now let's emit the candidate's summary, overriding the icon.
|
||||
-->}}
|
||||
|
||||
{{#*inline "icon-info"}}<span class="fa fa-lg fa-info"></span>{{/inline}}
|
||||
{{> section/info _icon="icon-info" }}
|
||||
|
||||
|
||||
{{! <!--
|
||||
Okay, let's create a custom SKILLS section with colored skill bars.
|
||||
|
||||
Since this is an official resume section, we want to wrap it in the
|
||||
"section" block helper. This allows the section to be selectively
|
||||
omitted from the resume if either a) the section is empty or b) the user
|
||||
tells us to hide it.
|
||||
|
||||
As fpr the colored bars, those are just standard HTML and CSS, with the
|
||||
height and color of each bar linked to the candidate's skill "level" from
|
||||
the resume.
|
||||
|
||||
TL;DR Always wrap your sections with the "section"!
|
||||
--> }}
|
||||
|
||||
|
||||
{{#section 'skills' }}
|
||||
<hr>
|
||||
<section id="skills">
|
||||
<header>
|
||||
<h2>{{{sectionTitle "Skills"}}}</h2>
|
||||
</header>
|
||||
<span class="fa fa-lg fa-code"></span>
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.skills.sets}}
|
||||
<li class="card card-nested card-skills">
|
||||
<div class="skill-level" rel="tooltip" title="{{ level }}" data-placement="left">
|
||||
<div class="skill-progress {{toLower level }}"></div>
|
||||
</div>
|
||||
<div class="skill-info">
|
||||
<strong>{{ name }}</strong>
|
||||
<div class="space-top labels">
|
||||
{{#if skills}}
|
||||
{{#each skills}}
|
||||
<span class="label label-keyword">{{ this }}</span>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</section>
|
||||
{{/section}}
|
||||
|
||||
|
||||
{{#*inline "body-projects" }}
|
||||
<div>
|
||||
<h3>{{#if role}}<em>{{camelCase role }}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{ title }}</a>
|
||||
{{else}}
|
||||
{{ title }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-lg fa-star"></span>{{/inline}}
|
||||
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
||||
{{! <!--
|
||||
|
||||
So much for SKILLS. Now let's render the EMPLOYMENT section.
|
||||
|
||||
We could do this manually with custom HTML, like we did with the SKILLS
|
||||
section, but let's take advantage of some predefined partials instead.
|
||||
FRESH provides global partials for all resume sections (employment, skills,
|
||||
education, speaking, etc.). They're named like this:
|
||||
|
||||
section/skills
|
||||
section/employment
|
||||
section/service
|
||||
section/recognition
|
||||
etc..
|
||||
|
||||
So what we want to do is inject the "section/skills" global partial
|
||||
and use it here in our theme. We can do that simply with:
|
||||
|
||||
((> section/skills ))
|
||||
|
||||
(Replace the parentheses with brackets). However, in this case we want to
|
||||
override the heading icon used in the global partial as well as its content.
|
||||
That is, we want to use the "section/employment" partial, but selectively
|
||||
override portions of it with our own markup.
|
||||
|
||||
--> }}
|
||||
|
||||
|
||||
{{!<!--
|
||||
First, we create an inline partial called "icon-employment." The contents of
|
||||
this partial will be referenced by the section/employment partial we invoke
|
||||
below. This partial doesn't, by itself, render any content -- it's a template.
|
||||
-->}}
|
||||
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-lg fa-building"></span>{{/inline}}
|
||||
|
||||
|
||||
{{!<!--
|
||||
Next we create another inline partial called "body-employment" and set its
|
||||
contents to the markup we'd like to use for the body section of each job. This
|
||||
also doesn't render any content.
|
||||
-->}}
|
||||
|
||||
{{#*inline "header-employment" }}
|
||||
{{> header-icon _title="WORK" _section="work" _hdricon=(lookup . '_icon') }}
|
||||
{{/inline}}
|
||||
{{#*inline "body-employment" }}
|
||||
<div>
|
||||
<h3><em>{{ position }}</em>,
|
||||
{{#if url }}
|
||||
<a href="{{{ url }}}">{{ employer }}</a>
|
||||
{{else}}
|
||||
{{ employer }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{! <!--
|
||||
Actually render the employment section. Invoke the "section/employment"
|
||||
partial (which lives at partials/html/section/employment.html). The header
|
||||
icon and body of each employment stint will be rendered with the markup we
|
||||
defined above.
|
||||
--> }}
|
||||
|
||||
{{> section/employment _icon="icon-employment"}}
|
||||
|
||||
|
||||
{{! <!--
|
||||
Move on to the PROJECTS section, giving it the same treatment we gave the
|
||||
EMPLOYMENT section.
|
||||
--> }}
|
||||
|
||||
|
||||
{{! <!--
|
||||
Move on to the EDUCATION section, giving it the same treatment we gave the
|
||||
EMPLOYMENT section.
|
||||
--> }}
|
||||
|
||||
|
||||
{{#*inline "body-education" }}
|
||||
<div>
|
||||
<h3>{{#if title}}<em>{{ title }}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{ institution }}</a>
|
||||
{{else}}
|
||||
{{ institution }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if curriculum}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each curriculum}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-education"}}<span class="fa fa-lg fa-mortar-board"></span>{{/inline}}
|
||||
|
||||
{{> section/education _icon="icon-education"}}
|
||||
|
||||
|
||||
{{#if r.languages}}
|
||||
<hr>
|
||||
<section id="languages">
|
||||
<header><span class="fa fa-lg fa-language"></span> <h2>Languages</h2></header>
|
||||
{{#each r.languages}}
|
||||
<div class="language">
|
||||
<h3><em>{{language}}</em></h3> ({{level}})
|
||||
</div>
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{! <!--
|
||||
Move on to the GOVERNANCE section, giving it the same treatment we gave the
|
||||
EMPLOYMENT section.
|
||||
--> }}
|
||||
|
||||
{{#*inline "body-governance" }}
|
||||
<div>
|
||||
<h3>{{#if role}}<em>{{{ role }}}</em>,{{/if}}
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{{ organization }}}</a>
|
||||
{{else}}
|
||||
{{{ organization }}}
|
||||
{{/if}}
|
||||
</h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
{{#if keywords}}
|
||||
{{#if start}}| {{/if}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>
|
||||
{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "icon-governance"}}<span class="fa fa-lg fa-balance-scale"></span>{{/inline}}
|
||||
|
||||
{{> section/governance _icon="icon-governance"}}
|
||||
|
||||
|
||||
{{! <!--
|
||||
We'll override all section heading icons the same way, for the rest of the
|
||||
resume, using the same inline template technique.
|
||||
--> }}
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{#*inline "icon-writing"}}<span class="fa fa-lg fa-pencil"></span>{{/inline}}
|
||||
{{#*inline "icon-reading"}}<span class="fa fa-lg fa-book"></span>{{/inline}}
|
||||
{{#*inline "icon-recognition"}}<span class="fa fa-lg fa-trophy"></span>{{/inline}}
|
||||
{{#*inline "icon-speaking"}}<span class="fa fa-lg fa-users"></span>{{/inline}}
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-lg fa-quote-left"></span>{{/inline}}
|
||||
{{#*inline "icon-references"}}<span class="fa fa-lg fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{#*inline "icon-interests"}}<span class="fa fa-lg fa-bicycle"></span>{{/inline}}
|
||||
|
||||
{{! <!--
|
||||
And we're done with the customizations. For the rest of the resume, we'll
|
||||
use the default section partials and style them with whatever CSS we like.
|
||||
--> }}
|
||||
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
{{> section/reading _icon="icon-reading"}}
|
||||
{{> section/recognition _icon="icon-recognition"}}
|
||||
{{> section/speaking _icon="icon-speaking"}}
|
||||
{{> section/testimonials _icon="icon-testimonials"}}
|
||||
{{> section/references _icon="icon-references"}}
|
||||
{{> section/interests _icon="icon-interests"}}
|
||||
|
||||
|
||||
{{#if r.extracurricular}}
|
||||
<hr>
|
||||
<section id="extracurricular">
|
||||
<header><span class="fa fa-lg fa-random"></span> <h2>Extracurricular</h2></header>
|
||||
{{#each r.extracurricular}}
|
||||
<div class="extracurricular">
|
||||
<h3><em>{{title}}</em></h3>
|
||||
{{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
|
||||
<br/><em>Activity: </em>{{activity}}
|
||||
{{#if location}}<br/><em>Location: </em>{{{location}}}{{/if}}
|
||||
{{#if highlights}}<br/><em>Details: </em> {{{highlights}}}{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
@ -1,49 +0,0 @@
|
||||
<wx:sub-section>
|
||||
{{!-- This pBdrGroup section creates an embedded font-awesome icon image. --}}
|
||||
<wx:pBdrGroup>
|
||||
<wx:borders>
|
||||
<wx:top wx:val="solid" wx:bdrwidth="15" wx:space="1" wx:color="EEEEEE"/>
|
||||
</wx:borders>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00D1523B" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Heading1"/>
|
||||
</w:pPr>
|
||||
<w:r>
|
||||
<w:pict>
|
||||
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
|
||||
<v:stroke joinstyle="miter"/>
|
||||
<v:formulas>
|
||||
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
|
||||
<v:f eqn="sum @0 1 0"/>
|
||||
<v:f eqn="sum 0 0 @1"/>
|
||||
<v:f eqn="prod @2 1 2"/>
|
||||
<v:f eqn="prod @3 21600 pixelWidth"/>
|
||||
<v:f eqn="prod @3 21600 pixelHeight"/>
|
||||
<v:f eqn="sum @0 0 1"/>
|
||||
<v:f eqn="prod @6 1 2"/>
|
||||
<v:f eqn="prod @7 21600 pixelWidth"/>
|
||||
<v:f eqn="sum @8 21600 0"/>
|
||||
<v:f eqn="prod @7 21600 pixelHeight"/>
|
||||
<v:f eqn="sum @10 21600 0"/>
|
||||
</v:formulas>
|
||||
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
|
||||
<o:lock v:ext="edit" aspectratio="t"/>
|
||||
</v:shapetype>
|
||||
<w:binData w:name="wordml://03000001.png" xml:space="preserve">iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAThQTFRFv8HDv8LOv8jXv8HEv8zdv8HGv8HIv8LQv8TTv8HOv8bVv8TM2dDOz8zO09bdxcHDw8jTw8HD3crDzcHDz8LDzcLDx8HDwcrZy8bExcrT1crGx8LGycrSy8LD1cjEw87f1cTDw8jM0dLZ3drZ1c7MycTD2cjDycHDz977wc7ixdLqz9rqydLix9buy9r11en/2+Xwz+H71ePx9d7Q7dTI5c7E5dTQ8drO+drM/drM79LG79TI4czE49DK7eHb/ePS///d/+nT/+vV//Hd/efV/evZ//XZ/+PS/+XS//v16ev1/f/////75/H/4fH/8//////1///i8fv///nu5+/7/e/i+//78/n///nz8+/w8/H1++3i9/////vo5fv////w7///4///4f/////x//vw+fHw9/n/////RIkD6QAAAP5JREFUSMdjSCcaMIwqHVVKL6Wedjy8fF7ehJX6GPMzgICALyGlPiYMUMDoR0CpvSBMKQOTP16lAUJwlQzMGniVOggjlDJo4lXqyI+klAWvUifilQaKICnVwqvUxxShklUff2A5iyJ85U0gtlzEoCrFg/BFQbCZhGRIqBRIIZt2mLm0jIE3DqWusqCA1wmPiIyM8o6WA+mQj8GqNFYBarWikrKKKpSti1WpBQMWwB6HRWm8GjalDHpYlLqpY1XKgkWpuyBWpRwJmEotsapk4EzEVGqFQ2kSRUqtiVfqgd1bXP6YSpNtsKlkNsQWWym2mOZyG+FIWT6pkaggDVkWALeXG64AV9ZXAAAAAElFTkSuQmCC</w:binData>
|
||||
<v:shape id="_x0000_i1027" type="#_x0000_t75" style="width:31.5pt;height:31.5pt">
|
||||
<v:imagedata src="wordml://03000001.png" o:title="fa-person"/>
|
||||
</v:shape>
|
||||
</w:pict>
|
||||
</w:r>
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>{{{sectionTitle "info" "ABOUT"}}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</wx:pBdrGroup>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00A210E1">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Summary"/>
|
||||
</w:pPr>
|
||||
{{{wpml r.info.brief true }}}
|
||||
</w:p>
|
||||
</wx:sub-section>
|
@ -1,120 +0,0 @@
|
||||
{{#if r.skills }}
|
||||
<wx:sub-section>
|
||||
{{!-- This pBdrGroup section creates an embedded font-awesome icon image. --}}
|
||||
<wx:pBdrGroup>
|
||||
<wx:borders>
|
||||
<wx:top wx:val="solid" wx:bdrwidth="15" wx:space="1" wx:color="EEEEEE"/>
|
||||
</wx:borders>
|
||||
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA" wsp:rsidRDefault="00D1523B" wsp:rsidP="00C146CA">
|
||||
<w:pPr>
|
||||
<w:pStyle w:val="Heading1"/>
|
||||
<w:ind w:left="-720"/>
|
||||
</w:pPr>
|
||||
<w:r>
|
||||
<w:pict>
|
||||
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
|
||||
<v:stroke joinstyle="miter"/>
|
||||
<v:formulas>
|
||||
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
|
||||
<v:f eqn="sum @0 1 0"/>
|
||||
<v:f eqn="sum 0 0 @1"/>
|
||||
<v:f eqn="prod @2 1 2"/>
|
||||
<v:f eqn="prod @3 21600 pixelWidth"/>
|
||||
<v:f eqn="prod @3 21600 pixelHeight"/>
|
||||
<v:f eqn="sum @0 0 1"/>
|
||||
<v:f eqn="prod @6 1 2"/>
|
||||
<v:f eqn="prod @7 21600 pixelWidth"/>
|
||||
<v:f eqn="sum @8 21600 0"/>
|
||||
<v:f eqn="prod @7 21600 pixelHeight"/>
|
||||
<v:f eqn="sum @10 21600 0"/>
|
||||
</v:formulas>
|
||||
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
|
||||
<o:lock v:ext="edit" aspectratio="t"/>
|
||||
</v:shapetype>
|
||||
<w:binData w:name="wordml://03000002.png" xml:space="preserve">iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPlQTFRFv8HDv8HEv8LQv8LSv8zdv8HGv8LKv8HKv8jXv8bVv8LOwczdzcHDycLEwcHDxcHGycLD18bD1cTDzcLDx8HD28jD08LDw8HD1cbDxcHD2czS1czSy8bEw9Dmzdzxz97xydj1xdLqx9Tqy9jszdz7wc7iy9bu0+P/2ef72e//2/X/+djK4czD6dDE89bK4crD99rM997Q/dzO5c7E89TI997T//vd/efX/+HQ++XT//Hd/+3V/+nT///5+/n/+//////75f//6f///f/////s///q8//////1///37/////vo///k4fH/5//////w4+/7//Hk5fH/////unTQ4QAAAQ1JREFUSMft1GtTQUEYB/A/JSlCoXJJUYqKqNwvFaFDquf7f5h0jrMXe3BmvGrGvnp29jc7O/99dkG2BzZ0Q/8/bbVt01vsd+zRlzskbO5a9jqul9OK78woqgfOV6r5kwtpJYCtN726x3a3F4QruYBO5c6NXr0f4pyofiRbWEhqhNxZUiwsJOWx2yfFwkIOwrgwKslClWJUooUqjahUq9NhAUh1Gf2Lik0eAM+HsKsWhCNtLo8iuGSyeIy9sXRW7YTb5qk7ZyFZAoI1o5qTPFdmeVSyFG7LtDwqWYo9MLMls2fmpNRZU+v8pEdc6bNJWJZyv2rRLyGq79jP8lcgRrXiwTzxqFbR53hm/S/jF09ZANBqGaBnAAAAAElFTkSuQmCC</w:binData>
|
||||
<v:shape id="_x0000_i1028" type="#_x0000_t75" style="width:31.5pt;height:31.5pt">
|
||||
<v:imagedata src="wordml://03000002.png" o:title="fa-code"/>
|
||||
</v:shape>
|
||||
</w:pict>
|
||||
</w:r>
|
||||
<w:r wsp:rsidR="00C146CA" wsp:rsidRPr="00C146CA">
|
||||
<w:t>{{{sectionTitle "SKILLS"}}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</wx:pBdrGroup>
|
||||
|
||||
<w:tbl>
|
||||
<w:tblPr>
|
||||
<w:tblW w:w="0" w:type="auto"/>
|
||||
<w:tblLook w:val="04A0"/>
|
||||
</w:tblPr>
|
||||
<w:tblGrid>
|
||||
<w:gridCol w:w="828"/>
|
||||
<w:gridCol w:w="8748"/>
|
||||
</w:tblGrid>
|
||||
|
||||
{{#each r.skills.sets}}
|
||||
|
||||
<w:tr wsp:rsidR="00427ECC" wsp:rsidTr="00FD3B33">
|
||||
<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"/>
|
||||
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
|
||||
</w:tcPr>
|
||||
<w:p>
|
||||
<w:pPr>
|
||||
<w:spacing w:before="120"/>
|
||||
</w:pPr>
|
||||
<w:r>
|
||||
<w:rPr>
|
||||
<w:sz w:val="24"/>
|
||||
<w:b/>
|
||||
<w:caps/>
|
||||
</w:rPr>
|
||||
<w:t>{{{ name }}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
<w:p wsp:rsidR="00427ECC" wsp:rsidRDefault="00427ECC" wsp:rsidP="00427ECC">
|
||||
<w:r>
|
||||
<w:rPr>
|
||||
<w:caps/>
|
||||
<w:spacing w:val="22"/>
|
||||
</w:rPr>
|
||||
<w:t>{{#each skills }}{{ this }}{{#unless @last}} {{/unless}}{{/each}}</w:t>
|
||||
</w:r>
|
||||
</w:p>
|
||||
</w:tc>
|
||||
</w:tr>
|
||||
|
||||
{{/each}}
|
||||
|
||||
</w:tbl>
|
||||
{{/if}}
|
||||
</wx:sub-section>
|
@ -1,28 +0,0 @@
|
||||
{
|
||||
"title": "modern",
|
||||
"description": "A contemporary resume template suitable for modern technical candidates and employees.",
|
||||
"author": "hacksalot <hacksalot@indevious.com> (https://github.com/hacksalot)",
|
||||
"engine": "handlebars",
|
||||
"palette": {
|
||||
"skillLevels": [ "#FFFFFF", "#5CB85C", "#F1C40F", "#428BCA", "#C00000" ]
|
||||
},
|
||||
"message": "To get colored skill progress bars, make sure your resume includes a `level` element for each skill.",
|
||||
"inherits": {
|
||||
"txt": "basis",
|
||||
"md": "basis"
|
||||
},
|
||||
"fonts": {
|
||||
"all": {
|
||||
"default": [ "Helvetica Neue", "Helvetica", "Segoe UI", "Calibri", "sans-serif" ],
|
||||
"heading1": ["Arial"],
|
||||
"heading2": ["Arial"]
|
||||
},
|
||||
"doc": {
|
||||
"default": "Calibri",
|
||||
"heading1": "Trebuchet MS",
|
||||
"heading2": "Calibri",
|
||||
"heading3": "Calibri"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -7,7 +7,8 @@ representing skill levels and Font Awesome icons for section headers.
|
||||
|
||||
## Use
|
||||
|
||||
Note: In order to display colored progress bars as in the below image, your resume should include a `level` annotation for each skill:
|
||||
Note: In order to display colored progress bars as in the below image, your
|
||||
resume should include a `level` annotation for each skill:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -33,4 +34,4 @@ or a number between 1 and 10.
|
||||
|
||||
MIT. See [LICENSE.md][lic] for details.
|
||||
|
||||
[lic]: https://github.com/fluentdesk/fresh-themes/blob/master/LICENSE.md
|
||||
[lic]: https://github.com/fresh-standard/fresh-themes/blob/master/LICENSE.md
|
||||
|
@ -476,6 +476,7 @@
|
||||
{{#*inline "header-governance"}}{{> header-icon _title="GOVERNANCE" _section="governance" _icon="pict/justice-scales" }}{{/inline}}
|
||||
{{#*inline "header-education"}}{{> header-icon _title="EDUCATION" _section="education" _icon="pict/edu" }}{{/inline}}
|
||||
{{#*inline "header-service"}}{{> header-icon _title="SERVICE" _section="service" _icon="pict/srv" }}{{/inline}}
|
||||
{{#*inline "header-extracurricular"}}{{> header-icon _title="EXTRACURRICULAR" _section="extracurricular" _icon="pict/srv" }}{{/inline}}
|
||||
{{#*inline "header-affiliation"}}{{> header-icon _title="AFFILIATION" _section="affiliation" _icon="pict/share-alt" }}{{/inline}}
|
||||
{{#*inline "header-writing"}}{{> header-icon _title="WRITING" _section="writing" _icon="pict/wri" }}{{/inline}}
|
||||
{{#*inline "header-reading"}}{{> header-icon _title="READING" _section="reading" _icon="pict/book" }}{{/inline}}
|
||||
@ -502,6 +503,7 @@
|
||||
{{#section "governance"}}{{> section/governance }}{{/section}}
|
||||
{{#section "education"}}{{> section/education }}{{/section}}
|
||||
{{#section "service"}}{{> section/service }}{{/section}}
|
||||
{{#section "extracurricular"}}{{> section/extracurricular }}{{/section}}
|
||||
{{#section "affiliation"}}{{> section/affiliation }}{{/section}}
|
||||
{{#section "writing"}}{{> section/writing }}{{/section}}
|
||||
{{#section "writing"}}{{> section/reading }}{{/section}}
|
||||
|
@ -14,13 +14,13 @@ main {
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: {{{fontList 'default'}}};
|
||||
font-size: 15px;
|
||||
color: #333;
|
||||
line-height: 1.42857143;
|
||||
background-color: #F0F0F0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: {{{fontList 'default'}}};
|
||||
}
|
||||
|
||||
/* Typical page borders are awkward when rendered to PDF. */
|
||||
@ -51,18 +51,23 @@ body.pdf #container > header {
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 5em;
|
||||
margin-left: 150px;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
section > div {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
span.fa
|
||||
{
|
||||
font-size: 56px;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: -50px;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
top: 37px;
|
||||
transform: translateY(-50%);
|
||||
left: -100px;
|
||||
color: #1a4367;
|
||||
}
|
||||
|
||||
hr {
|
||||
@ -79,13 +84,16 @@ hr {
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
font-size: 30px;
|
||||
color: #4376a2;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
padding-top: 20px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@ -108,20 +116,53 @@ a:hover {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#summary {
|
||||
font-size: 150%;
|
||||
margin-left: 0;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
#summary > p > strong {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
#contact {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#summary > header > .fa-info {
|
||||
font-size: 70px;
|
||||
letter-spacing: 5px;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
top: 50%;
|
||||
left: -85px;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
#summary h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
.label-keyword {
|
||||
display: inline-block;
|
||||
background: #7eb0db;
|
||||
color: white;
|
||||
background: #e8f4ff;
|
||||
color: black;
|
||||
font-size: 0.9em;
|
||||
padding: 5px;
|
||||
border: 1px solid #357ebd;
|
||||
border-radius: 5px;
|
||||
margin-top: 2px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.notes {
|
||||
font-size: 10px;
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
@ -178,6 +219,12 @@ a:hover {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
.skill-info > strong {
|
||||
font-weight: 400;
|
||||
font-size: 24px;
|
||||
color: #1d1d1d;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
padding-left: 0;
|
||||
@ -189,7 +236,7 @@ a:hover {
|
||||
}
|
||||
|
||||
.space-top {
|
||||
margin-top: 10px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#container {
|
||||
|
@ -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>
|
||||
|
||||
@ -139,7 +139,12 @@
|
||||
<div class="space-top labels">
|
||||
{{#if skills}}
|
||||
{{#each skills}}
|
||||
<span class="label label-keyword">{{ this }}</span>
|
||||
<div class="label label-keyword">
|
||||
<span class="kw">{{ this }}</span>
|
||||
{{#ifHasSkill @root.r .}}
|
||||
<span class="notes">{{skillYears . }} years</span>
|
||||
{{/ifHasSkill}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
@ -312,6 +317,7 @@ also doesn't render any content.
|
||||
--> }}
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{#*inline "icon-writing"}}<span class="fa fa-lg fa-pencil"></span>{{/inline}}
|
||||
@ -328,6 +334,7 @@ also doesn't render any content.
|
||||
--> }}
|
||||
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/extracurricular _icon="icon-extracurricular"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
|
@ -1,3 +1,10 @@
|
||||
{{!
|
||||
|
||||
Templatized CSS file for the Modern theme. Expanded by Handlebars during
|
||||
resume generation.
|
||||
|
||||
}}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@ -7,17 +14,17 @@ main {
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: {{{fontList 'default'}}};
|
||||
font-size: 15px;
|
||||
color: #333;
|
||||
line-height: 1.42857143;
|
||||
background-color: #F0F0F0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: {{{fontList 'default'}}};
|
||||
}
|
||||
|
||||
/* Typical page borders are awkward when rendered to PDF. */
|
||||
body {
|
||||
body.pdf {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
@ -30,7 +37,7 @@ the PDF case, <main> for the HTML case, and style both via an ID. */
|
||||
border: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
body > #main {
|
||||
body.pdf > #main {
|
||||
border: none;
|
||||
}
|
||||
|
||||
@ -44,18 +51,23 @@ body.pdf #container > header {
|
||||
}
|
||||
|
||||
#main > #container > section {
|
||||
margin-left: 5em;
|
||||
margin-left: 150px;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
section > div {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
span.fa
|
||||
{
|
||||
font-size: 56px;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: -50px;
|
||||
font-size: 30px;
|
||||
color: #BFC1C3;
|
||||
top: 37px;
|
||||
transform: translateY(-50%);
|
||||
left: -100px;
|
||||
color: #1a4367;
|
||||
}
|
||||
|
||||
hr {
|
||||
@ -72,13 +84,16 @@ hr {
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 46px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
color: #BFC1C3;
|
||||
font-size: 30px;
|
||||
color: #4376a2;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
padding-top: 20px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@ -101,20 +116,53 @@ a:hover {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#summary {
|
||||
font-size: 150%;
|
||||
margin-left: 0;
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
#summary > p > strong {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
#contact {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#summary > header > .fa-info {
|
||||
font-size: 70px;
|
||||
/*letter-spacing: 5px; PDFs hate letter-spacing */
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
top: 50%;
|
||||
left: -85px;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
#summary h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
.label-keyword {
|
||||
display: inline-block;
|
||||
background: #7eb0db;
|
||||
color: white;
|
||||
background: #e8f4ff;
|
||||
color: black;
|
||||
font-size: 0.9em;
|
||||
padding: 5px;
|
||||
border: 1px solid #357ebd;
|
||||
border-radius: 5px;
|
||||
margin-top: 2px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.notes {
|
||||
font-size: 10px;
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.card-skills {
|
||||
@ -171,6 +219,12 @@ a:hover {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
.skill-info > strong {
|
||||
font-weight: 400;
|
||||
font-size: 24px;
|
||||
color: #1d1d1d;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
padding-left: 0;
|
||||
@ -182,7 +236,7 @@ a:hover {
|
||||
}
|
||||
|
||||
.space-top {
|
||||
margin-top: 10px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#container {
|
||||
|
@ -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>
|
||||
|
||||
@ -139,7 +139,12 @@
|
||||
<div class="space-top labels">
|
||||
{{#if skills}}
|
||||
{{#each skills}}
|
||||
<span class="label label-keyword">{{ this }}</span>
|
||||
<div class="label label-keyword">
|
||||
<span class="kw">{{ this }}</span>
|
||||
{{#ifHasSkill @root.r .}}
|
||||
<span class="notes">{{skillYears . }} years</span>
|
||||
{{/ifHasSkill}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
@ -312,6 +317,7 @@ also doesn't render any content.
|
||||
--> }}
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{#*inline "icon-writing"}}<span class="fa fa-lg fa-pencil"></span>{{/inline}}
|
||||
@ -328,6 +334,7 @@ also doesn't render any content.
|
||||
--> }}
|
||||
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> section/extracurricular _icon="icon-extracurricular"}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
{{> section/writing _icon="icon-writing"}}
|
||||
|
@ -13,7 +13,7 @@
|
||||
},
|
||||
"fonts": {
|
||||
"all": {
|
||||
"default": [ "Helvetica Neue", "Helvetica", "Segoe UI", "Calibri", "sans-serif" ],
|
||||
"default": [ "Open Sans", "Helvetica Neue", "Helvetica", "Segoe UI", "Calibri", "sans-serif" ],
|
||||
"heading1": ["Arial"],
|
||||
"heading2": ["Arial"]
|
||||
},
|
||||
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 126 KiB |
20
themes/positive/src/partials/education.hbs
Normal file
@ -0,0 +1,20 @@
|
||||
{{#section "education"}}
|
||||
<hr>
|
||||
<section id="education">
|
||||
{{#> header-education }}
|
||||
{{> header-icon _title="EDUCATION" _section="education" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-education}}
|
||||
{{#each r.education.history}}
|
||||
{{#> body-education }}
|
||||
<div>
|
||||
<h3>{{#if title}}<em>{{{ title }}}</em>, {{/if}}{{{ institution }}}</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if location}}<span class="location">{{location}}</span>{{/if}}
|
||||
{{{ summary }}}
|
||||
{{> highlights }}
|
||||
{{#if curriculum}}<span class="keywords">{{#each curriculum}}{{{ . }}} {{/each}}</span>{{/if}}
|
||||
</div>
|
||||
{{/body-education}}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
26
themes/positive/src/partials/employment.hbs
Normal file
@ -0,0 +1,26 @@
|
||||
{{#section "employment"}}
|
||||
<hr>
|
||||
<section id="employment">
|
||||
{{#> header-employment }}
|
||||
{{> header-icon _title="EMPLOYMENT" _section="employment" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-employment}}
|
||||
{{#each r.employment.history}}
|
||||
{{#> body-employment }}
|
||||
<div>
|
||||
<h3><em>{{ position }}</em>,
|
||||
{{#if url }}
|
||||
<a href="{{{ url }}}">{{ employer }}</a>
|
||||
{{else}}
|
||||
{{ employer }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if location}}<span class="location">{{location}}</span>{{/if}}
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
{{#if keywords}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>{{/if}}
|
||||
</div>
|
||||
{{/body-employment}}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
27
themes/positive/src/partials/extracurricular.hbs
Normal file
@ -0,0 +1,27 @@
|
||||
{{#section "extracurricular"}}
|
||||
<hr>
|
||||
<section id="extracurricular">
|
||||
{{#> header-extracurricular }}
|
||||
{{> header-icon _title="EXTRACURRICULAR" _section="extracurricular" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-extracurricular}}
|
||||
|
||||
{{#each r.extracurricular}}
|
||||
{{#> body-extracurricular }}
|
||||
<div>
|
||||
<h3><em>{{ title }}</em>,
|
||||
{{#if url }}
|
||||
<a href="{{{ url }}}">{{ activity }}</a>
|
||||
{{else}}
|
||||
{{ activity }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if location}}<span class="location">{{location}}</span>{{/if}}
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
{{#if keywords}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>{{/if}}
|
||||
</div>
|
||||
{{/body-extracurricular}}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
25
themes/positive/src/partials/service.hbs
Normal file
@ -0,0 +1,25 @@
|
||||
{{#section "service"}}
|
||||
<hr>
|
||||
<section id="service">
|
||||
{{#> header-samples }}
|
||||
{{> header-icon _title="SERVICE" _section="service" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-samples}}
|
||||
{{#each r.service.history}}
|
||||
{{#> body-service }}
|
||||
<div>
|
||||
<h3><em>{{ position }}</em>,
|
||||
{{#if url}}
|
||||
<a href="{{{ url }}}">{{ organization }}</a>
|
||||
{{else}}
|
||||
{{ organization }}
|
||||
{{/if}}
|
||||
</h3>
|
||||
<span class="tenure">{{dateRange .}}</span>
|
||||
{{#if location}}<span class="location">{{location}}</span>{{/if}}
|
||||
<p>{{{ summary }}}</p>
|
||||
{{> highlights }}
|
||||
</div>
|
||||
{{/body-service }}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
16
themes/positive/src/partials/testimonials.hbs
Normal file
@ -0,0 +1,16 @@
|
||||
{{#section "testimonials"}}
|
||||
<hr>
|
||||
<section id="testimonials">
|
||||
{{#> header-testimonials }}
|
||||
{{> header-icon _title="TESTIMONIALS" _section="testimonials" _hdricon=(lookup . '_icon') }}
|
||||
{{/header-testimonials}}
|
||||
{{#each r.testimonials}}
|
||||
{{#> body-testimonials }}
|
||||
<div>
|
||||
<h3><em>{{ name }}</em>{{#if organization}}, {{ organization }}{{/if}}</h3>
|
||||
<p>{{{ quote }}}</p>
|
||||
</div>
|
||||
{{/body-testimonials}}
|
||||
{{/each}}
|
||||
</section>
|
||||
{{/section}}
|
@ -119,6 +119,11 @@
|
||||
{{/inline}}
|
||||
{{#section "service"}}{{> section/service }}{{/section}}
|
||||
|
||||
{{#*inline "header-extracurricular"}}
|
||||
{{> header-icon _title="EXTRACURRICULAR" _section="extracurricular" _icon="pict/srv" }}
|
||||
{{/inline}}
|
||||
{{#section "extracurricular"}}{{> section/extracurricular }}{{/section}}
|
||||
|
||||
{{#*inline "header-writing"}}
|
||||
{{> header-icon _title="WRITING" _section="writing" _icon="pict/wri" }}
|
||||
{{/inline}}
|
||||
|
@ -1,10 +1,24 @@
|
||||
html, body, main, section, header, ul, p, h1, h2, h3 {
|
||||
font-family: {{{fontList 'default'}}};
|
||||
font-size: 14px;
|
||||
line-height: 1.4;
|
||||
margin: 0; padding: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: #fff;
|
||||
background: #e48a8a; /* WebKit/Blink Browsers */
|
||||
}
|
||||
::-moz-selection {
|
||||
color: #fff;
|
||||
background: #e48a8a; /* Gecko Browsers */
|
||||
}
|
||||
|
||||
p::selection {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #{{color 'hyperlink'}};
|
||||
text-decoration: none;
|
||||
@ -33,26 +47,25 @@ h2 {
|
||||
|
||||
h3, .tenure {
|
||||
font-size: 1.5em;
|
||||
font-weight: 300;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 0;
|
||||
width: 66%;
|
||||
margin-bottom: 5px;
|
||||
/*width: 85%;*/
|
||||
float: left;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
text-transform: uppercase;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
td:first-child {
|
||||
text-align: right;
|
||||
color: #A9A9A9;
|
||||
letter-spacing: 5px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 2px;
|
||||
color: #bd5b5b;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
td:last-child {
|
||||
@ -70,11 +83,11 @@ main {
|
||||
}
|
||||
|
||||
section {
|
||||
margin-top: 1em;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
section > div {
|
||||
margin-top: 1em;
|
||||
margin-top: 2em;
|
||||
overflow: hidden; /* Clear floated children */
|
||||
}
|
||||
|
||||
@ -86,6 +99,10 @@ section > header {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p + ul {
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
ul {
|
||||
clear: both;
|
||||
}
|
||||
@ -105,10 +122,26 @@ p, li {
|
||||
border-radius: 6px;
|
||||
padding: 4px 6px;
|
||||
font-size: 85%;
|
||||
font-weight: 600;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.location {
|
||||
border: #e2aaaa dashed 1px;
|
||||
background-color: #ffffff;
|
||||
padding: 3px 6px;
|
||||
border-radius: 6px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
float: right;
|
||||
font-size: 85%;
|
||||
color: #717171;
|
||||
font-weight: 600;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
span.keywords {
|
||||
font-size: 10px;
|
||||
font-size: 12px;
|
||||
color: #B16666;
|
||||
}
|
||||
|
||||
@ -136,6 +169,11 @@ h1, h2, .label {
|
||||
#contact {
|
||||
clear: both;
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
#contact span + span {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
header > span.fa {
|
||||
@ -143,7 +181,7 @@ header > span.fa {
|
||||
margin-right: 3px;
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
top: 10px;
|
||||
top: 14px;
|
||||
font-size: 30px;
|
||||
/*transform: translateX(-110%); PDF no likey */
|
||||
margin-left: -50px;
|
||||
@ -158,4 +196,19 @@ header > span.fa {
|
||||
#summary {
|
||||
color: #717171;
|
||||
font-size: 1.25em;
|
||||
margin-top: 6em;
|
||||
}
|
||||
|
||||
#skills td {
|
||||
padding-top: 7px;
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
#references > p, #references > p > a {
|
||||
color: #961e1e;
|
||||
text-align: center;
|
||||
margin: 30px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 2px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
@ -38,19 +38,22 @@
|
||||
{{> section/skills _icon="icon-skills"}}
|
||||
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-lg fa-building"></span>{{/inline}}
|
||||
{{> section/employment _icon="icon-employment" }}
|
||||
{{> employment _icon="icon-employment"}}
|
||||
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-lg fa-star"></span>{{/inline}}
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
||||
{{#*inline "icon-education"}}<span class="fa fa-lg fa-mortar-board"></span>{{/inline}}
|
||||
{{> section/education _icon="icon-education"}}
|
||||
{{> education _icon="icon-education"}}
|
||||
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> service _icon="icon-service"}}
|
||||
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{> extracurricular _icon="icon-extracurricular"}}
|
||||
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
@ -68,10 +71,20 @@
|
||||
{{> section/speaking _icon="icon-speaking"}}
|
||||
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-lg fa-quote-left"></span>{{/inline}}
|
||||
{{> section/testimonials _icon="icon-testimonials"}}
|
||||
{{> testimonials _icon="icon-testimonials"}}
|
||||
|
||||
{{#if r.references}}
|
||||
{{#section "references"}}
|
||||
<section id="references">
|
||||
{{#if r.contact.email}}
|
||||
<p><a href="mailto:{{{ r.contact.email }}}">References available on request</a></p>
|
||||
{{else}}
|
||||
<p>References available on request</p>
|
||||
{{/if}}
|
||||
</section>
|
||||
{{/section}}
|
||||
{{/if}}
|
||||
|
||||
{{#*inline "icon-references"}}<span class="fa fa-lg fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{> section/references _icon="icon-references"}}
|
||||
|
||||
</main>
|
||||
</body>
|
||||
|
@ -1,12 +1,26 @@
|
||||
html, body, main, section, header, ul, p, h1, h2, h3 {
|
||||
font-family: Calibri, 'Open Sans', sans-serif;
|
||||
font-family: {{{fontList 'default'}}};
|
||||
font-size: 14px;
|
||||
line-height: 1.4;
|
||||
margin: 0; padding: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: #fff;
|
||||
background: #e48a8a; /* WebKit/Blink Browsers */
|
||||
}
|
||||
::-moz-selection {
|
||||
color: #fff;
|
||||
background: #e48a8a; /* Gecko Browsers */
|
||||
}
|
||||
|
||||
p::selection {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0064BD;
|
||||
color: #{{color 'hyperlink'}};
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@ -31,24 +45,27 @@ h2 {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h3, .tenure {
|
||||
font-size: 1.5em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1em;
|
||||
margin-top: 0;
|
||||
width: 66%;
|
||||
margin-bottom: 5px;
|
||||
/*width: 85%;*/
|
||||
float: left;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
text-transform: uppercase;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
td:first-child {
|
||||
text-align: right;
|
||||
color: #A9A9A9;
|
||||
/*letter-spacing: 5px;*/
|
||||
font-weight: bold;
|
||||
letter-spacing: 0;
|
||||
color: #bd5b5b;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
td:last-child {
|
||||
@ -66,11 +83,11 @@ main {
|
||||
}
|
||||
|
||||
section {
|
||||
margin-top: 1em;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
section > div {
|
||||
margin-top: 1em;
|
||||
margin-top: 2em;
|
||||
overflow: hidden; /* Clear floated children */
|
||||
}
|
||||
|
||||
@ -82,6 +99,14 @@ section > header {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p + ul {
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
ul {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-left: 2em;
|
||||
}
|
||||
@ -92,6 +117,32 @@ p, li {
|
||||
|
||||
.tenure {
|
||||
float: right;
|
||||
color: #6F6F6F;
|
||||
background-color: #F5F5F5;
|
||||
border-radius: 6px;
|
||||
padding: 4px 6px;
|
||||
font-size: 85%;
|
||||
font-weight: 600;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.location {
|
||||
border: #e2aaaa dashed 1px;
|
||||
background-color: #ffffff;
|
||||
padding: 3px 6px;
|
||||
border-radius: 6px;
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
float: right;
|
||||
font-size: 85%;
|
||||
color: #717171;
|
||||
font-weight: 600;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
span.keywords {
|
||||
font-size: 12px;
|
||||
color: #B16666;
|
||||
}
|
||||
|
||||
thead {
|
||||
@ -112,12 +163,17 @@ h1, h2, .label {
|
||||
font-size: 2.5em;
|
||||
text-transform: uppercase;
|
||||
font-weight: 300;
|
||||
font-family: 'Open Sans', 'Segoe UI', sans-serif;
|
||||
font-family: {{{fontList 'heading1'}}}
|
||||
}
|
||||
|
||||
#contact {
|
||||
clear: both;
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
#contact span + span {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
header > span.fa {
|
||||
@ -125,7 +181,7 @@ header > span.fa {
|
||||
margin-right: 3px;
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
top: 10px;
|
||||
top: 14px;
|
||||
font-size: 30px;
|
||||
/*transform: translateX(-110%); PDF no likey */
|
||||
margin-left: -50px;
|
||||
@ -140,4 +196,19 @@ header > span.fa {
|
||||
#summary {
|
||||
color: #717171;
|
||||
font-size: 1.25em;
|
||||
margin-top: 6em;
|
||||
}
|
||||
|
||||
#skills td {
|
||||
padding-top: 7px;
|
||||
padding-bottom: 7px;
|
||||
}
|
||||
|
||||
#references > p, #references > p > a {
|
||||
color: #961e1e;
|
||||
text-align: center;
|
||||
margin: 30px;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ r.name }}</title>
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
{{{styleSheet "positive-pdf.css"}}}
|
||||
</head>
|
||||
@ -38,19 +38,22 @@
|
||||
{{> section/skills _icon="icon-skills"}}
|
||||
|
||||
{{#*inline "icon-employment"}}<span class="fa fa-lg fa-building"></span>{{/inline}}
|
||||
{{> section/employment _icon="icon-employment" }}
|
||||
{{> employment _icon="icon-employment"}}
|
||||
|
||||
{{#*inline "icon-projects"}}<span class="fa fa-lg fa-star"></span>{{/inline}}
|
||||
{{> section/projects _icon="icon-projects"}}
|
||||
|
||||
{{#*inline "icon-education"}}<span class="fa fa-lg fa-mortar-board"></span>{{/inline}}
|
||||
{{> section/education _icon="icon-education"}}
|
||||
{{> education _icon="icon-education"}}
|
||||
|
||||
{{#*inline "icon-affiliation"}}<span class="fa fa-lg fa-share-alt"></span>{{/inline}}
|
||||
{{> section/affiliation _icon="icon-affiliation"}}
|
||||
|
||||
{{#*inline "icon-service"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{> section/service _icon="icon-service"}}
|
||||
{{> service _icon="icon-service"}}
|
||||
|
||||
{{#*inline "icon-extracurricular"}}<span class="fa fa-lg fa-child"></span>{{/inline}}
|
||||
{{> extracurricular _icon="icon-extracurricular"}}
|
||||
|
||||
{{#*inline "icon-samples"}}<span class="fa fa-lg fa-share"></span>{{/inline}}
|
||||
{{> section/samples _icon="icon-samples"}}
|
||||
@ -68,11 +71,21 @@
|
||||
{{> section/speaking _icon="icon-speaking"}}
|
||||
|
||||
{{#*inline "icon-testimonials"}}<span class="fa fa-lg fa-quote-left"></span>{{/inline}}
|
||||
{{> section/testimonials _icon="icon-testimonials"}}
|
||||
{{> testimonials _icon="icon-testimonials"}}
|
||||
|
||||
{{#*inline "icon-references"}}<span class="fa fa-lg fa-thumbs-o-up"></span>{{/inline}}
|
||||
{{> section/references _icon="icon-references"}}
|
||||
{{#if r.references}}
|
||||
{{#section "references"}}
|
||||
<section id="references">
|
||||
{{#if r.contact.email}}
|
||||
<p><a href="mailto:{{{ r.contact.email }}}">References available on request</a></p>
|
||||
{{else}}
|
||||
<p>References available on request</p>
|
||||
{{/if}}
|
||||
</section>
|
||||
{{/section}}
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -12,7 +12,7 @@
|
||||
},
|
||||
"fonts": {
|
||||
"all": {
|
||||
"default": [ "Calibri", "Open Sans", "sans-serif" ],
|
||||
"default": [ "Open Sans", "sans-serif" ],
|
||||
"heading1": [ "Open Sans", "Helvetica Neue", "Helvetica", "Lato", "sans-serif" ],
|
||||
"heading2": [ "Helvetica Neue", "Helvetica", "Lato", "sans-serif" ]
|
||||
},
|
||||
|