plain_resume 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []