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

Compare commits

...

61 Commits

Author SHA1 Message Date
ceb9901669 feat: partials: improve consistency of MD & TXT formats 2018-02-07 23:23:16 -05:00
3ed791b1f4 docs: fix CHANGELOG project link 2018-02-07 20:43:47 -05:00
8ca82de33e chore: introduce project changelog 2018-02-07 20:41:01 -05:00
f5fa665ea2 chore: update README link 2018-02-07 19:16:40 -05:00
50846ab663 fix: modern: pdf: repair stylesheet link 2018-02-07 07:35:35 -05:00
697519d70d chore: update '/themes/' README 2018-02-07 03:58:57 -05:00
ee0f694ccf chore: remove unnecessary .gitignore entry 2018-02-07 03:56:15 -05:00
4fcdf560fc feat: modern: improve cosmetics 2018-02-07 03:51:47 -05:00
3350494294 fix: modern: update section id' 2018-02-06 21:32:01 -05:00
5e4f6e39c6 feat: modern: add 'extracurricular' section 2018-02-06 21:30:04 -05:00
c0d6f8993a feat: modern: update PDF from HTML 2018-02-06 21:28:13 -05:00
e7ff6c2554 docs: document /partials/ folder 2018-02-06 21:06:12 -05:00
20dbf8a13c feat: compact: add 'extracurricular' section 2018-02-06 20:44:21 -05:00
99981dba83 docs: update link to 'basis' theme 2018-02-06 04:59:13 -05:00
7a69f534a2 chore: update contributors for 0.17.0-beta 2018-02-06 04:54:57 -05:00
c56b304987 chore: push 'lancer' theme to 1.0 2018-02-06 04:49:34 -05:00
7c2a9c6706 feat: update styles 2018-02-06 03:54:28 -05:00
68e69a92a6 feat: add 'extracurricular' section 2018-02-06 03:53:38 -05:00
ac0b0a1cc6 feat: positive: update sample image 2018-02-05 21:45:24 -05:00
32d977048f feat: customize testimonials & references sections 2018-02-05 21:34:33 -05:00
6b043d8046 fix: hide location if not provided 2018-02-05 21:32:15 -05:00
85f9c0cc00 feat: improve cosmetics in positive:html 2018-02-05 09:23:37 -05:00
86e5f11976 chore: update copyright year 2018-02-05 02:26:41 -05:00
cda5b7175e docs: update READMEs with recent changes 2018-02-05 02:25:42 -05:00
d1836c7606 feat: mount modern-lancer theme on module object 2018-02-05 02:24:36 -05:00
2257b3bc7d chore: update theme.json name 2018-02-05 02:23:45 -05:00
128512b03d chore: bump fresh-themes version to 0.17.0-beta 2018-02-05 02:01:51 -05:00
e876aca91c Merge branch 'dev' of https://github.com/fresh-standard/fresh-themes into dev 2018-02-05 00:29:45 -05:00
bd10ba9cd1 Merge pull request #50 from softwarerero/master
Theme modern-lancer
2018-02-03 07:37:46 -05:00
bf68b3fba1 docs: update README links 2018-02-02 20:12:20 -05:00
4d4b467d2f chore: update GitHub URL 2018-02-02 20:11:31 -05:00
514e44339b Merge branch 'master' into dev 2018-02-02 15:39:29 -05:00
d2f00691ff chore: bump fresh-themes version to 1.0.0-beta 2018-02-02 15:37:54 -05:00
05f7da40c0 Merge pull request #53 from ben-e-whitney/dev
Awesome: add service section and make corrections to writing section.
2018-02-02 15:33:46 -05:00
a55c566bec Merge pull request #49 from JonathanWolfe/patch-1
Give stuff breathing room and better text on `Positive` theme
2018-02-02 15:32:47 -05:00
7e3e74d5e9 Merge pull request #57 from hareekum/master
Show employer location, related positive theme change
2018-02-02 15:31:36 -05:00
2c3763248d chore: bump version to 0.16.0-beta 2018-02-01 09:30:00 -05:00
aca092f5d1 chore: mount themes on module object 2018-02-01 09:28:13 -05:00
9e4cae697b chore: merge master > dev 2018-02-01 09:22:09 -05:00
f8e0cb24dd feat: intro sample custom helpers in 'basis' theme 2018-02-01 02:33:26 -05:00
5d5b691687 Merge branch 'dev' into master 2018-01-26 00:44:50 -08:00
8f3f96c723 Show employer location 2018-01-26 00:30:11 -08:00
0fd6b593fa Modern: Fix contact info in PDF resume. 2018-01-25 18:32:34 -05:00
0d46a2d402 Merge pull request #54 from ben-e-whitney/unicode-math
Delete removed `unicode-math` option.
2018-01-24 22:50:59 -05:00
51c8451137 Merge pull request #56 from ben-e-whitney/position-definition
Awesome: Avoid LaTeX error when label is undefined.
2018-01-24 22:44:20 -05:00
2b8e81d11c Merge pull request #51 from jonathonlui/master
Fixed the #has usage in contact section of the modern theme
2018-01-24 22:36:41 -05:00
d975a8cc6b Use secure HackMyResume URL. 2018-01-24 21:39:48 -05:00
57e4f26d20 Awesome: avoid LaTeX error with undefined label. 2018-01-03 12:27:25 -05:00
9a4a386901 Delete removed unicode-math option.
See <https://www.ctan.org/ctan-ann/id/
mailman.2585.1485610970.17497.ctan-ann@ctan.org>.
2017-09-22 18:23:33 -04:00
8425808a32 Delete removed unicode-math option.
See <https://www.ctan.org/ctan-ann/id/
mailman.2585.1485610970.17497.ctan-ann@ctan.org>.
2017-09-22 17:55:12 -04:00
5762fb3a44 Awesome: add service section. 2017-03-16 11:27:16 -04:00
978cedf716 Awesome: follow FRESCA in writing section.
1. Writing publishers can be either strings or objects.
2. Writings have summaries, not highlights.
2017-03-08 17:03:53 -05:00
a9989d94b6 Fixed #has in modern-pdf.html 2016-05-31 17:46:45 -07:00
21de6997a3 Fixed {{#has }} usage 2016-05-31 17:41:54 -07:00
bb1cb0888f added skype 2016-03-30 13:31:56 -04:00
bdf1485cbe changed theme name 2016-03-23 13:59:21 -03:00
04cc09a54c documentation, rename employment section work 2016-03-23 13:54:39 -03:00
04842537bd derive modern-lancer from modern 2016-03-21 12:41:18 -03:00
ab93217be3 fix pdf letter spacing 2016-03-17 16:45:11 -04:00
f67df3e4fa add changes to PDF css too 2016-03-17 16:20:41 -04:00
01c7b0412b Give stuff breathing room and better text
Adds a better line-height, more space between sections, fixes lists next to paragraphs being awful, makes the skills section readable, adds margins where needed.
2016-03-17 16:02:28 -04:00
58 changed files with 856 additions and 147 deletions

1
.gitignore vendored
View File

@ -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
View 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

View File

@ -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

View File

@ -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
View 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')
}
};
}());

View File

@ -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
View 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.

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

View File

@ -15,6 +15,7 @@
{{ employer }}
{{/if}}
</h3>
<span class="location">{{location}}</span>
<span class="tenure">{{dateRange .}}</span>
<p>{{{ summary }}}</p>
{{> highlights }}

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

View File

@ -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 }}

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

View File

@ -6,10 +6,9 @@
{{{ summary }}}
{{#if highlights}}
{{#each highlights}}
- {{{ this }}}
{{/each}}
{{/if}}
{{/each}}{{/if}}
{{/each}}
{{/section}}

View File

@ -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}}

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

View File

@ -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}}

View File

@ -1 +1,4 @@
{{#has 'info.brief' }}{{{ r.info.brief }}}{{/has}}
{{#has 'info.brief' }}
{{{ r.info.brief }}}
{{/has}}

View File

@ -3,7 +3,6 @@
{{#each r.samples }}
{{{ title }}} ({{date date}})
{{{ summary }}}
{{#if highlights}}
{{#each highlights}}

View File

@ -4,4 +4,5 @@
{{#each r.skills.sets}}
- {{{ name }}}: {{#each skills}}{{{ . }}} {{/each}}
{{/each}}
{{/section}}

View File

@ -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}}

View File

@ -1,9 +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.
- [`awesome`](awesome): A LaTeX theme based on Awesome-CV.

View File

@ -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

View File

@ -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}

View File

@ -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}

View 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}
[~ } ~]

View File

@ -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
[~ }); ~]
%---------------------------------------------------------

View File

@ -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}

View 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}
[~ } ~]

View File

@ -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
[~ }); ~]
%---------------------------------------------------------

View File

@ -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",

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

View File

@ -47,6 +47,8 @@
{{> section/service }}
{{> section/extracurricular }}
{{> section/samples }}
{{> section/writing }}

View File

@ -28,6 +28,8 @@
{{> section/recognition }}
{{> section/extracurricular }}
{{> section/speaking }}
{{> section/references }}

View File

@ -47,6 +47,8 @@
{{> section/service }}
{{> section/extracurricular }}
{{> section/samples }}
{{> section/writing }}

View File

@ -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 }}

View File

@ -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"]
}

View File

@ -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}}

View File

@ -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"}}

View File

@ -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"}}

View File

@ -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

View File

@ -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}}

View File

@ -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 {

View File

@ -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"}}

View File

@ -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 {

View File

@ -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"}}

View File

@ -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"]
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 126 KiB

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

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

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

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

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

View File

@ -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}}

View File

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

View File

@ -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>

View File

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

View File

@ -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>

View File

@ -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" ]
},