mirror of
https://github.com/JuanCanham/fresh-theme-elegant.git
synced 2024-11-23 16:40:10 +00:00
Initial commit
This commit is contained in:
commit
5fc53e78e8
29
.gitignore
vendored
Normal file
29
.gitignore
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directory
|
||||
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
|
||||
node_modules
|
||||
|
||||
out
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Jean-Sébastien Renaud
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
43
README.md
Normal file
43
README.md
Normal file
@ -0,0 +1,43 @@
|
||||
# fresh-theme-elegant
|
||||
|
||||
Responsive resume theme for [HackMyResume](https://github.com/hacksalot/HackMyResume) adapted for the FRESH schema from [Mudassir](https://github.com/mudassir0909)'s [jsonresume-theme-elegant](https://github.com/mudassir0909/jsonresume-theme-elegant).
|
||||
I used [Antonio Ruberto](https://github.com/aruberto)'s [fresh-theme-bootstrap](https://github.com/aruberto/fresh-theme-bootstrap) theme as base guidelines to make this theme using the [Handlebar](http://handlebarsjs.com/) template engine.
|
||||
|
||||
For now this **only** a **HTML** theme.
|
||||
I'm open to suggestion concerning the frontend code and the UI/UX, see [Contributing](#contributing) for more information.
|
||||
|
||||
## Sections
|
||||
The sectionss currently available are:
|
||||
* Profile (with name, photo, label, address, phone, email, website, languages and social links)
|
||||
* About (with you info.brief)
|
||||
* Work Experience (employment)
|
||||
* Skills
|
||||
* Education
|
||||
* Projects
|
||||
* Volunteer Work (service)
|
||||
* Interests
|
||||
* Awards (recognition)
|
||||
* References
|
||||
If a section is not used in your FRESH resume it will simply not be displayed
|
||||
|
||||
## How to use it
|
||||
Go where your FRESH JSON resume is located and run:
|
||||
```
|
||||
npm install fresh-theme-elegant
|
||||
```
|
||||
Then to export your resume using this template run:
|
||||
```
|
||||
hackmyresume BUILD resume.json TO out/resume.all --theme node_modules/fresh-theme-elegant/
|
||||
```
|
||||
|
||||
## Goals
|
||||
In the long term this template will support all the FRESH sections and will let the final user decide what to put in their FRESH resume.
|
||||
This template will also aim at supporting other languages that English.
|
||||
|
||||
## Contributing
|
||||
There are many ways you can help improve this theme (and most don't even require coding):
|
||||
* Open an issue to report a bug with the theme
|
||||
* Open an issue to discuss the layout of a section (or of the entire resume) and we'll find what fits best
|
||||
* Open an issue to request a particular section or field to be added (if you can describe how you imagine the layout it's even better)
|
||||
* Open an issue to request the addition of a new feature, like displaying the duration between start to end (yes it is already on my to-do list)
|
||||
* Fork the repo, make a new branch with your changes and make a pull request describing the changes you want to apply (bug fix, feature, section, layout, ...)
|
21
package.json
Normal file
21
package.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "fresh-theme-elegant",
|
||||
"version": "0.1.0",
|
||||
"description": "Responsive resume theme using using the fresh theme from JSON-Resume.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/BackIsBachus/fresh-theme-elegant"
|
||||
},
|
||||
"keywords": [
|
||||
"fresh-themes",
|
||||
"hackmyresume",
|
||||
"fresh",
|
||||
"fresca"
|
||||
],
|
||||
"author": "BackIsBachus (https://github.com/BackIsBachus)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/BackIsBachus/fresh-theme-elegant/issues"
|
||||
},
|
||||
"homepage": "https://github.com/BackIsBachus/fresh-theme-elegant#readme"
|
||||
}
|
13
src/partials/about.html
Normal file
13
src/partials/about.html
Normal file
@ -0,0 +1,13 @@
|
||||
{{#if r.info.brief}}
|
||||
<div id="about" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-user" aria-hidden="true"></i><span class="mobile-title">About</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">About</h4>
|
||||
<div class="card card-nested">
|
||||
<div itemprop="description" class="content mop-wrapper">
|
||||
<p>{{r.info.brief}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
17
src/partials/background.html
Normal file
17
src/partials/background.html
Normal file
@ -0,0 +1,17 @@
|
||||
<section class="col-md-9 card-wrapper pull-right">
|
||||
<div class="card background-card">
|
||||
<h4 class="text-uppercase">Background</h4>
|
||||
<hr/>
|
||||
<div class="background-details">
|
||||
{{> about}}
|
||||
{{> experience}}
|
||||
{{> skills}}
|
||||
{{> education}}
|
||||
{{> projects}}
|
||||
{{> volunteer}}
|
||||
{{> interests}}
|
||||
{{> recognition}}
|
||||
{{> references}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
8
src/partials/body.html
Normal file
8
src/partials/body.html
Normal file
@ -0,0 +1,8 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row main clearfix">
|
||||
{{> nav}}
|
||||
{{> profile}}
|
||||
{{> background}}
|
||||
</div>
|
||||
</div>
|
||||
{{> bottom-script}}
|
47
src/partials/bottom-script.html
Normal file
47
src/partials/bottom-script.html
Normal file
@ -0,0 +1,47 @@
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/tooltip.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/collapse.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
var toggleFloatingMenu = function() {
|
||||
$('.js-floating-nav').toggleClass('is-visible');
|
||||
$('.js-floating-nav-trigger').toggleClass('is-open');
|
||||
};
|
||||
|
||||
$(".background-card").css("min-height", window.screen.availHeight + "px");
|
||||
$("[rel=tooltip]").tooltip();
|
||||
$('.js-floating-nav-trigger').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
toggleFloatingMenu();
|
||||
});
|
||||
$('.js-floating-nav a').on('click', toggleFloatingMenu);
|
||||
|
||||
$("#remaining-profiles").on('show.bs.collapse', function() {
|
||||
$('.js-profiles-collapse > i')
|
||||
.removeClass('fa-chevron-down')
|
||||
.addClass('fa-chevron-up');
|
||||
});
|
||||
|
||||
$("#remaining-profiles").on('hidden.bs.collapse', function() {
|
||||
$('.js-profiles-collapse > i')
|
||||
.removeClass('fa-chevron-up')
|
||||
.addClass('fa-chevron-down');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
WebFontConfig = {
|
||||
google: {
|
||||
families: ['Lato:300,400,700:latin']
|
||||
}
|
||||
};
|
||||
(function() {
|
||||
var wf = document.createElement('script');
|
||||
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
|
||||
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
|
||||
wf.type = 'text/javascript';
|
||||
wf.async = 'true';
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(wf, s);
|
||||
})();
|
||||
</script>
|
1
src/partials/date.html
Normal file
1
src/partials/date.html
Normal file
@ -0,0 +1 @@
|
||||
<p class="text-muted"><small><span class="space-right">{{dateRange this}}</span>{{#if location}}{{location}}{{/if}}</small></p>
|
26
src/partials/education.html
Normal file
26
src/partials/education.html
Normal file
@ -0,0 +1,26 @@
|
||||
{{#if r.education}}
|
||||
<div id="education" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-graduation-cap"></i><span class="mobile-title">Education</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Education</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.education.history}}
|
||||
<li class="card card-nested">
|
||||
<div class="content">
|
||||
<p class="clear-margin relative"><strong>{{area}}{{title}}{{#if studyType}} ({{studyType}}){{/if}}, </strong><a href="{{url}}" target="_blank">{{institution}}</a></p>
|
||||
{{> date}}
|
||||
<div class="space-top labels">
|
||||
{{#each curriculum}}
|
||||
<span class="label label-keyword">{{this}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{> highlights}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
21
src/partials/experience.html
Normal file
21
src/partials/experience.html
Normal file
@ -0,0 +1,21 @@
|
||||
{{#if r.employment}}
|
||||
<div id="work-experience" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-building"></i><span class="mobile-title">Work Experience</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Work Experience</h4>
|
||||
<p>{{r.employment.summary}}</p>
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.employment.history}}
|
||||
<li class="card card-nested clearfix">
|
||||
<div class="content">
|
||||
<p class="clear-margin relative"><strong>{{{position}}}</strong>, <a href="{{url}}" target="_blank">{{employer}}</a></p>
|
||||
{{> date}}
|
||||
{{{summary}}}
|
||||
{{> highlights}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
7
src/partials/head.html
Normal file
7
src/partials/head.html
Normal file
@ -0,0 +1,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Jean-Sébastien Renaud</title>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.2/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-aNUYGqSUL9wG/vP7+cWZ5QOM4gsQou3sBfWRr/8S3R1Lv0rysEmnwsRKMbhiQX/O" crossorigin="anonymous" />
|
||||
{{> style}}
|
5
src/partials/highlights.html
Normal file
5
src/partials/highlights.html
Normal file
@ -0,0 +1,5 @@
|
||||
<ul>
|
||||
{{#each highlights}}
|
||||
<li>{{this}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
23
src/partials/interests.html
Normal file
23
src/partials/interests.html
Normal file
@ -0,0 +1,23 @@
|
||||
{{#if r.interests}}
|
||||
<div id="interests" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-heart"></i><span class="mobile-title">Interests</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Interests</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.interests}}
|
||||
<li class="card card-nested">
|
||||
<p><strong>{{name}}</strong></p>
|
||||
{{{summary}}}
|
||||
<div class="space-top labels">
|
||||
{{#each keywords}}
|
||||
<span class="label label-keyword">{{this}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
14
src/partials/nav.html
Normal file
14
src/partials/nav.html
Normal file
@ -0,0 +1,14 @@
|
||||
<a href="#" class="js-floating-nav-trigger floating-nav-trigger"><i class="fa fa-bars"></i><span class="close-icon">×</span></a>
|
||||
<nav class="floating-nav js-floating-nav">
|
||||
<ul class="list-unstyled">
|
||||
{{#if r.info.brief}}<li><a href="#about"><i class="mr-10 fa fa-user"></i>About</a></li>{{/if}}
|
||||
{{#if r.employment}}<li><a href="#work-experience"><i class="mr-10 fa fa-building"></i>Work Experience</a></li>{{/if}}
|
||||
{{#if r.skills}}<li><a href="#skills"><i class="mr-10 fa fa-gears"></i>Skills</a></li>{{/if}}
|
||||
{{#if r.education}}<li><a href="#education"><i class="mr-10 fa fa-graduation-cap"></i>Education</a></li>{{/if}}
|
||||
{{#if r.projects}}<li><a href="#projects"><i class="mr-10 fa fa-star"></i>Projects</a></li>{{/if}}
|
||||
{{#if r.service}}<li><a href="#volunteer-work"><i class="mr-10 fa fa-child"></i>Volunteer Work</a></li>{{/if}}
|
||||
{{#if r.interests}}<li><a href="#interests"><i class="mr-10 fa fa-heart"></i>Interests</a></li>{{/if}}
|
||||
{{#if r.recognition}}<li><a href="#awards"><i class="mr-10 fa fa-trophy"></i>Awards</a></li>{{/if}}
|
||||
{{#if r.references}}<li><a href="#references"><i class="mr-10 fa fa-thumbs-up"></i>References</a></li>{{/if}}
|
||||
</ul>
|
||||
</nav>
|
27
src/partials/profile.html
Normal file
27
src/partials/profile.html
Normal file
@ -0,0 +1,27 @@
|
||||
<section class="col-md-3 card-wrapper profile-card-wrapper affix">
|
||||
<div class="card profile-card"><span class="profile-pic-container">
|
||||
<div class="profile-pic">
|
||||
{{#if r.info.image}}
|
||||
<img data-src="holder.js/100x100" alt="{{{r.name}}}" src="{{r.info.image}}" itemprop="image" class="media-object img-circle center-block"/>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="name-and-profession text-center"><h3 itemprop="name"><b>{{{r.name}}}</b></h3><h5 itemprop="jobTitle" class="text-muted">{{r.info.label}}</h5></div></span>
|
||||
<hr/>
|
||||
<div class="contact-details clearfix">
|
||||
{{#if r.location.city}}<div class="detail"><span class="icon"><i class="icon fs-lg fa fa-map-marker"></i></span><span class="info">{{#if r.location.address}}{{r.location.address}}, {{/if}}{{r.location.city}}{{#if r.location.region}}, {{r.location.region}}{{/if}}{{#if r.location.country}}, {{r.location.country}}{{/if}}</span></div>{{/if}}
|
||||
<div class="detail"><span class="icon"><i class="icon fs-lg fa fa-phone"></i></span><span itemprop="telephone" class="info">{{r.contact.phone}}</span></div>
|
||||
<div class="detail"><span class="icon"><i class="icon fs-lg fa fa-envelope-o"></i></span><span class="info"><a href="mailto:{{{r.contact.email}}}" itemprop="email" class="link-disguise">{{{r.contact.email}}}</a></span>
|
||||
</div>
|
||||
<div class="detail"><span class="icon"><i class="icon fs-lg fa fa-link"></i></span><span class="info">{{{r.contact.website}}}</span></div>
|
||||
<div class="detail"><span title="Languages I speak" class="icon"><i class="icon fs-lg fa fa-language"></i></span><span class="info">{{#each r.languages}}{{language}}{{#unless @last}}, {{/unless}}{{/each}}</span></div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class="social-links text-center">
|
||||
<div>
|
||||
{{#each r.social}}
|
||||
<a href="{{url}}" target="_blank" data-toggle="tooltip" title="{{../r.name}} on {{network}}" class="fs-2x social-link"><i class="link-{{toLower network}} fa fa-{{toLower network}}"></i></a>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
20
src/partials/projects.html
Normal file
20
src/partials/projects.html
Normal file
@ -0,0 +1,20 @@
|
||||
{{#if r.projects}}
|
||||
<div id="projects" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-star"></i><span class="mobile-title">Projects</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Projects</h4>
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.projects}}
|
||||
<li class="card card-nested clearfix">
|
||||
<div class="content">
|
||||
<p class="clear-margin relative"><strong>{{role}}</strong>, <a href="{{url}}" target="_blank">{{title}}</a></p>
|
||||
{{> date}}
|
||||
{{{summary}}}
|
||||
{{> highlights}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
23
src/partials/recognition.html
Normal file
23
src/partials/recognition.html
Normal file
@ -0,0 +1,23 @@
|
||||
{{#if r.recognition}}
|
||||
<div id="awards" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-trophy"></i><span class="mobile-title">Awards</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Awards</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled clear-margin">
|
||||
{{#each r.recognition}}
|
||||
<li class="card card-nested">
|
||||
<div class="content">
|
||||
<p itemprop="award" class="clear-margin"><strong>{{title}} </strong><a href="{{url}}" target="_blank">{{from}}</a></p>
|
||||
<p class="text-muted"><small>Awarded on: {{date}}</small></p>
|
||||
<div class="mop-wrapper">
|
||||
{{{summary}}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
23
src/partials/references.html
Normal file
23
src/partials/references.html
Normal file
@ -0,0 +1,23 @@
|
||||
{{#if r.references}}
|
||||
<div id="references" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-thumbs-up"></i><span class="mobile-title">References</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">References</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled clear-margin">
|
||||
{{#each r.references}}
|
||||
{{#unless private}}
|
||||
<li class="card card-nested"><strong>{{name}}, </strong>{{role}}
|
||||
<blockquote class="quote">
|
||||
<div class="mop-wrapper">
|
||||
{{{summary}}}
|
||||
</div>
|
||||
</blockquote>
|
||||
</li>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
36
src/partials/skills.html
Normal file
36
src/partials/skills.html
Normal file
@ -0,0 +1,36 @@
|
||||
<div id="skills" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-cogs"></i><span class="mobile-title">Skills</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Skills</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.skills.sets}}
|
||||
<li class="card card-nested card-skills">
|
||||
<div rel="tooltip" title="{{level}}" data-placement="left" class="skill-level">
|
||||
<div class="skill-progress {{toLower level}}"></div>
|
||||
</div>
|
||||
<div class="skill-info"><strong>{{name}}</strong>
|
||||
<div class="space-top labels">
|
||||
{{#each skills}}
|
||||
<span class="label label-keyword">{{this}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
{{#each r.skills.list}}
|
||||
<li class="card card-nested card-skills">
|
||||
<div rel="tooltip" title="{{level}}" data-placement="left" class="skill-level">
|
||||
<div class="skill-progress {{toLower level}}"></div>
|
||||
</div>
|
||||
<div class="skill-info"><strong>{{name}} ({{years}} years)</strong>
|
||||
<div class="space-top">
|
||||
<p>{{summary}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
698
src/partials/style.html
Normal file
698
src/partials/style.html
Normal file
@ -0,0 +1,698 @@
|
||||
<style>
|
||||
..relative {
|
||||
position: relative;
|
||||
}
|
||||
.clear-margin {
|
||||
margin: 0;
|
||||
}
|
||||
.space-top {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.space-right {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.mr-5 {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.mr-10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.ml-5 {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.labels {
|
||||
line-height: 2;
|
||||
}
|
||||
.label-keyword {
|
||||
display: inline-block;
|
||||
background: #7eb0db;
|
||||
color: white;
|
||||
font-size: 0.9em;
|
||||
padding: 5px;
|
||||
border: 1px solid #357ebd;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.label-keyword:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.link-disguise {
|
||||
color: inherit;
|
||||
}
|
||||
.link-disguise:hover {
|
||||
color: inherit;
|
||||
}
|
||||
.clear-margin {
|
||||
margin: 0;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.clear-margin-sm {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.fs-lg {
|
||||
font-size: 1.33333333em;
|
||||
line-height: .75em;
|
||||
vertical-align: -15%;
|
||||
}
|
||||
.fs-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.fs-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
.fs-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
.btn-circle-sm {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
outline: none !important;
|
||||
}
|
||||
body {
|
||||
font-family: 'Lato';
|
||||
background: #f0f0f0;
|
||||
color: #333333;
|
||||
}
|
||||
.main {
|
||||
padding: 5px;
|
||||
}
|
||||
.card {
|
||||
background: #ffffff;
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
min-height: 300px;
|
||||
padding: 10px;
|
||||
}
|
||||
.card-nested {
|
||||
min-height: 0;
|
||||
margin-bottom: 10px;
|
||||
border-width: 1px 0 0 0;
|
||||
}
|
||||
.card-nested:before,
|
||||
.card-nested:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
.card-nested:after {
|
||||
clear: both;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.card-nested {
|
||||
padding: 5px 0;
|
||||
}
|
||||
}
|
||||
.background-card {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.card-wrapper {
|
||||
padding: 5px;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.card-wrapper {
|
||||
float: none !important;
|
||||
}
|
||||
}
|
||||
.background-details .detail {
|
||||
display: table;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.background-details .detail .icon {
|
||||
min-width: 45px;
|
||||
max-width: 45px;
|
||||
text-align: center;
|
||||
}
|
||||
.background-details .detail .info {
|
||||
width: 100%;
|
||||
}
|
||||
.background-details .detail .title,
|
||||
.background-details .detail .icon {
|
||||
color: #707070;
|
||||
}
|
||||
.background-details .detail .mobile-title {
|
||||
display: none;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.background-details .detail .mobile-title {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
.background-details .detail .icon,
|
||||
.background-details .detail .info {
|
||||
display: table-cell;
|
||||
padding: 0 10px;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.background-details .detail {
|
||||
display: block;
|
||||
}
|
||||
.background-details .detail .icon {
|
||||
max-width: inherit;
|
||||
min-width: inherit;
|
||||
text-align: left;
|
||||
}
|
||||
.background-details .detail .icon,
|
||||
.background-details .detail .info {
|
||||
display: block;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.background-details .detail .title {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.info .content.has-sidebar {
|
||||
width: 80%;
|
||||
box-sizing: border-box;
|
||||
float: left;
|
||||
padding: 0 10px;
|
||||
border-right: 1px solid #cdcdcd;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.info .content.has-sidebar {
|
||||
width: 100%;
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.info .content.has-sidebar {
|
||||
padding: 0 2px;
|
||||
}
|
||||
}
|
||||
.info .sidebar {
|
||||
margin-left: 80%;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
ul {
|
||||
padding-left: 25px;
|
||||
}
|
||||
}
|
||||
.current-event {
|
||||
font-size: 8px;
|
||||
color: #5ACE24;
|
||||
position: absolute;
|
||||
right: 100%;
|
||||
top: 4px;
|
||||
left: -10px;
|
||||
}
|
||||
/*
|
||||
Credits: http://codyhouse.co/demo/smart-fixed-navigation/index.html
|
||||
*/
|
||||
.floating-nav-trigger {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
|
||||
-webkit-transition: background-color 0.5s ease;
|
||||
-o-transition: background-color 0.5s ease;
|
||||
transition: background-color 0.5s ease;
|
||||
display: block;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
background-color: white;
|
||||
font-size: 1.5em;
|
||||
color: #357ebd;
|
||||
z-index: 100;
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
right: 10px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.floating-nav-trigger > [class^="fa-"],
|
||||
.floating-nav-trigger [class*=" fa-"],
|
||||
.floating-nav-trigger > .close-icon {
|
||||
line-height: 50px;
|
||||
}
|
||||
.floating-nav-trigger .close-icon {
|
||||
display: none;
|
||||
}
|
||||
.floating-nav-trigger:hover {
|
||||
color: #1f496e;
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
.floating-nav-trigger.is-open {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.floating-nav-trigger.is-open .close-icon {
|
||||
display: inherit;
|
||||
}
|
||||
.floating-nav-trigger.is-open .fa-bars {
|
||||
display: none;
|
||||
}
|
||||
.floating-nav-trigger.is-open:hover {
|
||||
background-color: white;
|
||||
}
|
||||
.floating-nav {
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
-webkit-transform-origin: 100% 100%;
|
||||
-moz-transform-origin: 100% 100%;
|
||||
-ms-transform-origin: 100% 100%;
|
||||
transform-origin: 100% 100%;
|
||||
-webkit-transition: transform 0.3s, visibility 0s 0.3s;
|
||||
-o-transition: transform 0.3s, visibility 0s 0.3s;
|
||||
transition: transform 0.3s, visibility 0s 0.3s;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
background-color: white;
|
||||
width: 90%;
|
||||
max-width: 400px;
|
||||
visibility: hidden;
|
||||
overflow: hidden;
|
||||
}
|
||||
.floating-nav ul {
|
||||
font-size: 1.2em;
|
||||
margin: 0;
|
||||
}
|
||||
.floating-nav ul li {
|
||||
border-bottom: 1px solid #eff2f6;
|
||||
}
|
||||
.floating-nav ul li a {
|
||||
padding: 20px;
|
||||
text-decoration: none;
|
||||
color: #357ebd;
|
||||
display: block;
|
||||
}
|
||||
.floating-nav ul li a:hover {
|
||||
color: #1f496e;
|
||||
}
|
||||
.floating-nav ul li:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.floating-nav.is-visible {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1);
|
||||
-webkit-transition: transform 0.3s, visibility 0s 0s;
|
||||
-o-transition: transform 0.3s, visibility 0s 0s;
|
||||
transition: transform 0.3s, visibility 0s 0s;
|
||||
visibility: visible;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.profile-card-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
.profile-pic {
|
||||
padding: 20px 0;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.profile-pic {
|
||||
padding: 10px 0;
|
||||
}
|
||||
}
|
||||
.profile-pic img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.name {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.contact-details {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.contact-details .detail {
|
||||
display: table;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.contact-details .detail .icon {
|
||||
padding: 0 10px;
|
||||
color: #707070;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.contact-details .detail .icon {
|
||||
padding: 0 5px 0 0;
|
||||
}
|
||||
}
|
||||
.contact-details .detail .info {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.contact-details .detail .icon,
|
||||
.contact-details .detail .info {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.contact-details .detail {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 100%;
|
||||
min-height: 1px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
.contact-details .detail {
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding: 10px;
|
||||
}
|
||||
.contact-details .detail .icon,
|
||||
.contact-details .detail .info {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
@media (max-width: 992px) and (min-width: 768px) {
|
||||
.contact-details .detail {
|
||||
float: left;
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
.social-links {
|
||||
line-height: 2.5;
|
||||
}
|
||||
.social-link {
|
||||
margin-left: 5px;
|
||||
min-width: 35px;
|
||||
display: inline-block;
|
||||
}
|
||||
.social-link:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.social-link:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.link-github {
|
||||
color: #454545;
|
||||
}
|
||||
.link-github:hover,
|
||||
.link-github:focus {
|
||||
text-decoration: none;
|
||||
color: #2b2b2b;
|
||||
}
|
||||
.link-twitter {
|
||||
color: #33ccff;
|
||||
}
|
||||
.link-twitter:hover,
|
||||
.link-twitter:focus {
|
||||
text-decoration: none;
|
||||
color: #00bfff;
|
||||
}
|
||||
.link-blog {
|
||||
color: #f36f24;
|
||||
}
|
||||
.link-blog:hover,
|
||||
.link-blog:focus {
|
||||
text-decoration: none;
|
||||
color: #d8560c;
|
||||
}
|
||||
.link-linkedin {
|
||||
color: #007bb6;
|
||||
}
|
||||
.link-linkedin:hover,
|
||||
.link-linkedin:focus {
|
||||
text-decoration: none;
|
||||
color: #005983;
|
||||
}
|
||||
.link-skype {
|
||||
color: #12a5f4;
|
||||
}
|
||||
.link-skype:hover,
|
||||
.link-skype:focus {
|
||||
text-decoration: none;
|
||||
color: #0986ca;
|
||||
}
|
||||
.link-instagram {
|
||||
color: #3f729b;
|
||||
}
|
||||
.link-instagram:hover,
|
||||
.link-instagram:focus {
|
||||
text-decoration: none;
|
||||
color: #305777;
|
||||
}
|
||||
.link-stackoverflow {
|
||||
color: #8e8e92;
|
||||
}
|
||||
.link-stackoverflow:hover,
|
||||
.link-stackoverflow:focus {
|
||||
text-decoration: none;
|
||||
color: #747479;
|
||||
}
|
||||
.link-stackexchange {
|
||||
color: #62b0df;
|
||||
}
|
||||
.link-stackexchange:hover,
|
||||
.link-stackexchange:focus {
|
||||
text-decoration: none;
|
||||
color: #389bd6;
|
||||
}
|
||||
.link-lastfm {
|
||||
color: #d12127;
|
||||
}
|
||||
.link-lastfm:hover,
|
||||
.link-lastfm:focus {
|
||||
text-decoration: none;
|
||||
color: #a51a1f;
|
||||
}
|
||||
.link-soundcloud {
|
||||
color: #e8822d;
|
||||
}
|
||||
.link-soundcloud:hover,
|
||||
.link-soundcloud:focus {
|
||||
text-decoration: none;
|
||||
color: #cc6916;
|
||||
}
|
||||
.link-googleplus {
|
||||
color: #dd4b39;
|
||||
}
|
||||
.link-googleplus:hover,
|
||||
.link-googleplus:focus {
|
||||
text-decoration: none;
|
||||
color: #c23321;
|
||||
}
|
||||
.link-youtube {
|
||||
color: #dd4b39;
|
||||
}
|
||||
.link-youtube:hover,
|
||||
.link-youtube:focus {
|
||||
text-decoration: none;
|
||||
color: #c23321;
|
||||
}
|
||||
.link-pinterest {
|
||||
color: #bd091f;
|
||||
}
|
||||
.link-pinterest:hover,
|
||||
.link-pinterest:focus {
|
||||
text-decoration: none;
|
||||
color: #8c0717;
|
||||
}
|
||||
.link-gratipay {
|
||||
color: #663300;
|
||||
}
|
||||
.link-gratipay:hover,
|
||||
.link-gratipay:focus {
|
||||
text-decoration: none;
|
||||
color: #331a00;
|
||||
}
|
||||
.link-vimeo {
|
||||
color: #17b3e8;
|
||||
}
|
||||
.link-vimeo:hover,
|
||||
.link-vimeo:focus {
|
||||
text-decoration: none;
|
||||
color: #128fba;
|
||||
}
|
||||
.link-behance {
|
||||
color: #2c98cf;
|
||||
}
|
||||
.link-behance:hover,
|
||||
.link-behance:focus {
|
||||
text-decoration: none;
|
||||
color: #2379a5;
|
||||
}
|
||||
.link-codepen {
|
||||
color: #1c1c1c;
|
||||
}
|
||||
.link-codepen:hover,
|
||||
.link-codepen:focus {
|
||||
text-decoration: none;
|
||||
color: #020202;
|
||||
}
|
||||
.link-foursquare {
|
||||
color: #fa4778;
|
||||
}
|
||||
.link-foursquare:hover,
|
||||
.link-foursquare:focus {
|
||||
text-decoration: none;
|
||||
color: #f91554;
|
||||
}
|
||||
.link-reddit {
|
||||
color: #545454;
|
||||
}
|
||||
.link-reddit:hover,
|
||||
.link-reddit:focus {
|
||||
text-decoration: none;
|
||||
color: #3b3b3b;
|
||||
}
|
||||
.link-spotify {
|
||||
color: #acd200;
|
||||
}
|
||||
.link-spotify:hover,
|
||||
.link-spotify:focus {
|
||||
text-decoration: none;
|
||||
color: #829f00;
|
||||
}
|
||||
.link-tumblr {
|
||||
color: #2d4661;
|
||||
}
|
||||
.link-tumblr:hover,
|
||||
.link-tumblr:focus {
|
||||
text-decoration: none;
|
||||
color: #1d2d3e;
|
||||
}
|
||||
.link-dribbble {
|
||||
color: #ce366f;
|
||||
}
|
||||
.link-dribbble:hover,
|
||||
.link-dribbble:focus {
|
||||
text-decoration: none;
|
||||
color: #a82959;
|
||||
}
|
||||
.link-facebook {
|
||||
color: #4b6daa;
|
||||
}
|
||||
.link-facebook:hover,
|
||||
.link-facebook:focus {
|
||||
text-decoration: none;
|
||||
color: #3b5687;
|
||||
}
|
||||
.link-angellist {
|
||||
color: #000000;
|
||||
}
|
||||
.link-angellist:hover,
|
||||
.link-angellist:focus {
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
.link-bitbucket {
|
||||
color: #205081;
|
||||
}
|
||||
.link-bitbucket:hover,
|
||||
.link-bitbucket:focus {
|
||||
text-decoration: none;
|
||||
color: #163758;
|
||||
}
|
||||
.link-hackernews {
|
||||
color: #ff6600;
|
||||
}
|
||||
.link-hackernews:hover,
|
||||
.link-hackernews:focus {
|
||||
text-decoration: none;
|
||||
color: #cc5200;
|
||||
}
|
||||
.link-exercism {
|
||||
color: #d81d4e;
|
||||
}
|
||||
.link-exercism:hover,
|
||||
.link-exercism:focus {
|
||||
text-decoration: none;
|
||||
color: #ab173e;
|
||||
}
|
||||
.card-skills {
|
||||
position: relative;
|
||||
}
|
||||
.skill-level {
|
||||
border-radius: 3px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 10px;
|
||||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.skill-level .skill-progress {
|
||||
position: absolute;
|
||||
border-radius: 3px;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
-webkit-transition: height 1s ease;
|
||||
}
|
||||
.skill-level .skill-progress.beginner {
|
||||
height: 50%;
|
||||
background: #e74c3c;
|
||||
}
|
||||
.skill-level .skill-progress.intermediate {
|
||||
height: 70%;
|
||||
background: #f1c40f;
|
||||
}
|
||||
.skill-level .skill-progress.advanced {
|
||||
height: 80%;
|
||||
background: #428bca;
|
||||
}
|
||||
.skill-level .skill-progress.master {
|
||||
height: 95%;
|
||||
background: #5cb85c;
|
||||
}
|
||||
.skill-info {
|
||||
margin-left: 10px;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.skill-info {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.quote {
|
||||
font-size: inherit;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
a[href]:after {
|
||||
content: none !important;
|
||||
}
|
||||
.profile-card {
|
||||
text-align: center;
|
||||
}
|
||||
.profile-pic {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.profile-pic img {
|
||||
border-radius: 0;
|
||||
}
|
||||
.name-and-profession {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-left: 15px;
|
||||
}
|
||||
.contact-details .detail {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 25%;
|
||||
min-height: 1px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding: 0;
|
||||
}
|
||||
.floating-nav,
|
||||
.floating-nav-trigger {
|
||||
display: none;
|
||||
}
|
||||
.pagebreak {
|
||||
page-break-before: always;
|
||||
}
|
||||
}
|
||||
</style>
|
22
src/partials/volunteer.html
Normal file
22
src/partials/volunteer.html
Normal file
@ -0,0 +1,22 @@
|
||||
{{#if r.service}}
|
||||
<div id="volunteer-work" class="detail">
|
||||
<div class="icon"><i class="fs-lg fa fa-child"></i><span class="mobile-title">Volunteer Work</span></div>
|
||||
<div class="info">
|
||||
<h4 class="title text-uppercase">Volunteer Work</h4>
|
||||
<div class="content">
|
||||
<ul class="list-unstyled">
|
||||
{{#each r.service.history}}
|
||||
<li class="card card-nested">
|
||||
<div class="content">
|
||||
<p class="clear-margin relative"><strong>{{position}}, </strong><a href="{{url}}" target="_blank">{{organization}}</a></p>
|
||||
{{> date}}
|
||||
{{{summary}}}
|
||||
{{> highlights}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
10
src/template-html.html
Normal file
10
src/template-html.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{{> head}}
|
||||
</head>
|
||||
<body itemscope="itemscope" itemtype="http://schema.org/Person">
|
||||
{{> body}}
|
||||
</body>
|
||||
</html>
|
1
test/README.md
Normal file
1
test/README.md
Normal file
@ -0,0 +1 @@
|
||||
# fresh-theme-elegant-test
|
16
test/package.json
Normal file
16
test/package.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "fresh-theme-elegant-test",
|
||||
"version": "0.1.0",
|
||||
"description": "fresh-theme-elegant-test",
|
||||
"repository": "https://github.com/BackIsBachus/fresh-theme-elegant/test",
|
||||
"author": "BackIsBachus (https://github.com/BackIsBachus)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/BackIsBachus/fresh-theme-elegant/issues"
|
||||
},
|
||||
"homepage": "https://github.com/BackIsBachus/fresh-theme-elegant#readme",
|
||||
"devDependencies": {
|
||||
"fresh-theme-elegant": "../",
|
||||
"hackmyresume": "^1.8.0"
|
||||
}
|
||||
}
|
547
test/resume.json
Normal file
547
test/resume.json
Normal file
@ -0,0 +1,547 @@
|
||||
{
|
||||
|
||||
"name": "Jane Q. Fullstacker",
|
||||
|
||||
"meta": {
|
||||
"format": "FRESH@0.4.0",
|
||||
"version": "0.3.0"
|
||||
},
|
||||
|
||||
"info": {
|
||||
"label": "Senior Developer",
|
||||
"characterClass": "Programmer",
|
||||
"brief": "**Imaginary full-stack software developer with 6+ years industry experience** specializing in scalable cloud architectures for this, that, and the other. A native of southern CA, Jane enjoys hiking, mystery novels, and the company of Rufus, her two-year-old beagle.",
|
||||
"image": "jane_doe.png",
|
||||
"quote": "Be the change you want to see in the world."
|
||||
},
|
||||
|
||||
"contact": {
|
||||
"website": "http://janef.me/blog",
|
||||
"phone": "1-650-999-7777",
|
||||
"email": "jdoe@onecoolstartup.io",
|
||||
"other": [
|
||||
{
|
||||
"label": "Home Phone",
|
||||
"flavor": "phone",
|
||||
"value": "1-650-999-4321"
|
||||
},
|
||||
{
|
||||
"label": "Work Phone",
|
||||
"flavor": "phone",
|
||||
"value": "1-650-777-1234"
|
||||
},
|
||||
{
|
||||
"label": "Personal Email",
|
||||
"flavor": "email",
|
||||
"value": "jane@janef.me"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"location": {
|
||||
"address": "Jane Fullstacker\n123 Somewhere Rd.\nMountain View, CA 94035",
|
||||
"city": "Mountain View",
|
||||
"region": "CA",
|
||||
"code": "94035",
|
||||
"country": "US"
|
||||
},
|
||||
|
||||
"projects": [
|
||||
{
|
||||
"title": "HackMyResume",
|
||||
"category": "FOSS",
|
||||
"role": "contributor",
|
||||
"url": "http://please.hackmyresume.com",
|
||||
"start": "2015-09",
|
||||
"repo": "https://github.com/hacksalot/hackmyresume",
|
||||
"description": "A resume authoring and analysis tool for OS X, Linux, and Windows.",
|
||||
"summary": "Exemplar user for HackMyResume and FluentCV!",
|
||||
"keywords": ["JavaScript", "Node.js", "cross-platform", "JSON"],
|
||||
"media": [
|
||||
{
|
||||
"category": "download",
|
||||
"url": "https://www.npmjs.com/package/hackmyresume"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Augmented Android",
|
||||
"category": "commercial",
|
||||
"role": "co-creator",
|
||||
"url": "http://project.website.com",
|
||||
"repo": "http://repo.website.com",
|
||||
"description": "An augmented reality app for Android.",
|
||||
"start": "2012-02",
|
||||
"end": "2014-01",
|
||||
"summary": "Performed flagship product conceptualization and development.",
|
||||
"keywords": ["Android", "Java", "Xamarin"]
|
||||
},
|
||||
{
|
||||
"title": "Blog",
|
||||
"category": "personal",
|
||||
"role": "creator",
|
||||
"url": "http://myblog.jane.com/blog",
|
||||
"description": "My programming blog. Powered by Jekyll.",
|
||||
"summary": "Conceptualization, design, development, and deployment.",
|
||||
"keywords": ["Jekyll", "Ruby", "HTML 5", "JavaScript", "HTTP", "LAMP"]
|
||||
}
|
||||
],
|
||||
|
||||
"social": [
|
||||
|
||||
{
|
||||
"label": "GitHub",
|
||||
"network": "GitHub",
|
||||
"user": "janef-was-here",
|
||||
"url": "https://github.com/janef-was-here"
|
||||
},
|
||||
|
||||
{
|
||||
"label": "Twitter",
|
||||
"network": "Twitter",
|
||||
"user": "janef-was-here",
|
||||
"url": "https://twitter.com/janef-was-here"
|
||||
}
|
||||
],
|
||||
|
||||
"employment": {
|
||||
|
||||
"summary": "7+ years industry IT and software development experience.",
|
||||
|
||||
"history": [
|
||||
|
||||
{
|
||||
"employer": "One Cool Startup",
|
||||
"url": "https://onecool.io/does-not-exist",
|
||||
"position": "Head Code Ninja",
|
||||
"summary": "Development team manager for [OneCoolApp](https://en.wikipedia.org/wiki/Vaporware) and OneCoolWebsite, a free social network tiddlywink generator and lifestyle portal with over 200,000 users.",
|
||||
"start": "2013-09",
|
||||
"current": true,
|
||||
"keywords": ["Agile","PM","Amazon Web Services","AWS"],
|
||||
"highlights": ["Managed a 5-person development team", "Accomplishment 2", "Etc."]
|
||||
},
|
||||
|
||||
{
|
||||
"employer": "Veridian Dynamics",
|
||||
"url": "https://en.wikipedia.org/wiki/Better_Off_Ted#Plot",
|
||||
"position": "Principal Developer",
|
||||
"summary": "Developer on numerous projects culminating in technical lead role for the [Jabberwocky project](http://betteroffted.wikia.com/wiki/Jabberwocky) and promotion to principal developer.",
|
||||
"start": "2011-07",
|
||||
"end": "2013-08",
|
||||
"keywords": ["C++","C","Linux"],
|
||||
"highlights": ["Managed a 5-person development team", "Accomplishment 2", "Etc."]
|
||||
},
|
||||
|
||||
{
|
||||
"employer": "Stark Industries",
|
||||
"position": "IT Administrator",
|
||||
"summary": "Junior programmer with heavy code responsibilities. Promoted to intermediate role after 6 months.",
|
||||
"start": "2008-10",
|
||||
"end": "2011-06",
|
||||
"keywords": ["Novell","Active Directory","Linux","Windows"],
|
||||
"highlights": ["Promoted to intermediate developer after 6 months", "Accomplishment 2", "Etc."]
|
||||
},
|
||||
|
||||
{
|
||||
"employer": "Dunder Mifflin",
|
||||
"position": "Intern",
|
||||
"summary": "Performed IT administration and deployments for Dunder Mifflin.",
|
||||
"start": "2008-06",
|
||||
"end": "2008-09",
|
||||
"keywords": ["Novell","Active Directory","Linux","Windows"],
|
||||
"highlights": ["Supervised roll-out of Dunder Mifflin Infinity website.", "Performed mission-critical system backups and ", "Etc."]
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
"education": {
|
||||
|
||||
"summary": "",
|
||||
|
||||
"level": "degree",
|
||||
|
||||
"degree": "BSCS",
|
||||
|
||||
"history": [
|
||||
|
||||
{
|
||||
"institution": "Cornell University",
|
||||
"title": "BSCS",
|
||||
"url": "https://www.cornell.edu/",
|
||||
"start": "2005-09",
|
||||
"end": "2008-05",
|
||||
"grade": "3.5",
|
||||
"summary": "A multiline summary of the education.",
|
||||
"curriculum": ["Course 1", "Course 2", "Course 2"]
|
||||
},
|
||||
|
||||
{
|
||||
"institution": "Medfield College",
|
||||
"url": "https://en.wikipedia.org/wiki/Medfield_College",
|
||||
"start": "2003-09",
|
||||
"end": "2005-06",
|
||||
"grade": "3.2",
|
||||
"summary": "A multiline summary of the education.",
|
||||
"curriculum": ["Course 1", "Course 2", "Course 2"]
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
"affiliation": {
|
||||
"summary": "Member of numerous collegiate and professional groups and organizations.",
|
||||
"history": [
|
||||
{
|
||||
"role": "Member",
|
||||
"organization": "IEEE",
|
||||
"url": "https://www.ieee.org/index.html",
|
||||
"start": "2013-06",
|
||||
"summary": "Member in good standing since 2013-06."
|
||||
},
|
||||
{
|
||||
"role": "Member",
|
||||
"organization": "Apple Developer Network",
|
||||
"url": "https://developer.apple.com/",
|
||||
"summary": "Member of the [Apple Developer program](https://developer.apple.com/) since 2008."
|
||||
},
|
||||
{
|
||||
"role": "Subscriber",
|
||||
"organization": "MSDN",
|
||||
"url": "https://msdn.microsoft.com",
|
||||
"start": "2010",
|
||||
"summary": "Super-Ultra-gold level Ultimate Access MSDN subscriber package with subscription toaster and XBox ping pong racket."
|
||||
},
|
||||
{
|
||||
"role": "Coordinator",
|
||||
"organization": "Campus Coder's Meetup",
|
||||
"start": "2003-02",
|
||||
"end": "2004-04",
|
||||
"summary": "Host of a monthly **campus-wide meetup for CS students**. Code, coffee, and crullers!"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"service": {
|
||||
|
||||
"summary": "Active US Army Reserve member and Technology for Tots technical consultant and volunteer coordinator.",
|
||||
|
||||
"history": [
|
||||
{
|
||||
"flavor": "volunteer",
|
||||
"position": "Technical Consultant",
|
||||
"organization": "Technology for Tots",
|
||||
"url": "http://technology-for-tots.org",
|
||||
"start": "2003-11",
|
||||
"end": "2005-06",
|
||||
"summary": "Summary of this volunteer stint.",
|
||||
"highlights": ["Accomplishment 1", "Accomplishment 2", "etc"]
|
||||
},
|
||||
{
|
||||
"flavor": "military",
|
||||
"position": "NCO",
|
||||
"organization": "US Army Reserves",
|
||||
"url": "http://www.usar.army.mil/",
|
||||
"start": "1999-11",
|
||||
"end": "2003-06",
|
||||
"summary": "Summary of this military stint.",
|
||||
"highlights": ["Accomplishment 1", "Accomplishment 2", "etc"]
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
"skills": {
|
||||
|
||||
"sets": [
|
||||
{
|
||||
"name": "Web",
|
||||
"level": "advanced",
|
||||
"skills": [
|
||||
"JavaScript", "HTML 5", "CSS", "LAMP", "MVC", "REST"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "JavaScript",
|
||||
"level": "master",
|
||||
"skills": [
|
||||
"Node.js", "Angular.js", "jQuery", "Bootstrap", "React.js", "Backbone.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Database",
|
||||
"level": "intermediate",
|
||||
"skills": [
|
||||
"MySQL", "PostgreSQL", "NoSQL", "ORM", "Hibernate"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloud",
|
||||
"level": "intermediate",
|
||||
"skills": [
|
||||
"AWS", "EC2", "RDS", "S3", "Azure", "Dropbox"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Project",
|
||||
"level": "beginner",
|
||||
"skills": [
|
||||
"Agile", "TFS", "Unified Process", "MS Project"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"list": [
|
||||
{
|
||||
"name": "C++",
|
||||
"id": "1",
|
||||
"summary": "Optional summary of your experience with the skill.",
|
||||
"level": "9",
|
||||
"years": 7,
|
||||
"proof": "http://myblog.com/interesting-cplusplus-post"
|
||||
},
|
||||
{
|
||||
"name": "Ruby",
|
||||
"id": "2",
|
||||
"summary": "Optional summary of your experience with the skill.",
|
||||
"level": "9",
|
||||
"years": 7,
|
||||
"proof": "http://myblog.com/interesting-cplusplus-post"
|
||||
},
|
||||
{
|
||||
"name": "Xcode",
|
||||
"summary": "Xcode 6 development.",
|
||||
"level": "5",
|
||||
"years": "3"
|
||||
},
|
||||
{
|
||||
"name": "Linux",
|
||||
"summary": "Optional summary of your experience with the skill.",
|
||||
"level": "advanced",
|
||||
"years": "4+"
|
||||
},
|
||||
{
|
||||
"name": "Agile",
|
||||
"summary": "Optional summary of your experience with the skill.",
|
||||
"level": "B+",
|
||||
"years": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"samples": [
|
||||
{
|
||||
"title": "Asteroids",
|
||||
"summary": "A browser-based space shooter built on Three.js.",
|
||||
"url": "http://janef.me/asteroids",
|
||||
"date": "2014-09"
|
||||
},
|
||||
{
|
||||
"title": "Rememberpedia",
|
||||
"summary": "A website to help you remember things.",
|
||||
"url": "https://rememberpedia.com",
|
||||
"date": "2015-07"
|
||||
}
|
||||
],
|
||||
|
||||
"writing": [
|
||||
{
|
||||
"title": "Teach Yourself GORFF in 21 Days",
|
||||
"flavor": "book",
|
||||
"date": "2008",
|
||||
"publisher": {
|
||||
"name": "Amazon",
|
||||
"url": "https://www.amazon.com"
|
||||
},
|
||||
"url": "http://url.to.publication.com/blah",
|
||||
"author": [ "Jane Fullstacker", "John Smith" ],
|
||||
"summary": "A primer on the programming language of GORFF, whose for loops are coterminous with all of time and space."
|
||||
},
|
||||
{
|
||||
"title": "Building User Interfaces with Electron and Atom",
|
||||
"flavor": "article",
|
||||
"date": "2011",
|
||||
"publisher": {
|
||||
"name": "Code Project",
|
||||
"url": "http://codeproject.com"
|
||||
},
|
||||
"url": "http://codeproject.com/build-ui-electron-atom.aspx"
|
||||
},
|
||||
{
|
||||
"title": "Jane Fullstacker's Blog",
|
||||
"flavor": "blog",
|
||||
"date": "2011",
|
||||
"publisher": {
|
||||
"name": "self",
|
||||
"url": "http://janef.me"
|
||||
},
|
||||
"url": "http://janef.me"
|
||||
}
|
||||
],
|
||||
|
||||
"reading": [
|
||||
{
|
||||
"title": "Code Complete",
|
||||
"flavor": "book",
|
||||
"url": "http://www.cc2e.com/Default.aspx",
|
||||
"author": "Steve McConnell"
|
||||
},
|
||||
{
|
||||
"title": "r/programming",
|
||||
"flavor": "website",
|
||||
"url": "https://www.reddit.com/r/programming/"
|
||||
},
|
||||
{
|
||||
"title": "Hacker News / YCombinator",
|
||||
"flavor": "website",
|
||||
"url": "https://news.ycombinator.com/"
|
||||
},
|
||||
{
|
||||
"title": "Coding Horror",
|
||||
"flavor": "blog",
|
||||
"url": "http://www.codinghorror.com",
|
||||
"author": "Jeff Atwood"
|
||||
}
|
||||
],
|
||||
|
||||
"speaking": [
|
||||
{
|
||||
"title": "Data Warehousing Evolved: DARMA 2.0",
|
||||
"role": "Speaker",
|
||||
"event": "OPENSTART 2013 Developer's Conference",
|
||||
"location": "Portland, OR",
|
||||
"date": "2012",
|
||||
"highlights": [
|
||||
"Won 'Best Presentation on an Emerging Technical Field' prize."
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"recognition": [
|
||||
{
|
||||
"flavor": "award",
|
||||
"from": "Google",
|
||||
"title": "Honorable Mention",
|
||||
"event": "Summer of Code",
|
||||
"date": "2012"
|
||||
},
|
||||
{
|
||||
"flavor": "honor",
|
||||
"from": "Cornell University",
|
||||
"title": "Summa cum laude",
|
||||
"event": "graduation",
|
||||
"date": "2012"
|
||||
}
|
||||
],
|
||||
|
||||
"references": [
|
||||
{
|
||||
"name": "John Davidson",
|
||||
"flavor": "professional",
|
||||
"private": true,
|
||||
"contact": [
|
||||
{
|
||||
"label": "Mobile",
|
||||
"flavor": "phone",
|
||||
"value": "9-(999)-999-9999"
|
||||
},
|
||||
{
|
||||
"label": "Work email",
|
||||
"flavor": "email",
|
||||
"value": "jdavidson@veridiandynamics.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"testimonials": [
|
||||
{
|
||||
"name": "John Davidson",
|
||||
"flavor": "professional",
|
||||
"quote": "Jane is awesome! I'd hire her again in a heartbeat.",
|
||||
"private": true
|
||||
},
|
||||
{
|
||||
"name": "Elias Fullstacker",
|
||||
"flavor": "technical",
|
||||
"quote": "I worked with Jane on Jabberwocky and can vouch for her awesome technical capabilities and attention to detail. Insta-hire."
|
||||
},
|
||||
{
|
||||
"name": "Dana Nevins",
|
||||
"flavor": "personal",
|
||||
"quote": "I've known Jane personally and professionally for almost ten years. She is one in a million."
|
||||
}
|
||||
],
|
||||
|
||||
"languages": [
|
||||
{
|
||||
"language": "English",
|
||||
"level": "Native"
|
||||
},
|
||||
{
|
||||
"language": "Spanish",
|
||||
"level": "Moderate",
|
||||
"years": 10
|
||||
}
|
||||
],
|
||||
|
||||
"extracurricular": [
|
||||
{
|
||||
"title": "Bay Area Crew Club",
|
||||
"activity": "",
|
||||
"location": "San Francisco, CA",
|
||||
"start": "2014-05"
|
||||
},
|
||||
{
|
||||
"title": "Organizer / Manager",
|
||||
"activity": "JavaScript Game Development Meetup",
|
||||
"location": "Austin, TX",
|
||||
"start": "2011-03",
|
||||
"end": "2014-01",
|
||||
"highlights": [
|
||||
"Monthly speaker on creative JavaScript development.",
|
||||
"Founded group and oversaw growth to 500+ members."
|
||||
]
|
||||
|
||||
}
|
||||
],
|
||||
|
||||
"governance": [
|
||||
{
|
||||
"flavor": "board",
|
||||
"role": "Member",
|
||||
"organization": "The Mommies Network",
|
||||
"url": "http://themommiesnetwork.org",
|
||||
"start": "2008-02",
|
||||
"end": "2010-01",
|
||||
"summary": "Since 2008 I've been a full-time member of the board of directors for TMN."
|
||||
},
|
||||
{
|
||||
"flavor": "committee",
|
||||
"role": "Academic Contributor",
|
||||
"organization": "Khronos Group",
|
||||
"url": "https://www.khronos.org",
|
||||
"start": "2015-01",
|
||||
"highlights": [
|
||||
"Participated in GORFF standardization process (Draft 2)."
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"interests": [
|
||||
{
|
||||
"name": "reading",
|
||||
"summary": "Jane is a fan of mystery novels and courtroom dramas including Agatha Christie and John Grisham.",
|
||||
"keywords": [ "mystery", "Agatha Christie", "John Grisham" ]
|
||||
},
|
||||
{
|
||||
"name": "hiking",
|
||||
"summary": "Jane enjoys hiking, light mountain climbing, and has four summits under her belt!"
|
||||
},
|
||||
{
|
||||
"name": "yoga"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
4
theme.json
Normal file
4
theme.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"title": "fresh-theme-elegant",
|
||||
"engine": "handlebars"
|
||||
}
|
Loading…
Reference in New Issue
Block a user