Compare commits

...

70 Commits

Author SHA1 Message Date
hacksalot ceb9901669
feat: partials: improve consistency of MD & TXT formats 2018-02-07 23:23:16 -05:00
hacksalot 3ed791b1f4
docs: fix CHANGELOG project link 2018-02-07 20:43:47 -05:00
hacksalot 8ca82de33e
chore: introduce project changelog 2018-02-07 20:41:01 -05:00
hacksalot f5fa665ea2
chore: update README link 2018-02-07 19:16:40 -05:00
hacksalot 50846ab663
fix: modern: pdf: repair stylesheet link 2018-02-07 07:35:35 -05:00
hacksalot 697519d70d
chore: update '/themes/' README 2018-02-07 03:58:57 -05:00
hacksalot ee0f694ccf
chore: remove unnecessary .gitignore entry 2018-02-07 03:56:15 -05:00
hacksalot 4fcdf560fc
feat: modern: improve cosmetics 2018-02-07 03:51:47 -05:00
hacksalot 3350494294
fix: modern: update section id' 2018-02-06 21:32:01 -05:00
hacksalot 5e4f6e39c6
feat: modern: add 'extracurricular' section 2018-02-06 21:30:04 -05:00
hacksalot c0d6f8993a
feat: modern: update PDF from HTML 2018-02-06 21:28:13 -05:00
hacksalot e7ff6c2554
docs: document /partials/ folder 2018-02-06 21:06:12 -05:00
hacksalot 20dbf8a13c
feat: compact: add 'extracurricular' section 2018-02-06 20:44:21 -05:00
hacksalot 99981dba83
docs: update link to 'basis' theme 2018-02-06 04:59:13 -05:00
hacksalot 7a69f534a2
chore: update contributors for 0.17.0-beta 2018-02-06 04:54:57 -05:00
hacksalot c56b304987
chore: push 'lancer' theme to 1.0 2018-02-06 04:49:34 -05:00
hacksalot 7c2a9c6706
feat: update styles 2018-02-06 03:54:28 -05:00
hacksalot 68e69a92a6
feat: add 'extracurricular' section 2018-02-06 03:53:38 -05:00
hacksalot ac0b0a1cc6
feat: positive: update sample image 2018-02-05 21:45:24 -05:00
hacksalot 32d977048f
feat: customize testimonials & references sections 2018-02-05 21:34:33 -05:00
hacksalot 6b043d8046
fix: hide location if not provided 2018-02-05 21:32:15 -05:00
hacksalot 85f9c0cc00
feat: improve cosmetics in positive:html 2018-02-05 09:23:37 -05:00
hacksalot 86e5f11976
chore: update copyright year 2018-02-05 02:26:41 -05:00
hacksalot cda5b7175e
docs: update READMEs with recent changes 2018-02-05 02:25:42 -05:00
hacksalot d1836c7606
feat: mount modern-lancer theme on module object 2018-02-05 02:24:36 -05:00
hacksalot 2257b3bc7d
chore: update theme.json name 2018-02-05 02:23:45 -05:00
hacksalot 128512b03d
chore: bump fresh-themes version to 0.17.0-beta 2018-02-05 02:01:51 -05:00
hacksalot e876aca91c Merge branch 'dev' of https://github.com/fresh-standard/fresh-themes into dev 2018-02-05 00:29:45 -05:00
hacksalot bd10ba9cd1
Merge pull request #50 from softwarerero/master
Theme modern-lancer
2018-02-03 07:37:46 -05:00
hacksalot bf68b3fba1
docs: update README links 2018-02-02 20:12:20 -05:00
hacksalot 4d4b467d2f
chore: update GitHub URL 2018-02-02 20:11:31 -05:00
hacksalot 514e44339b Merge branch 'master' into dev 2018-02-02 15:39:29 -05:00
hacksalot d2f00691ff
chore: bump fresh-themes version to 1.0.0-beta 2018-02-02 15:37:54 -05:00
hacksalot 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
hacksalot 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
hacksalot 7e3e74d5e9
Merge pull request #57 from hareekum/master
Show employer location, related positive theme change
2018-02-02 15:31:36 -05:00
hacksalot 2c3763248d
chore: bump version to 0.16.0-beta 2018-02-01 09:30:00 -05:00
hacksalot aca092f5d1
chore: mount themes on module object 2018-02-01 09:28:13 -05:00
hacksalot 9e4cae697b
chore: merge master > dev 2018-02-01 09:22:09 -05:00
hacksalot f8e0cb24dd
feat: intro sample custom helpers in 'basis' theme 2018-02-01 02:33:26 -05:00
hareekum 5d5b691687
Merge branch 'dev' into master 2018-01-26 00:44:50 -08:00
Hari Kumar 8f3f96c723 Show employer location 2018-01-26 00:30:11 -08:00
hacksalot 0fd6b593fa
Modern: Fix contact info in PDF resume. 2018-01-25 18:32:34 -05:00
hacksalot 0d46a2d402
Merge pull request #54 from ben-e-whitney/unicode-math
Delete removed `unicode-math` option.
2018-01-24 22:50:59 -05:00
hacksalot 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
hacksalot 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
hacksalot d975a8cc6b Use secure HackMyResume URL. 2018-01-24 21:39:48 -05:00
Ben Whitney 57e4f26d20 Awesome: avoid LaTeX error with undefined label. 2018-01-03 12:27:25 -05:00
Ben Whitney 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
Ben Whitney 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
Ben Whitney 5762fb3a44 Awesome: add service section. 2017-03-16 11:27:16 -04:00
Ben Whitney 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
Jonathon Lui a9989d94b6 Fixed #has in modern-pdf.html 2016-05-31 17:46:45 -07:00
Jonathon Lui 21de6997a3 Fixed {{#has }} usage 2016-05-31 17:41:54 -07:00
softwarerero bb1cb0888f added skype 2016-03-30 13:31:56 -04:00
softwarerero bdf1485cbe changed theme name 2016-03-23 13:59:21 -03:00
softwarerero 04cc09a54c documentation, rename employment section work 2016-03-23 13:54:39 -03:00
softwarerero 04842537bd derive modern-lancer from modern 2016-03-21 12:41:18 -03:00
Jon Wolfe ab93217be3 fix pdf letter spacing 2016-03-17 16:45:11 -04:00
Jon Wolfe f67df3e4fa add changes to PDF css too 2016-03-17 16:20:41 -04:00
Jon Wolfe 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
hacksalot 3cbbc36818 Update .gitignore. 2016-02-14 04:15:52 -05:00
hacksalot f06f82a34f Bump version to 0.15.1-beta. 2016-02-14 00:15:27 -05:00
hacksalot 01cfdb00e0 Improve date formatting consistency.
Make sure partials use either the {{date}} or {{dateRange}} helpers.
2016-02-14 00:14:58 -05:00
hacksalot cdbb030389 Partials: TXT: Fix date glitch. 2016-02-14 00:02:49 -05:00
hacksalot cfef0a43a8 Bump version to 0.15.0-beta. 2016-02-13 22:52:46 -05:00
hacksalot a9f002e89a Awesome: Improve date handling. 2016-02-13 22:48:52 -05:00
hacksalot 3d2b6318ed Awesome: Adjust whitespace. 2016-02-11 22:00:34 -05:00
hacksalot c7db59a5b9 Awesome: Remove explicit symlinks.
Handled implicitly by HMR.
2016-02-11 10:21:37 -05:00
hacksalot e2a04958b0 Awesome: Update from upstream.
Refresh files for "Awesome" theme, now driven by fluentdesk/Awesome-CV,
a templatized fork of posquit0/Awesome-CV.
2016-02-11 10:10:10 -05:00
101 changed files with 1892 additions and 674 deletions

2
.gitignore vendored
View File

@ -1,2 +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.14.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

@ -31,7 +31,7 @@
<w:rPr>
<w:rStyle w:val="FromTo"/>
</w:rPr>
<w:t>{{formatDate safe.start 'YYYY' }}{{formatDate safe.end 'YYYY'}}</w:t>
<w:t>{{dateRange . 'YYYY'}}</w:t>
</w:r>
</w:p>
{{#either area studyType }}

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

@ -31,7 +31,7 @@
<w:rPr>
<w:rStyle w:val="FromTo"/>
</w:rPr>
<w:t>{{formatDate safe.date 'YYYY-MM'}}</w:t>
<w:t>{{date date}}</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">

View File

@ -34,7 +34,7 @@
<w:rPr>
<w:rStyle w:val="FromTo"/>
</w:rPr>
<w:t>{{formatDate safe.start 'MMM YYYY'}}{{formatDate safe.end 'MMM YYYY'}}</w:t>
<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">

View File

@ -31,7 +31,7 @@
<w:rPr>
<w:rStyle w:val="FromTo"/>
</w:rPr>
<w:t>{{formatDate safe.date 'YYYY-MM'}}</w:t>
<w:t>{{date date}}</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00C146CA" wsp:rsidRPr="000A3AF0" wsp:rsidRDefault="00C146CA" wsp:rsidP="00C146CA">

View File

@ -30,7 +30,7 @@
<w:rPr>
<w:rStyle w:val="FromTo"/>
</w:rPr>
<w:t>{{formatDate safe.date 'YYYY'}}</w:t>
<w:t>{{date date 'YYYY'}}</w:t>
</w:r>
</w:p>
{{#if summary}}

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,7 @@
{{#> body-interests }}
<div>
<h3><em>{{{ name }}}</em></h3>
<span class="tenure">{{formatDate safe.date 'YYYY' }}</span>
<span class="tenure">{{date date 'YYYY' }}</span>
{{{ summary }}}
{{> highlights }}
</div>

View File

@ -8,7 +8,7 @@
{{#> body-reading }}
<div>
<h3><em>{{#if url}}<a href="{{{ url }}}">{{{ title }}}</a>{{else}}{{{ title }}}{{/if}}</em>{{#if author}}, {{{ author }}}{{/if}}</h3>
<span class="tenure">{{formatDate safe.date 'YYYY'}}</span>
<span class="tenure">{{date date 'YYYY'}}</span>
{{{ summary }}}
</div>
{{/body-reading}}

View File

@ -8,7 +8,7 @@
{{#> body-recognition }}
<div>
<h3><em>{{ title }}</em>, {{{link from url }}}</h3>
<span class="tenure">{{formatDate safe.date 'YYYY' }}</span>
<span class="tenure">{{date date 'YYYY' }}</span>
{{{ summary }}}
{{> highlights }}
</div>

View File

@ -14,7 +14,7 @@
{{ title }}
{{/if}}
</h3>
<span class="tenure">{{formatDate safe.date 'YYYY-MM'}}</span>
<span class="tenure">{{date date 'YYYY-MM'}}</span>
{{{ summary }}}
{{> highlights }}
</div>

View File

@ -8,7 +8,7 @@
{{#> body-speaking }}
<div>
<h3><em>{{{ title }}}</em>, {{{ event }}}</h3>
<span class="tenure">{{formatDate safe.date 'YYYY' }}</span>
<span class="tenure">{{date date 'YYYY' }}</span>
{{{ summary }}}
{{> highlights }}
</div>

View File

@ -8,8 +8,9 @@
{{#> body-writing }}
<div>
<h3><em>{{#if url}}<a href="{{{ url }}}">{{{ title }}}</a>{{else}}{{{ title }}}{{/if}}</em>,
{{ publisher.name }}</h3>
<span class="tenure">{{formatDate safe.date 'YYYY'}}</span>
{{stringOrObject publisher "name" }}</h3>
<span class="tenure">{{date date 'YYYY'}}</span>
{{{ summary }}}
{{> highlights }}
</div>

View File

@ -3,9 +3,9 @@
{{#each r.employment.history }}
{{#if url}}
### *{{{ position }}}*, [{{{ employer }}}]({{{ url }}}) ({{formatDate safe.start 'YYYY-MM' }}{{formatDate safe.end 'YYYY-MM' }})
### *{{{ position }}}*, [{{{ employer }}}]({{{ url }}}) ({{dateRange .}})
{{else}}
### *{{{ position }}}*, {{{ employer }}} ({{formatDate safe.start 'YYYY-MM' }}{{formatDate safe.end 'YYYY-MM' }})
### *{{{ position }}}*, {{{ employer }}} ({{dateRange .}})
{{/if}}
{{{ summary }}}

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

@ -3,9 +3,9 @@
{{#each r.projects }}
{{#if url }}
### *{{{camelCase role }}}*, [{{{ title }}}]({{{ url }}}) ({{formatDate safe.start 'YYYY-MM' }}{{formatDate safe.end 'YYYY-MM' }})
### *{{{camelCase role }}}*, [{{{ title }}}]({{{ url }}}) ({{dateRange .}})
{{else}}
### *{{{camelCase role }}}*, {{{ title }}} ({{formatDate safe.start 'YYYY-MM' }}{{formatDate safe.end 'YYYY-MM' }})
### *{{{camelCase role }}}*, {{{ title }}} ({{dateRange .}})
{{/if}}
{{{ description }}}

View File

@ -3,7 +3,7 @@
{{#each r.recognition}}
### {{{ title }}}{{#if from}}, {{{ from }}}{{/if}}
{{~#has 'safe.date'}} ({{formatDate safe.date 'MMM YYYY' }}){{/has}}
{{~#if date}} ({{date date 'MMM YYYY' }}){{/if}}
{{~#if summary}}
{{{ summary }}}{{/if}}

View File

@ -3,9 +3,9 @@
{{#each r.samples }}
{{#if url}}
### [{{{ title }}}]({{{ url }}}) ({{formatDate safe.date 'YYYY-MM' }})
### [{{{ title }}}]({{{ url }}}) ({{date date}})
{{else}}
### {{{ title }}} ({{formatDate safe.date}})
### {{{ title }}} ({{date date}})
{{/if}}
{{{ summary }}}

View File

@ -2,14 +2,13 @@
## {{{sectionTitle "SPEAKING"}}}
{{#each r.speaking}}
### *{{{ title }}}*, {{{ event }}} ({{formatDate safe.date 'YYYY'}})
### *{{{ title }}}*, {{{ event }}} ({{date date 'YYYY'}})
{{{ 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 }}}) ({{formatDate safe.date 'YYYY-MM' }})
{{else}}
### {{{ title }}} ({{formatDate safe.date 'YYYY-MM' }})
{{/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

@ -7,7 +7,7 @@
{{/if}}
{{#if summary }}{{{ summary }}}
{{/if}}
{{#if date}}{{{ date }}}
{{#if date}}{{{date date }}}
{{/if}}
{{/each}}

View File

@ -3,7 +3,7 @@
{{#each r.recognition}}
{{{ title }}}{{#if from}}, {{{ from }}}{{/if}}
{{~#has 'safe.date'}} ({{formatDate safe.date 'MMM YYYY' }}){{/has}}
{{~#if date}} ({{date date 'MMM YYYY' }}){{/if}}
{{~#if summary}}
{{{ summary }}}{{/if}}

View File

@ -2,8 +2,7 @@
{{{sectionTitle "SAMPLES"}}} ------------------------------------------------------------------------
{{#each r.samples }}
{{{ title }}} ({{formatDate safe.date 'YYYY-MM'}})
{{{ title }}} ({{date date}})
{{{ summary }}}
{{#if highlights}}
{{#each highlights}}

View File

@ -2,6 +2,7 @@
{{{sectionTitle "SKILLS"}}} -------------------------------------------------------------------------
{{#each r.skills.sets}}
- {{{ name }}}: {{#each skills}}{{{ this }}} {{/each}}
- {{{ name }}}: {{#each skills}}{{{ . }}} {{/each}}
{{/each}}
{{/section}}

View File

@ -2,7 +2,7 @@
## {{{sectionTitle "SPEAKING"}}} ------------------------------------------------------------------------
{{#each r.speaking}}
*{{{ title }}}*, {{{ event }}} ({{formatDate safe.date 'YYYY'}})
*{{{ title }}}*, {{{ event }}} ({{date date 'YYYY'}})
{{{ summary }}}
{{#if highlights}}

View File

@ -2,7 +2,7 @@
{{{sectionTitle "WRITING"}}} ------------------------------------------------------------------------
{{#each r.writing}}
{{{ title }}}{{#has 'safe.date'}} ({{formatDate safe.date 'YYYY-MM' }}){{/has}}
{{{ 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.

20
themes/awesome/src/latex/.gitignore vendored Normal file
View File

@ -0,0 +1,20 @@
### TeX ###
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
## Intermediate documents:
*.dvi
*-converted-to.*
<<<<<<< HEAD
### Editor ###
## Vim & Emacs temp files:
.*sw[op]
*~

View File

@ -0,0 +1,3 @@
test:
cd examples/ ; for f in *.tex; do xelatex $$f; done

View File

@ -0,0 +1,59 @@
# Awesome CV
*A template-friendly fork of Byungjin Park's [Awesome-CV][awe] resume template.*
This fork replaces each occurrence of hard-coded resume data in the original
Awesome-CV project with an expandable template tag, allowing you to generate a
personalized copy of Awesome-CV without hand-editing the `.tex` files.
Otherwise, it's identical to the original.
## Use
When expanded with [Underscore.js][und] and a [FRESH resume][fre] object (JSON),
this project yields an Awesome-CV template, in LaTeX, but with your resume data.
You can then use a tool like `xelatex` or similar to generate the final PDF.
**Step 1**: Use a FRESH-aware template expansion tool like [HackMyResume][hmr]
to generate the personalized LaTeX:
```bash
hackmyresume build resume.json -t awesome
```
**Step 2**: Use conventional LaTeX tools to generate a PDF or other destination
format from the (personalized) Awesome-CV LaTeX files:
```bash
xelatex examples/resume.tex
```
**Step 3**: When you need to update your resume, update the source JSON, and
re-generate destination formats as needed.
## Notes
- This project is intermittently synced with the upstream master to get the
benefit of any new changes or tweaks.
- The template tags are based on the Underscore.js template syntax but with a
modified set of template delimiters that reduce conflicts with LaTeX
metacharacters such as `{` or `%`.
- Underscore.js was chosen because its minimalistic template engine supports
custom delimiters (Handlebars [doesn't][hb350], except [unofficially][un]) and
allows execution of arbitrary JavaScript in the template.
- This project indirectly drives the `awesome` theme in HackMyResume and
FluentCV. Technically the latter is a fork of this project, which itself is a
fork of the original Awesome-CV for LaTeX.
## License
See the original project for license information.
[awe]: https://github.com/posquit0/Awesome-CV
[hmr]: https://fluentdesk.com/hackmyresume
[fre]: http://freshstandard.org
[und]: http://underscorejs.org/#template
[hb350]: https://github.com/wycats/handlebars.js/issues/350
[un]: https://github.com/jonschlinkert/handlebars-delimiters

View File

@ -1,12 +1,27 @@
%% Start of file `awesome-cv.cls'.
%% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV Class File
%
% This class has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Notes:
% 1) This class file defines the structure and layout of the template file (cv.tex, resume.tex).
% 2) It has been written in such a way that under most circumstances you
% should not need to edit it.
%
% Class license:
% LPPL v1.3c (http://www.latex-project.org/lppl)
%
%-------------------------------------------------------------------------------
% Identification
%-------------------------------------------------------------------------------
\ProvidesClass{awesome-cv}[2015/11/19 v1.1.0 Awesome Curriculum Vitae Class]
\ProvidesClass{awesome-cv}[2016/01/30 v1.5 Awesome Curriculum Vitae Class]
\NeedsTeXFormat{LaTeX2e}
@ -21,7 +36,7 @@
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
% Inherit options of article
\DeclareOption*{
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
@ -49,32 +64,26 @@
\RequirePackage{xifthen}
% Needed to use a toolbox of programming tools
\RequirePackage{etoolbox}
% Needed to change line spacing in specific environment
\RequirePackage{setspace}
% Needed to manage fonts
\ifxetex
\RequirePackage[quiet]{fontspec}
% To support LaTeX quoting style
\defaultfontfeatures{Ligatures=TeX}
\else
\RequirePackage[T1]{fontenc}
% Replace by the encoding you are using
\RequirePackage[utf8]{inputenc}
\fi
\RequirePackage[quiet]{fontspec}
% 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/furl/latex-fontawesome)
% (https://github.com/posquit0/latex-fontawesome)
\RequirePackage{fontawesome}
% Needed to deal a paragraphs
\RequirePackage{parskip}
% Needed to deal hyperlink
\RequirePackage{hyperref}
\hypersetup{
\RequirePackage[hidelinks]{hyperref}
\hypersetup{%
pdftitle={},
pdfauthor={},
pdfsubject={},
pdfkeywords={},
colorlinks=false,
allbordercolors=white
pdfkeywords={}
}
@ -94,7 +103,7 @@
\geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm}
%% Header & Footer
% Set offset to each header and offset
% Set offset to each header and footer
\fancyhfoffset{0em}
% Remove head rule
\renewcommand{\headrulewidth}{0pt}
@ -135,21 +144,13 @@
\definecolor{awesome-darknight}{HTML}{131A28}
\colorlet{awesome}{awesome-red}
% Boolean value to switch section color highlighting
\newbool{acvSectionColorHighlight}
\setbool{acvSectionColorHighlight}{true}
% Awesome section color
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
awesome\or%
awesome\or%
awesome\or%
awesome\or%
awesome\else%
awesome\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
\ifbool{acvSectionColorHighlight}{{\color{awesome}#1#2#3}}{#1#2#3}%
}
@ -198,6 +199,15 @@
BoldItalicFont=*-SemiboldIt
]{SourceSansPro}
% Set main font
\setmainfont[
Path=\@fontdir,
UprightFont=*-Regular,
ItalicFont=*-It,
BoldFont=*-Bold,
BoldItalicFont=*-BoldIt
]{SourceSansPro}
%-------------------------------------------------------------------------------
% Configuration for styles
@ -213,6 +223,7 @@
\newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}}
\newcommand*{\sectionstyle}[1]{{\fontsize{16pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
\newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}}
\newcommand*{\paragraphstyle}{\fontsize{9pt}{1em}\bodyfontlight\upshape\color{graytext}}
% For elements of entry
\newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
@ -238,6 +249,16 @@
\newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}}
% For elements of the cover letter
\newcommand*{\lettersectionstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
\newcommand*{\recipientaddressstyle}[1]{{\fontsize{9pt}{1em}\bodyfont\scshape\color{graytext} #1}}
\newcommand*{\recipienttitlestyle}[1]{{\fontsize{11pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\lettertitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} \underline{#1}}}
\newcommand*{\letterdatestyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
\newcommand*{\lettertextstyle}{\fontsize{10pt}{1.4em}\bodyfontlight\upshape\color{graytext}}
\newcommand*{\letternamestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\letterenclosurestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{lighttext} #1}}
%-------------------------------------------------------------------------------
% Commands for personal information
@ -277,31 +298,87 @@
% Usage: \github{<github-nick>}
\newcommand*{\github}[1]{\def\@github{#1}}
% Defines writer's stackoverflow profile (optional)
% Usage: \stackoverflow{<so userid>}{<so username>}
% e.g.https://stackoverflow.com/users/123456/sam-smith
% would be \stackoverflow{123456}{sam-smith}
\newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}}
% Defines writer's linked-in (optional)
% Usage: \linkedin{<linked-in-nick>}
\newcommand*{\linkedin}[1]{\def\@linkedin{#1}}
% Defines writer's skype (optional)
% Usage: \skype{<skype account>}
\newcommand*{\skype}[1]{\def\@skype{#1}}
% Defines writer's twitter (optional)
% Usage: \twitter{<twitter handle>}
\newcommand*{\twitter}[1]{\def\@twitter{#1}}
% Defines writer's skype (optional)
% Usage: \skype{<skype account>}
\newcommand*{\skype}[1]{\def\@skype{#1}}
% Defines writer's reddit (optional)
% Usage: \reddit{<reddit account>}
\newcommand*{\reddit}[1]{\def\@reddit{#1}}
% Defines writer's extra informations (optional)
% Usage: \extrainfo{<extra informations>}
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
% Defines writer's quote (optional)
% Usage: \quote{<quote>}
\renewcommand*{\quote}[1]{\def\@quote{#1}}
% Defines recipient's information (cover letter only)
% Usage: \recipient{<recipient name>}{<recipient address>}
% Usage: \recipientname{<recipient name>}
% Usage: \recipientaddress{<recipient address>}
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\newcommand*{\recipientname}[1]{\def\@recipientname{#1}}
\newcommand*{\recipientaddress}[1]{\def\@recipientaddress{#1}}
% Defines the title for letter (cover letter only, optional)
% Usage: \lettertitle{<title>}
\newcommand*{\lettertitle}[1]{\def\@lettertitle{#1}}
% Defines the date for letter (cover letter only)
% Usage: \letterdate{<date>}
\newcommand*{\letterdate}[1]{\def\@letterdate{#1}}
% Defines a message of opening for letter (cover letter only)
% Usage: \letteropening{<message>}
\newcommand*{\letteropening}[1]{\def\@letteropening{#1}}
% Defines a message of closing for letter (cover letter only)
% Usage: \letterclosing{<message>}
\newcommand*{\letterclosing}[1]{\def\@letterclosing{#1}}
% Defines an enclosure for letter (cover letter only, optional)
% Usage: \letterenclosure[<enclosure name>]{<enclosure>}
\newcommand*{\letterenclname}[1][Enclosure]{\def\@letterenclname{#1}}
\newcommand*{\letterenclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\def\@letterenclname{#1}}
\def\@letterenclosure{#2}
}
%-------------------------------------------------------------------------------
% Commands for extra
%-------------------------------------------------------------------------------
% Define separator for social informations in header
% Usage: \headersocialsep{<separator>}
% Default: \quad\textbar\quad
\newcommand*{\headersocialsep}[1][\quad\textbar\quad]{\def\@headersocialsep{#1}}
\headersocialsep
%% Define helper macros a user can change easily
% Header
\newcommand{\acvHeaderNameDelim}{\space}
\newcommand{\acvHeaderAfterNameSkip}{.4mm}
\newcommand{\acvHeaderAfterPositionSkip}{.4mm}
\newcommand{\acvHeaderAfterAddressSkip}{-.5mm}
\newcommand{\acvHeaderIconSep}{\space}
\newcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
\newcommand{\acvHeaderAfterSocialSkip}{6mm}
\newcommand{\acvHeaderAfterQuoteSkip}{5mm}
% Others
\newcommand{\acvSectionTopSkip}{3mm}
\newcommand{\acvEntryTopSkip}{2.5mm}
%-------------------------------------------------------------------------------
@ -312,7 +389,7 @@
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
% Use to draw horizontal line with specific tickness
% Use to draw horizontal line with specific thickness
\def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@}
% Use to execute conditional statements by checking empty string
@ -324,159 +401,150 @@
%-------------------------------------------------------------------------------
% Define a header for CV
% Usage: \makecvheader
\newcommand*{\makecvheader}{
\newcommand*{\makecvheader}{%
\begin{center}
\headerfirstnamestyle{
\@firstname
}\headerlastnamestyle{
\@lastname
}
\\
\vspace{0.4mm}
\ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\}}
\vspace{0.4mm}
\ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\}}
\vspace{-0.5mm}
\headersocialstyle{
\newbool{isstart}
\setbool{isstart}{true}
\ifthenelse{\isundefined{\@mobile}}
{}
{
\faMobile\ \@mobile
\setbool{isstart}{false}
}
\ifthenelse{\isundefined{\@email}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{mailto:\@email}{\faEnvelope\ \@email}
}
\ifthenelse{\isundefined{\@homepage}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{http://\@homepage}{\faHome\ \@homepage}
}
\ifthenelse{\isundefined{\@github}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://github.com/\@github}{\faGithubSquare\ \@github}
}
\ifthenelse{\isundefined{\@linkedin}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\ \@linkedin}
}
\ifthenelse{\isundefined{\@twitter}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\href{https://twitter.com/\@twitter}{\faTwitter\ \@twitter}
}
\ifthenelse{\isundefined{\@skype}}
{}
{
\ifbool{isstart}
{
\setbool{istart}{false}
}
{\@headersocialsep}
\faSkype\ \@skype
}
} \\
\ifthenelse{\isundefined{\@quote}}
{}
{\vspace{6.0mm}\headerquotestyle{\@quote\\}\vspace{5.0mm}}
\end{center}
\headerfirstnamestyle{\@firstname}\headerlastnamestyle{{}\acvHeaderNameDelim\@lastname}%
\\[\acvHeaderAfterNameSkip]%
\ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\[\acvHeaderAfterPositionSkip]}}%
\ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\[\acvHeaderAfterAddressSkip]}}%
\headersocialstyle{%
\newbool{isstart}%
\setbool{isstart}{true}%
\ifthenelse{\isundefined{\@mobile}}%
{}%
{%
\faMobile\acvHeaderIconSep\@mobile%
\setbool{isstart}{false}%
}%
\ifthenelse{\isundefined{\@email}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{mailto:\@email}{\faEnvelope\acvHeaderIconSep\@email}%
}%
\ifthenelse{\isundefined{\@homepage}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{http://\@homepage}{\faHome\acvHeaderIconSep\@homepage}%
}%
\ifthenelse{\isundefined{\@github}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://github.com/\@github}{\faGithubSquare\acvHeaderIconSep\@github}%
}%
\ifthenelse{\isundefined{\@stackoverflowid}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\acvHeaderIconSep\@stackoverflowname}%
}%
\ifthenelse{\isundefined{\@linkedin}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\acvHeaderIconSep\@linkedin}%
}%
\ifthenelse{\isundefined{\@twitter}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://twitter.com/\@twitter}{\faTwitter\acvHeaderIconSep\@twitter}%
}%
\ifthenelse{\isundefined{\@skype}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\faSkype\acvHeaderIconSep\@skype%
}%
\ifthenelse{\isundefined{\@reddit}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\href{https://www.reddit.com/user/\@reddit}{\faReddit\acvHeaderIconSep\@reddit}%
}%
\ifthenelse{\isundefined{\@extrainfo}}%
{}%
{%
\ifbool{isstart}{\setbool{istart}{false}}{\acvHeaderSocialSep}%
\@extrainfo%
}%
} \\[\acvHeaderAfterSocialSkip]%
\ifthenelse{\isundefined{\@quote}}%
{}%
{\headerquotestyle{\@quote\\}\vspace{\acvHeaderAfterQuoteSkip}}%
\end{center}%
}
% Define a footer for CV
% Usage: \makecvfooter{<left>}{<center>}{<right>}
\newcommand*{\makecvfooter}[3]{
\newcommand*{\makecvfooter}[3]{%
\fancyfoot{}
\fancyfoot[L]{
\footerstyle{#1}
}
\fancyfoot[C]{
\footerstyle{#2}
}
\fancyfoot[R]{
\footerstyle{#3}
}
\fancyfoot[L]{\footerstyle{#1}}
\fancyfoot[C]{\footerstyle{#2}}
\fancyfoot[R]{\footerstyle{#3}}
}
% Define a section for CV
% Usage: \cvsection{<section-title>}
\newcommand{\cvsection}[1]{
\par\addvspace{1.5ex}
\phantomsection{}
\newcommand{\cvsection}[1]{%
\vspace{\acvSectionTopSkip}
\sectionstyle{#1}
\phantomsection
\color{gray}\vhrulefill{0.9pt}
\par\nobreak\addvspace{1ex}
}
% Define a subsection for CV
% Usage: \cvsubsection{<subsection-title>}
\newcommand{\cvsubsection}[1]{
\phantomsection{}
\newcommand{\cvsubsection}[1]{%
\subsectionstyle{#1}
\phantomsection
}
% Define a paragraph for CV
\newenvironment{cvparagraph}{%
\vspace{-3mm}
\paragraphstyle
}{%
\vspace{1mm}
}
% Define an environment for cventry
\newenvironment{cventries}{
\newenvironment{cventries}{%
\begin{center}
}{
}{%
\end{center}
}
% Define an entry of cv information
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
\newcommand*{\cventry}[5]{
\newcommand*{\cventry}[5]{%
\vspace{\acvEntryTopSkip}
\vspace{-2.0mm}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\ifempty{#2#3}
{\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
{\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
\multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
\end{tabular*}
\multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}}
\end{tabular*}%
}
% Define an environment for cvsubentry
\newenvironment{cvsubentries}{
\newenvironment{cvsubentries}{%
\begin{center}
}{
}{%
\end{center}
}
% Define a subentry of cv information
% Usage: \cvsubentry{<position>}{<title>}{<date>}{<description>}
\newcommand*{\cvsubentry}[4]{
\newcommand*{\cvsubentry}[4]{%
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\setlength\leftskip{0.2cm}
\subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}}
{\subentrydatestyle{#3}}{}
@ -490,48 +558,98 @@
}
% Define an environment for cvhonor
\newenvironment{cvhonors}{
\newenvironment{cvhonors}{%
\begin{center}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{13.0cm} R{2.5cm}}
}{
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} C{1.5cm} L{\textwidth - 4.0cm} R{2.5cm}}
}{%
\end{tabular*}
\end{center}
}
% Define a line of cv information(honor, award or something else)
% Usage: \cvhonor{<position>}{<title>}{<location>}{<date>}
\newcommand*{\cvhonor}[4]{
\honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3}
\\
\newcommand*{\cvhonor}[4]{%
\honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3} \\
}
% Define an environment for cvskill
\newenvironment{cvskills}{
\newenvironment{cvskills}{%
\begin{center}
\setlength\tabcolsep{1ex}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{15.2cm}}
}{
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} r L{\textwidth * \real{0.9}}}
}{%
\end{tabular*}
\end{center}
}
% Define a line of cv information(skill)
% Usage: \cvskill{<type>}{<skillset>}
\newcommand*{\cvskill}[2]{
\skilltypestyle{#1} & \skillsetstyle{#2}
\\
\newcommand*{\cvskill}[2]{%
\skilltypestyle{#1} & \skillsetstyle{#2} \\
}
% Define an environment for cvitems(for cventry)
\newenvironment{cvitems}{
\vspace{-4mm}
\newenvironment{cvitems}{%
\vspace{-4.0mm}
\begin{justify}
\begin{itemize}[leftmargin=2ex, nosep, noitemsep]
\setlength{\parskip}{0pt}
\renewcommand{\labelitemi}{\bullet}
}{
}{%
\end{itemize}
\end{justify}
\vspace{-2mm}
\vspace{-4.0mm}
}
%-------------------------------------------------------------------------------
% Commands for elements of Cover Letter
%-------------------------------------------------------------------------------
% Define an environment for cvletter
\newenvironment{cvletter}{%
\lettertextstyle
}{%
}
% Define a section for the cover letter
% Usage: \lettersection{<section-title>}
\newcommand{\lettersection}[1]{%
\par\addvspace{2.5ex}
\phantomsection{}
\lettersectionstyle{#1}
\color{gray}\vhrulefill{0.9pt}
\par\nobreak\addvspace{0.4ex}
}
% Define a title of the cover letter
% Usage: \makelettertitle
\newcommand*{\makelettertitle}{%
\vspace{8.4mm}
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
\recipienttitlestyle{\@recipientname} & \letterdatestyle{\@letterdate}
\end{tabular*}
\begin{singlespace}
\recipientaddressstyle{\@recipientaddress} \\\\
\end{singlespace}
\ifthenelse{\isundefined{\@lettertitle}}
{}
{\lettertitlestyle{\@lettertitle} \\}
\lettertextstyle{\@letteropening}
}
% Define a closing of the cover letter
% Usage: \makeletterclosing
\newcommand*{\makeletterclosing}{%
\vspace{3.4mm}
\lettertextstyle{\@letterclosing} \\\\
\letternamestyle{\@firstname\ \@lastname}
\ifthenelse{\isundefined{\@letterenclosure}}
{\\}
{%
\\\\\\
\letterenclosurestyle{\@letterenclname: \@letterenclosure} \\
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

View File

@ -0,0 +1,129 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Awesome CV LaTeX Template for Cover Letter
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Authors:
% Claud D. Park <posquit0.bj@gmail.com>
% Lars Richter <mail@ayeks.de>
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
% Configure page margins with geometry
% \geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{awesome}{awesome-red}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% 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 ]]}
\address{[[ r.location.address ]]}
\mobile{[[ r.contact.phone ]]}
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if (r.hasProfile('github') { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin') { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%-------------------------------------------------------------------------------
% LETTER INFORMATION
% All of the below lines must be filled out
%-------------------------------------------------------------------------------
% The company being applied to
\recipient
{Company Recruitment Team}
{Google Inc.\\1600 Amphitheatre Parkway\\Mountain View, CA 94043}
% The date on the letter, default is the date of compilation
\letterdate{\today}
% The title of the letter
\lettertitle{Job Application for Software Engineer}
% How the letter is opened
\letteropening{Dear Mr./Ms./Dr. LastName,}
% How the letter is closed
\letterclosing{Sincerely,}
% Any enclosures with the letter
\letterenclosure[Attached]{Curriculum Vitae}
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Cover Letter}
{}
% Print the title with above letter informations
\makelettertitle
%-------------------------------------------------------------------------------
% LETTER CONTENT
%-------------------------------------------------------------------------------
\begin{cvletter}
\lettersection{About Me}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
\lettersection{Why Google?}
Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit.
\lettersection{Why Me?}
Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
\end{cvletter}
%-------------------------------------------------------------------------------
% Print the signature and enclosures with above letter informations
\makeletterclosing
\end{document}

Binary file not shown.

View File

@ -1,83 +1,102 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV LaTeX Template for CV/Resume
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Configuration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Themes: Awesome-CV
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
%%% Override a directory location for fonts(default: 'fonts/')
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
%%% Configure a directory location for sections
\newcommand*{\sectiondir}{cv/}
%%% Override color
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
%% Color for highlight
% Define your custom color if you don't like awesome colors
\colorlet{awesome}{awesome-red}
%\definecolor{awesome}{HTML}{CA63A8}
%% Colors for text
%\definecolor{darktext}{HTML}{414141}
%\definecolor{text}{HTML}{414141}
%\definecolor{graytext}{HTML}{414141}
%\definecolor{lighttext}{HTML}{414141}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
%%% Override a separator for social informations in header(default: ' | ')
%\headersocialsep[\quad\textbar\quad]
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3rd party packages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Needed to divide into several files
\usepackage{import}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
\name{[~ print(h.initialWords( r.name )) ~]}{[[ h.lastWord( r.name ) ]]}
[~ if (r.info.label) { ~]\position{[[ r.info.label ]]}[~ } ~]
\address{[[ r.location.address ]]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personal Data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Essentials
\name{[[ _.initial(r.name.split(' ')).join(' ') ]] }{[[ _.last(r.name.split(' ')) ]]}
\address{[[ r.location.address.replace(/\n/g, ', ') ]]}
\mobile{[[ r.contact.phone ]]}
%%% Social
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if(r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if(r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('linkedin').user ]]}[~ } ~]
%%% Optionals
\position{[[ r.info.characterClass ]]{\enskip\cdotp\enskip}[[ r.info.label ]]}
[~ if( r.info.quote ) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
[~ if (r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Content
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make a footer for CV with three arguments(<left>, <center>, <right>)
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Curriculum Vitae}
{\thepage}
\begin{document}
%%% Make a header for CV using personal data
\makecvheader
%%% Import contents
\import{\sectiondir}{education.tex}
\import{\sectiondir}{skills.tex}
\import{\sectiondir}{experience.tex}
\import{\sectiondir}{extracurricular.tex}
\import{\sectiondir}{honors.tex}
\import{\sectiondir}{presentation.tex}
\import{\sectiondir}{writing.tex}
\import{\sectiondir}{committees.tex}
%-------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
\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}
\input{cv/writing.tex}
\input{cv/committees.tex}
%-------------------------------------------------------------------------------
\end{document}

View File

@ -1,12 +1,23 @@
[~ if( r.committees && r.committees.length ) { ~]
[~ if (r.governance && r.governance.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Program Committees}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.committees, function(com) { ~]
[~ _.each( r.governance, function(gov) { ~]
%---------------------------------------------------------
\cvhonor
{[[ com.position ]]}
{[[ com.organization ]]}
{[[ com.location ]]}
{[[ com.safe.date ]]}
[~ }); ~]
{[[ gov.role ]]} % Position
{[[ gov.organization ]]} % Committee
{[[ gov.location ]]} % Location
{[[ h.date(gov.start) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,28 @@
[~ if( r.education && r.education.history && r.education.history.length) { ~]
[~ if (r.education && r.education.history && r.education.history.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Education}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.education.history, function(edu) { ~]
[~ _.each( r.education.history, function(edu) { ~]
%---------------------------------------------------------
\cventry
{[[ edu.studyType ]], [[ edu.area ]]}
{[[ edu.institution ]]}
{[[ edu.location ]]}
{[[ edu.safe.start ]] - [[ edu.safe.end ]]}
[~ if( edu.highlights && edu.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(edu.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
{[[ edu.title ]]} % Degree
{[[ edu.institution ]]} % Institution
{[[ edu.location ]]} % Location
{[[ h.dateRange( edu ) ]]} % Date(s)
{[~ if( edu.highlights && edu.highlights.length ) { ~]
\begin{cvitems} % Description(s) bullet points
[[ h.pad( edu.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,18 +1,28 @@
[~ if( r.employment && r.employment.history && r.employment.history.length ) { ~]
[~ if (r.employment && r.employment.history && r.employment.history.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Experience}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.employment.history, function(emp) { ~]
[~ _.each( r.employment.history, function(job) { ~]
%---------------------------------------------------------
\cventry
{[[ emp.position ]]}
{[[ emp.employer ]]}
{[[ emp.location ]]}
{[[ emp.safe.start ]] - [[ emp.safe.end ]]}
[~ if( emp.highlights && emp.highlights.length ) {
~]{
\begin{cvitems}[~ _.each( emp.highlights, function(high) { ~]
\item {[[ high.replace(/#/g, '\\#') ]]}[~ }); ~]
{[[ job.position ]]} % Job title
{[[ job.employer ]]} % 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

@ -1,19 +1,28 @@
[~ if( r.extracurricular && r.extracurricular.length ) { ~]
[~ if (r.extracurricular && r.extracurricular.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Extracurricular Activity}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each( r.extracurricular, function(ex) { ~]
[~ _.each( r.extracurricular, function(cur) { ~]
%---------------------------------------------------------
\cventry
{[[ ex.title ]]}
{[[ ex.activity ]]}
{[[ ex.location ]]}
{[[ ex.safe.start ]] - [[ ex.safe.end ]]}
[~ if( ex.highlights && ex.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(ex.highlights, function(high) {
~]\item {[[high]]}
[~ }); ~]\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ }); ~]
{[[ cur.title ]]} % Affiliation/role
{[[ cur.activity ]]} % Organization/group
{[[ cur.location ]]} % Location
{[[ h.dateRange(cur) ]]} % Date(s)
{[~ if (cur.highlights && cur.highlights.length ) { ~]
\begin{cvitems} % Description(s) of experience/contributions/knowledge
[[ h.pad( cur.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,52 +1,52 @@
[~ if( r.recognition && r.recognition.length ) { ~]
[~ if ( r.recognition && r.recognition.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Honors \& Awards}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{International}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.recognition, function(rec) { ~]
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{[[ rec.title ]]}
{[[ rec.event ]]}
{[[ rec.location ]]}
{[[ rec.safe.date ]]}
[~ }); ~]
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ h.date(rgn.date) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{Domestic}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{3rd Place}
{WITHCON Hacking Competition Final}
{Seoul, S.Korea}
{2015}
\cvhonor
{Silver Prize}
{KISA HDCON Hacking Competition Final}
{Seoul, S.Korea}
{2013}
\cvhonor
{2nd Award}
{HUST Hacking Festival}
{S.Korea}
{2013}
\cvhonor
{3rd Award}
{HUST Hacking Festival}
{S.Korea}
{2010}
\cvhonor
{3rd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2012}
\cvhonor
{2nd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2011}
\cvhonor
{5th Place}
{PADOCON Hacking Competition Final}
{Seoul, S.Korea}
{2011}
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ h.date(rgn.date) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,28 @@
[~ if( r.speaking && r.speaking.length) { ~]
[~ if (r.speaking && r.speaking.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Presentation}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.speaking, function(pres) { ~]
[~ _.each( r.speaking, function(spk) { ~]
%---------------------------------------------------------
\cventry
{[[ pres.title ]]}
{[[ pres.event ]]}
{[[ pres.location ]]}
{[[ pres.safe.date ]]}
[~ if (pres.highlights && pres.highlights.length) {
~]{
\begin{cvitems}
[~ _.each(pres.highlights, function( high) {
~]\item {[[ high ]]}[~ }); ~]
{[[ spk.title ]]} % Role
{[[ spk.event ]])} % Event
{[[ spk.location ]]} % Location
{[[ h.date(spk.date) ]]} % Date(s)
{[~ if (r.speaking && r.speaking.length) { ~]
\begin{cvitems} % Description(s)
[[ h.pad( spk.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

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

@ -1,15 +1,34 @@
[~ if( r.skills && r.skills.sets && r.skills.sets.length ) { ~]
[~ if(( r.skills && r.skills.sets && r.skills.sets.length ) ||
( r.languages && r.languages.length ) ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Skills}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvskills}
[~ _.each(r.skills.sets, function(set) { ~]
[~ if (r.skills && r.skills.sets && r.skills.sets.length ) { ~]
[~ _.each( r.skills.sets, function(sks) { ~]
%---------------------------------------------------------
\cvskill
{[[ set.name ]]}
{[[ set.skills.join(', ') ]]}
{[[ sks.name ]]} % Category
{[~ print( sks.skills.join(', ') ) ~]} % Skills
[~ }); ~]
[~ if( r.languages && r.languages.length ) { ~]
\cvskill
{Languages}
{[[ r.languages.map( function(lang) { return lang.language } ).join(', ') ]]}
[~ } ~]
[~ if (r.languages && r.languages.length ) { ~]
%---------------------------------------------------------
\cvskill
{Languages} % Category
{[~ print( _.map( r.languages, function(lang) { return lang.language; }).join(', ')) ~]} % Skills
[~ } ~]
%---------------------------------------------------------
\end{cvskills}
[~ } ~]

View File

@ -1,21 +1,28 @@
[~ if( r.writing && r.writing.length ) { ~]
[~ if (r.writing && r.writing.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Writing}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.writing, function(wri) { ~]
[~ _.each( r.writing, function(wri) { ~]
%---------------------------------------------------------
\cventry
{[[ wri.publisher ]]}
{[[ wri.title ]]}
{[[ wri.url ]]}
{[[ wri.safe.date ]] - PRESENT}
[~ if( wri.highlights && wri.highlights.length ) { ~]
{
\begin{cvitems}
[~ _.each(wri.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
{[~ if (_.isString(wri.publisher)) { ~]
[[ wri.publisher]]
[~ } else { ~]
print( wri.publisher ? wri.publisher.name : 'Unknown' )
[~ } ~]} % Publisher
{[[ wri.title ]]} % Title
{[[ wri.url ]]} % URL
{[[ h.date(wri.date) ]]} % Date(s)
{[[ wri.summary ]]} % Summary
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

View File

@ -1,82 +1,102 @@
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
% Copyright 2015 Claud D. Park <posquit0.bj@gmail.com>
% Awesome CV LaTeX Template for CV/Resume
%
% This template has been downloaded from:
% https://github.com/posquit0/Awesome-CV
%
% Author:
% Claud D. Park <posquit0.bj@gmail.com>
% http://www.posquit0.com
%
% Template license:
% CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Configuration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Themes: Awesome-CV
%-------------------------------------------------------------------------------
% CONFIGURATIONS
%-------------------------------------------------------------------------------
% A4 paper size by default, use 'letterpaper' for US letter
\documentclass[11pt, a4paper]{awesome-cv}
%%% Override a directory location for fonts(default: 'fonts/')
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Specify the location of the included fonts
\fontdir[fonts/]
%%% Configure a directory location for sections
\newcommand*{\sectiondir}{resume/}
%%% Override color
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
%% Color for highlight
% Define your custom color if you don't like awesome colors
\colorlet{awesome}{awesome-red}
%\definecolor{awesome}{HTML}{CA63A8}
%% Colors for text
%\definecolor{darktext}{HTML}{414141}
%\definecolor{text}{HTML}{414141}
%\definecolor{graytext}{HTML}{414141}
%\definecolor{lighttext}{HTML}{414141}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
%%% Override a separator for social informations in header(default: ' | ')
%\headersocialsep[\quad\textbar\quad]
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3rd party packages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Needed to divide into several files
\usepackage{import}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% 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 ]]}
\address{[[ r.location.address ]]}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personal Data
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Essentials
\name{[[ _.initial(r.name.split(' ')).join(' ') ]] }{[[ _.last(r.name.split(' ')) ]]}
\address{[[ r.location.address.replace(/\n/g, ', ') ]]}
\mobile{[[ r.contact.phone ]]}
%%% Social
\email{[[ r.contact.email ]]}
\homepage{[[ r.contact.website ]]}
[~ if(r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if(r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('linkedin').user ]]}[~ } ~]
%%% Optionals
\position{[[ r.info.characterClass ]]{\enskip\cdotp\enskip}[[ r.info.label ]]}
[~ if( r.info.quote ) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
[~ if (r.hasProfile('github')) { ~]\github{[[ r.getProfile('github').user ]]}[~ } ~]
[~ if (r.hasProfile('linkedin')) { ~]\linkedin{[[ r.getProfile('github').user ]]}[~ } ~]
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \extrainfo{extra informations}
[~ if (r.info.quote) { ~]\quote{``[[ r.info.quote ]]"}[~ } ~]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Content
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make a footer for CV with three arguments(<left>, <center>, <right>)
%-------------------------------------------------------------------------------
\begin{document}
% Print the header with above personal informations
\makecvheader
% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{[[ r.name ]]~~~·~~~Résumé}
{\thepage}
\begin{document}
%%% Make a header for CV with personal data
\makecvheader
%%% Import contents
\import{\sectiondir}{education.tex}
\import{\sectiondir}{experience.tex}
\import{\sectiondir}{extracurricular.tex}
\import{\sectiondir}{honors.tex}
\import{\sectiondir}{presentation.tex}
\import{\sectiondir}{writing.tex}
\import{\sectiondir}{committees.tex}
%-------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
% \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}
\input{resume/writing.tex}
\input{resume/committees.tex}
%-------------------------------------------------------------------------------
\end{document}

View File

@ -1,12 +1,23 @@
[~ if( r.committees && r.committees.length ) { ~]
[~ if (r.governance && r.governance.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Program Committees}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.committees, function(com) { ~]
[~ _.each( r.governance, function(gov) { ~]
%---------------------------------------------------------
\cvhonor
{[[ com.position ]]}
{[[ com.organization ]]}
{[[ com.location ]]}
{[[ com.safe.date ]]}
[~ }); ~]
{[[ gov.role ]]} % Position
{[[ gov.organization ]]} % Committee
{[[ gov.location ]]} % Location
{[[ h.date(gov.start) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,28 @@
[~ if( r.education && r.education.history && r.education.history.length) { ~]
[~ if (r.education && r.education.history && r.education.history.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Education}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.education.history, function(edu) { ~]
[~ _.each( r.education.history, function(edu) { ~]
%---------------------------------------------------------
\cventry
{[[ edu.studyType ]], [[ edu.area ]]}
{[[ edu.institution ]]}
{[[ edu.location ]]}
{[[ edu.safe.start ]] - [[ edu.safe.end ]]}
[~ if( edu.highlights && edu.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(edu.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
{[[ edu.title ]]} % Degree
{[[ edu.institution ]]} % Institution
{[[ edu.location ]]} % Location
{[[ h.dateRange( edu ) ]]} % Date(s)
{[~ if( edu.highlights && edu.highlights.length ) { ~]
\begin{cvitems} % Description(s) bullet points
[[ h.pad( edu.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,18 +1,28 @@
[~ if( r.employment && r.employment.history && r.employment.history.length ) { ~]
[~ if (r.employment && r.employment.history && r.employment.history.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Experience}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.employment.history, function(emp) { ~]
[~ _.each( r.employment.history, function(job) { ~]
%---------------------------------------------------------
\cventry
{[[ emp.position ]]}
{[[ emp.employer ]]}
{[[ emp.location ]]}
{[[ emp.safe.start ]] - [[ emp.safe.end ]]}
[~ if( emp.highlights && emp.highlights.length ) {
~]{
\begin{cvitems}[~ _.each( emp.highlights, function(high) { ~]
\item {[[ high.replace(/#/g, '\\#') ]]}[~ }); ~]
{[[ job.position ]]} % Job title
{[[ job.employer ]]} % 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

@ -1,19 +1,28 @@
[~ if( r.extracurricular && r.extracurricular.length ) { ~]
[~ if (r.extracurricular && r.extracurricular.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Extracurricular Activity}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each( r.extracurricular, function(ex) { ~]
[~ _.each( r.extracurricular, function(cur) { ~]
%---------------------------------------------------------
\cventry
{[[ ex.title ]]}
{[[ ex.activity ]]}
{[[ ex.location ]]}
{[[ ex.safe.start ]] - [[ ex.safe.end ]]}
[~ if( ex.highlights && ex.highlights.length ) {
~]{
\begin{cvitems}
[~ _.each(ex.highlights, function(high) {
~]\item {[[high]]}
[~ }); ~]\end{cvitems}
}[~ } else { ~]{ }[~ } ~]
[~ }); ~]
{[[ cur.title ]]} % Affiliation/role
{[[ cur.activity ]]} % Organization/group
{[[ cur.location ]]} % Location
{[[ h.dateRange(cur) ]]} % Date(s)
{[~ if (cur.highlights && cur.highlights.length ) { ~]
\begin{cvitems} % Description(s) of experience/contributions/knowledge
[[ h.pad( cur.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

View File

@ -1,52 +1,52 @@
[~ if( r.recognition && r.recognition.length ) { ~]
[~ if ( r.recognition && r.recognition.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Honors \& Awards}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{International}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each(r.recognition, function(rec) { ~]
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{[[ rec.title ]]}
{[[ rec.event ]]}
{[[ rec.location ]]}
{[[ rec.safe.date ]]}
[~ }); ~]
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ h.date(rgn.date) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
%-------------------------------------------------------------------------------
% SUBSECTION TITLE
%-------------------------------------------------------------------------------
\cvsubsection{Domestic}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvhonors}
[~ _.each( r.recognition, function(rgn) { ~]
%---------------------------------------------------------
\cvhonor
{3rd Place}
{WITHCON Hacking Competition Final}
{Seoul, S.Korea}
{2015}
\cvhonor
{Silver Prize}
{KISA HDCON Hacking Competition Final}
{Seoul, S.Korea}
{2013}
\cvhonor
{2nd Award}
{HUST Hacking Festival}
{S.Korea}
{2013}
\cvhonor
{3rd Award}
{HUST Hacking Festival}
{S.Korea}
{2010}
\cvhonor
{3rd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2012}
\cvhonor
{2nd Award}
{Holyshield 3rd Hacking Festival}
{S.Korea}
{2011}
\cvhonor
{5th Place}
{PADOCON Hacking Competition Final}
{Seoul, S.Korea}
{2011}
{[[ rgn.title ]]} % Award
{[[ rgn.from ]]} % Event
{[[ rgn.location ]]} % Location
{[[ h.date(rgn.date) ]]} % Date(s)
[~ }); ~]
%---------------------------------------------------------
\end{cvhonors}
[~ } ~]

View File

@ -1,20 +1,28 @@
[~ if( r.speaking && r.speaking.length) { ~]
[~ if (r.speaking && r.speaking.length) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Presentation}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.speaking, function(pres) { ~]
[~ _.each( r.speaking, function(spk) { ~]
%---------------------------------------------------------
\cventry
{[[ pres.title ]]}
{[[ pres.event ]]}
{[[ pres.location ]]}
{[[ pres.safe.date ]]}
[~ if (pres.highlights && pres.highlights.length) {
~]{
\begin{cvitems}
[~ _.each(pres.highlights, function( high) {
~]\item {[[ high ]]}[~ }); ~]
{[[ spk.title ]]} % Role
{[[ spk.event ]])} % Event
{[[ spk.location ]]} % Location
{[[ h.date(spk.date) ]]} % Date(s)
{[~ if (r.speaking && r.speaking.length) { ~]
\begin{cvitems} % Description(s)
[[ h.pad( spk.highlights.map( function(h) { return '\\item {' + h + '}' }), -8 ) ]]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
[~ }); ~]
[~ } ~]}
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

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

@ -0,0 +1,14 @@
[~ if( r.info && r.info.brief ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Summary}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cvparagraph}
[[ r.info.brief ]]
\end{cvparagraph}
[~ } ~]

View File

@ -1,21 +1,28 @@
[~ if( r.writing && r.writing.length ) { ~]
[~ if (r.writing && r.writing.length ) { ~]
%-------------------------------------------------------------------------------
% SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Writing}
%-------------------------------------------------------------------------------
% CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}
[~ _.each(r.writing, function(wri) { ~]
[~ _.each( r.writing, function(wri) { ~]
%---------------------------------------------------------
\cventry
{[[ wri.publisher ]]}
{[[ wri.title ]]}
{[[ wri.url ]]}
{[[ wri.safe.date ]] - PRESENT}
[~ if( wri.highlights && wri.highlights.length ) { ~]
{
\begin{cvitems}
[~ _.each(wri.highlights, function(high) { ~]
\item {[[ high ]]}
[~ }); ~]
\end{cvitems}
}
[~ } else { ~]{ }[~ } ~]
{[~ if (_.isString(wri.publisher)) { ~]
[[ wri.publisher]]
[~ } else { ~]
print( wri.publisher ? wri.publisher.name : 'Unknown' )
[~ } ~]} % Publisher
{[[ wri.title ]]} % Title
{[[ wri.url ]]} % URL
{[[ h.date(wri.date) ]]} % Date(s)
{[[ wri.summary ]]} % Summary
[~ }); ~]
%---------------------------------------------------------
\end{cventries}
[~ } ~]

Binary file not shown.

View File

@ -11,6 +11,7 @@
"comment": "\\[\\#([\\s\\S]+?)\\#\\]"
},
"leaf": true,
"explicit": true,
"formats": {
"latex": {
"transform": [
@ -22,10 +23,12 @@
"src/latex/examples/resume/extracurricular.tex",
"src/latex/examples/resume/honors.tex",
"src/latex/examples/resume/presentation.tex",
"src/latex/examples/resume/summary.tex",
"src/latex/examples/resume/writing.tex",
"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",
@ -33,10 +36,11 @@
"src/latex/examples/cv/writing.tex"
],
"symLinks": {
"src/latex/examples/awesome-cv.cls": "../awesome-cv.cls",
"src/latex/examples/fontawesome.sty": "../fontawesome.sty",
"src/latex/examples/fonts": "../fonts"
}
"latex/examples/awesome-cv.cls": "../awesome-cv.cls",
"latex/examples/fontawesome.sty": "../fontawesome.sty",
"latex/examples/fonts": "../fonts"
},
"exclude": ["fontawesome.sty","README.md","package.json"]
}
},
"message": "Don't forget to run 'xelatex <myresume.tex>' in the generated latex/examples folder to complete your resume build! For more info, see the theme README at https://github.com/fluentdesk/fresh-themes/blob/master/themes/awesome/README.md."

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>

Some files were not shown because too many files have changed in this diff Show More