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

Compare commits

...

74 Commits

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

@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>{{ RAW.name }}</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
{{{styleSheet "compact-html.css"}}}
{{{styleSheet "compact-pdf.css"}}}
</head>
<body>
<main>
@ -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

@ -45,7 +45,7 @@
available that allows us to do either, conditionally.
--> }}
{{{styleSheet "modern-html.css"}}}
{{{styleSheet "modern-pdf.css"}}}
{{! <!--
Now, depending on options, "modern-html.css" will either be embedded
@ -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