plain_resume 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 378eda606d62c43f2dde0be7b9a7a5e78c50c3f2a788a4ad66079afd3c96f0dd
4
+ data.tar.gz: fb25447ad72370c1854321a5b3164cfa15366d513c32564ba0ec7597672feffc
5
+ SHA512:
6
+ metadata.gz: 8bccd02063c4c1cf0ce111ebaddf1527d764a670aa539550dee4fbea1bb54d45fcdba7045c55f8f82586ec6ddcd0553a69a4b17642f636cdb7aac4936a4fa467
7
+ data.tar.gz: 40a9d04b810616527898b4407e7e1a864e6071ea83900b45737a8ae8a30e8a322521aebfa02202e74daa3d9d1cd2a08a1219f380e660a391ec81468257dd77e7
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2022 RyanxLoi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # Plain Jekyll Resume
2
+ This is a Jekyll theme for creating a simple and customizable resume. This could be used to digitally present your resume online and have it be accessible to anyone who is interested in it.
3
+
4
+ ![partial preview](plainresumepreview.png)
5
+
6
+ ## How to Install the Theme
7
+
8
+ 1. Clone the repository.
9
+ 2. Run `bundle exec jekyll serve`.
10
+ 3. If it compiles successfully, you can now see your resume.
11
+
12
+ ## Adding Data to the Resume
13
+ The resume loads data from the `_data` files. In this folder, you will find .yml files. This is where you will be adding entries to display on your resume.
14
+
15
+ All entries for each section begin with a `-`. Each line then follows a `key:value` format. Please see the existing .yml files for examples.
16
+
17
+
18
+ ## Section Layouts
19
+ Section layouts can be found in the `_includes` folder. Unless you know what you are doing, you usually do not want to modify these files.
20
+
21
+ Typically, a section layout will look something like this.
22
+
23
+ ```
24
+ <div class="resume-content">
25
+
26
+ {% if site.data.awards.size > 0 %}
27
+
28
+ <h2>Awards</h2>
29
+ <hr>
30
+
31
+ {% for award in site.data.awards %}
32
+ <div class="entry">
33
+ <h4 class="title">{{ award.title }}</h4>
34
+ <h4 class="date">{{ award.time }}</h4>
35
+ <ul>
36
+ <li>{{ award.description }}</li>
37
+ </ul>
38
+ </div>
39
+
40
+ {% endfor %}
41
+
42
+ {% endif %}
43
+
44
+ </div>
45
+
46
+ ```
47
+
48
+ ## Adding Your Own Sections
49
+ If you need a resume section which has not been created yet. Follow these steps.
50
+
51
+ 1. Create a `.yml` file for your data in the `_data` folder.
52
+ 2. Fill in the data.
53
+ 3. Create a `.html` file in the `_includes` folder.
54
+ 4. Create a layout with respect to the rest of the template.
55
+ 5. Include it in the default.html file in `layouts`.
56
+
57
+ ## CSS
58
+
59
+ You can edit the CSS in theme.css.
data/_config.yml ADDED
@@ -0,0 +1,48 @@
1
+ # Welcome to Jekyll!
2
+ #
3
+ # This config file is meant for settings that affect your whole blog, values
4
+ # which you are expected to set up once and rarely edit after that. If you find
5
+ # yourself editing this file very often, consider using Jekyll's data files
6
+ # feature for the data you need to update frequently.
7
+ #
8
+ # For technical reasons, this file is *NOT* reloaded automatically when you use
9
+ # 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10
+ #
11
+ # If you need help with YAML syntax, here are some quick references for you:
12
+ # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
13
+ # https://learnxinyminutes.com/docs/yaml/
14
+ #
15
+ # Site settings
16
+ # These are used to personalize your new site. If you look in the HTML files,
17
+ # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
18
+ # You can create any custom variable you would like, and they will be accessible
19
+ # in the templates via {{ site.myvariable }}.
20
+
21
+ title: Your Resume
22
+ description: >- # this means to ignore newlines until "baseurl:"
23
+ Your resume.
24
+ baseurl: "" # the subpath of your site, e.g. /blog
25
+ url: "" # the base hostname & protocol for your site, e.g. http://example.com
26
+
27
+ # Build settings
28
+ theme: plain-resume
29
+
30
+ # Exclude from processing.
31
+ # The following items will not be processed, by default.
32
+ # Any item listed under the `exclude:` key here will be automatically added to
33
+ # the internal "default list".
34
+ #
35
+ # Excluded items can be processed by explicitly listing the directories or
36
+ # their entries' file path in the `include:` list.
37
+ #
38
+ # exclude:
39
+ # - .sass-cache/
40
+ # - .jekyll-cache/
41
+ # - gemfiles/
42
+ # - Gemfile
43
+ # - Gemfile.lock
44
+ # - node_modules/
45
+ # - vendor/bundle/
46
+ # - vendor/cache/
47
+ # - vendor/gems/
48
+ # - vendor/ruby/
@@ -0,0 +1,20 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.activities.size > 0 %}
4
+
5
+ <h2>Activities</h2>
6
+ <hr>
7
+ <div class="entry">
8
+ {% for activity in site.data.activities %}
9
+
10
+ <h4 class="title">{{ activity.title }}</h4>
11
+ <h4 class="date">{{ activity.time }}</h4>
12
+ {{ activity.description | markdownify}}
13
+ </div>
14
+
15
+ {% endfor %}
16
+
17
+ {% endif %}
18
+
19
+ </div>
20
+
@@ -0,0 +1,22 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.awards.size > 0 %}
4
+
5
+ <h2>Awards</h2>
6
+ <hr>
7
+
8
+ {% for award in site.data.awards %}
9
+ <div class="entry">
10
+ <h4 class="title">{{ award.title }}</h4>
11
+ <h4 class="date">{{ award.time }}</h4>
12
+ <ul>
13
+ <li>{{ award.description }}</li>
14
+ </ul>
15
+ </div>
16
+
17
+ {% endfor %}
18
+
19
+ {% endif %}
20
+
21
+ </div>
22
+
@@ -0,0 +1,15 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.certifications.size > 0 %}
4
+
5
+ <h2>Certifications</h2>
6
+ <hr>
7
+ <div class="entry">
8
+ {% for certification in site.data.certifications %}
9
+ <h4 class="title">{{ certification.title }} ({{ certification.time }}) </h4>
10
+ <br />
11
+ {% endfor %}
12
+ </div>
13
+ {% endif %}
14
+ </div>
15
+
@@ -0,0 +1,6 @@
1
+ <div class="contact">
2
+ <center>
3
+ <h1>{{site.data.contact.name}}</h1>
4
+ <a class="contact" href="{{site.data.contact.website}}" target="_blank">{{site.data.contact.website}}</a> | <a class="contact" href="mailto:{{site.data.contact.email}}" target="_blank"> {{ site.data.contact.email }}</a> | <a class = "contact" href="{{ site.data.contact.linkedin }}" target="_blank">{{ site.data.contact.linkedin }}</a> | <a class = "contact" href="{{ site.data.contact.github }}" target="_blank">{{ site.data.contact.github }}</a>
5
+ </center>
6
+ </div>
@@ -0,0 +1,23 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.education.size > 0 %}
4
+
5
+ <h2>Education</h2>
6
+ <hr>
7
+
8
+ {% for education in site.data.education %}
9
+ <div class="entry">
10
+ <h4 class="title">{{ education.location }}</h4>
11
+ <h4 class="date">{{ education.time }}</h4>
12
+ <h4 class="subtitle">{{ education.degree }}</h4>
13
+ {% if education.courses.size > 0 %}
14
+ <b>Relevant Courses:</b>
15
+ {{ education.courses | join: ", " }}
16
+ {% endif %}
17
+ </div>
18
+
19
+ {% endfor %}
20
+ {% endif %}
21
+
22
+
23
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="footer">
2
+
3
+ </div>
4
+
@@ -0,0 +1,27 @@
1
+ <head>
2
+ <title>{{ site.title }}</title>
3
+
4
+ <!-- Meta -->
5
+ <meta charset="utf-8">
6
+ {% if site.chrome_mobile_color %}
7
+ <meta name="theme-color" content="{{ site.chrome_mobile_color }}">
8
+ {% endif%}
9
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
11
+ <meta name="description" content="{{ site.description |default: "A simple Jekyll theme for creating resumes." }}">
12
+
13
+
14
+ <!-- Theme CSS -->
15
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/theme.css">
16
+
17
+ <link rel="preconnect" href="https://fonts.gstatic.com">
18
+ <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap" rel="stylesheet">
19
+
20
+ <link rel="preconnect" href="https://fonts.gstatic.com">
21
+ <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;600&display=swap" rel="stylesheet">
22
+ <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
23
+ <!--[if lt IE 9]>
24
+ <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
25
+ <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
26
+ <![endif]-->
27
+ </head>
@@ -0,0 +1,23 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.projects.size > 0 %}
4
+
5
+
6
+ <h2>Projects</h2>
7
+ <hr>
8
+
9
+
10
+ {% for project in site.data.projects %}
11
+ <div class="entry">
12
+ <h4 class="title">{{ project.title }} <a class="project-link" href={{project.link}} target="_blank">(Project Link)</a></h4><br>
13
+ <h4 class="subtitle">{{ project.tools | join: ", " }}</h4>
14
+ {{ project.description | markdownify }}
15
+ </div>
16
+
17
+
18
+ {% endfor %}
19
+
20
+ {% endif %}
21
+
22
+ </div>
23
+
@@ -0,0 +1,17 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.skills.size > 0 %}
4
+
5
+ <h2>Skills</h2>
6
+ <hr>
7
+ <div class="entry">
8
+ {% for skill in site.data.skills %}
9
+
10
+ <h4 class="title">{{ skill.category }}:</h4>
11
+ {{ skill.list | join: ", " }}
12
+ <br />
13
+ {% endfor %}
14
+ </div>
15
+ {% endif %}
16
+ </div>
17
+
@@ -0,0 +1,22 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.volunteer_experience.size > 0 %}
4
+
5
+ <h2>Volunteer Experience</h2>
6
+ <hr>
7
+
8
+ {% for volunteer_experience in site.data.volunteer_experience %}
9
+
10
+ <div class="entry">
11
+ <h4 class="title">{{ volunteer_experience.location }}</h4>
12
+ <h4 class="date">{{ volunteer_experience.time }}</h4>
13
+ <h4 class="subtitle"> {{volunteer_experience.title }}</h4>
14
+ {{ volunteer_experience.description | markdownify}}
15
+ </div>
16
+
17
+ {% endfor %}
18
+
19
+ {% endif %}
20
+
21
+ </div>
22
+
@@ -0,0 +1,20 @@
1
+ <div class="resume-content">
2
+
3
+ {% if site.data.work_experience.size > 0 %}
4
+
5
+ <h2>Work Experience</h2>
6
+ <hr>
7
+
8
+ {% for work_experience in site.data.work_experience %}
9
+ <div class="entry">
10
+ <h4 class="title">{{ work_experience.location }}</h4>
11
+ <h4 class="date">{{ work_experience.time }}</h4>
12
+ <h4 class="subtitle"> {{work_experience.title }}</h4>
13
+ {{ work_experience.description | markdownify}}
14
+ </div>
15
+ {% endfor %}
16
+
17
+ {% endif %}
18
+
19
+ </div>
20
+
@@ -0,0 +1,39 @@
1
+ <!DOCTYPE html>
2
+ <!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
3
+ <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
4
+ <!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
5
+ {% include head.html %}
6
+
7
+
8
+
9
+ <body>
10
+ <div class="wrapper">
11
+
12
+ <div class="main-wrapper">
13
+
14
+ {% include contact.html %}
15
+
16
+ {% include education.html %}
17
+
18
+ {% include work_experience.html %}
19
+
20
+ {% include volunteer_experience.html %}
21
+
22
+ {% include activities.html %}
23
+
24
+ {% include projects.html %}
25
+
26
+ {% include skills.html %}
27
+
28
+ {% include certifications.html %}
29
+
30
+ {% include awards.html %}
31
+
32
+ {% include footer.html %}
33
+ </div>
34
+ </div>
35
+
36
+
37
+ </body>
38
+
39
+ </html>
data/assets/theme.css ADDED
@@ -0,0 +1,274 @@
1
+ /* Variables
2
+
3
+ --main-color: Changes the color of the header, footer, and project links.
4
+ --background-color: Changes the color of the background.
5
+
6
+ */
7
+ :root {
8
+ --header-and-footer-color: #6f0000;
9
+ --background-color: #e5e5e5;
10
+ }
11
+
12
+ /* Parts of a resume */
13
+
14
+ body {
15
+ background-color: var(--background-color);
16
+ }
17
+
18
+ div.contact {
19
+ background-color: var(--header-and-footer-color);
20
+ font-size: 18px;
21
+ font-family: "Open Sans", sans-serif;
22
+ color: white;
23
+ padding: 0.4em;
24
+ margin: auto;
25
+ margin-top: 20px;
26
+ width: 50%;
27
+ }
28
+
29
+ div.resume-content{
30
+ background-color: #FBF7F2;
31
+ font-size: 18px;
32
+ font-family: "Open Sans", sans-serif;
33
+ color: #000000;
34
+ padding: 0.4em;
35
+ padding-bottom: 0%;
36
+ margin: auto;
37
+ height: 100%;
38
+ width: 50%;
39
+ }
40
+
41
+ div.entry{
42
+ padding-bottom: 15px;
43
+ }
44
+
45
+
46
+ div.footer {
47
+ background-color: var(--main-color);
48
+ font-size: 18px;
49
+ font-family: "Open Sans", sans-serif;
50
+ color: white;
51
+ padding: 0.4em;
52
+ margin: auto;
53
+ width: 50%;
54
+ }
55
+
56
+ hr {
57
+ border-top: 1px solid black;
58
+ }
59
+
60
+ /* Headers, links and bullet points */
61
+
62
+ h1 {
63
+ font-family: "Open Sans", sans-serif;
64
+ font-weight: 0;
65
+ color: #ffffff;
66
+ margin: 15px;
67
+ }
68
+
69
+ h2 {
70
+ margin: 0px;
71
+ }
72
+
73
+ h4.title{
74
+ display: inline-block;
75
+ color: #000000;
76
+ font-family: "Open Sans", sans-serif;
77
+ margin: 0;
78
+ }
79
+
80
+ h4.date {
81
+ font-weight: normal;
82
+ float: right;
83
+ margin: 0;
84
+ }
85
+
86
+ h4.subtitle{
87
+ font-weight: 400;
88
+ font-style: italic;
89
+ color: #000000;
90
+ font-family: "Open Sans", sans-serif;
91
+ margin: 0;
92
+ }
93
+
94
+ a.contact{
95
+ color: white;
96
+ }
97
+
98
+ a.project-link{
99
+ color: var(--header-and-footer-color);
100
+ }
101
+
102
+ ul {
103
+ margin: 0;
104
+ }
105
+
106
+ /* Media queries */
107
+
108
+ /* for extra small devices */
109
+ @media only screen and (max-width: 600px) {
110
+
111
+ h4.date {
112
+ all: revert;
113
+ font-weight: normal;
114
+ margin: 0px;
115
+ }
116
+
117
+
118
+ div.contact {
119
+ width: 95%;
120
+ margin-top: 15px;
121
+ }
122
+
123
+ div.resume-content {
124
+ width: 95%;
125
+ margin: 0px auto;
126
+ }
127
+
128
+ div.entry{
129
+ padding-bottom: 10px;
130
+ }
131
+
132
+ div.footer {
133
+ width: 95%;
134
+ margin-bottom: 15px;
135
+ }
136
+ }
137
+
138
+ /* for small devices */
139
+ @media only screen and (min-width: 600px) {
140
+
141
+ h4.date {
142
+ all: revert;
143
+ font-weight: normal;
144
+ margin: 0px;
145
+ }
146
+
147
+
148
+ div.contact {
149
+ width: 95%;
150
+ margin-top: 15px;
151
+ }
152
+
153
+ div.resume-content {
154
+ width: 95%;
155
+ margin: 0px auto;
156
+ }
157
+
158
+ div.entry{
159
+ padding-bottom: 10px;
160
+ }
161
+
162
+ div.footer {
163
+ width: 95%;
164
+ margin-bottom: 15px;
165
+ }
166
+ }
167
+
168
+ /* for medium devices */
169
+ @media only screen and (min-width: 768px) {
170
+
171
+ h4.date {
172
+ all: revert;
173
+ float: right;
174
+ font-weight: normal;
175
+ margin: 0px;
176
+ }
177
+
178
+
179
+ div.contact {
180
+ width: 95%;
181
+ margin-top: 15px;
182
+ }
183
+
184
+ div.resume-content {
185
+ width: 95%;
186
+ margin: 0px auto;
187
+ }
188
+
189
+ div.entry{
190
+ padding-bottom: 10px;
191
+ }
192
+
193
+ div.footer {
194
+ width: 95%;
195
+ margin-bottom: 15px;
196
+ }
197
+ }
198
+
199
+ /* for laptops and desktops */
200
+ @media only screen and (min-width: 992px) {
201
+
202
+ h4.date{
203
+ all: revert;
204
+ font-weight: normal;
205
+ margin: 0;
206
+ float: right;
207
+ }
208
+
209
+ div.contact {
210
+ width: 80%;
211
+ margin-top: 15px;
212
+ }
213
+
214
+ div.resume-content {
215
+ width: 80%;
216
+ margin: 0px auto;
217
+ }
218
+
219
+ /* for large laptops and desktops */
220
+ @media (min-width: 1200px) {
221
+
222
+ h4.date{
223
+ all: revert;
224
+ font-weight: normal;
225
+ margin: 0;
226
+ float: right;
227
+ }
228
+
229
+ div.contact {
230
+ width: 80%;
231
+ margin-top: 15px;
232
+ }
233
+
234
+ div.resume-content {
235
+ width: 80%;
236
+ margin: 0px auto;
237
+ }
238
+
239
+
240
+ div.footer {
241
+ width: 80%;
242
+ margin-bottom: 15px;
243
+ }
244
+ }
245
+
246
+ /* Larger laptops and desktops */
247
+ @media (min-width: 1200px) {
248
+
249
+ h4.date{
250
+ all: revert;
251
+ font-weight: normal;
252
+ margin: 0;
253
+ float: right;
254
+ }
255
+
256
+ div.contact {
257
+ width: 50%;
258
+ margin-top: 15px;
259
+ }
260
+
261
+ div.resume-content {
262
+ width: 50%;
263
+ margin: 0px auto;
264
+ }
265
+
266
+
267
+ div.footer {
268
+ width: 50%;
269
+ margin-bottom: 15px;
270
+ }
271
+ }
272
+
273
+
274
+ }
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: plain_resume
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - RyanxLoi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-03-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.2'
27
+ description:
28
+ email:
29
+ - ryanloi@ryanloi.me
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - LICENSE.txt
35
+ - README.md
36
+ - _config.yml
37
+ - _includes/activities.html
38
+ - _includes/awards.html
39
+ - _includes/certifications.html
40
+ - _includes/contact.html
41
+ - _includes/education.html
42
+ - _includes/footer.html
43
+ - _includes/head.html
44
+ - _includes/projects.html
45
+ - _includes/skills.html
46
+ - _includes/volunteer_experience.html
47
+ - _includes/work_experience.html
48
+ - _layouts/default.html
49
+ - assets/theme.css
50
+ homepage: https://ryanloi.me
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.1.2
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: A simple Jekyll theme for resumes.
73
+ test_files: []