cv-generator 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 +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +54 -0
- data/Rakefile +1 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/cv-generator.gemspec +26 -0
- data/exe/cv-generator +16 -0
- data/lib/cv/generator.rb +1 -0
- data/lib/cv/generator/erb_data.rb +21 -0
- data/lib/cv/generator/pdf.rb +54 -0
- data/lib/cv/generator/version.rb +5 -0
- data/templates/simple/css/bootstrap.css +6799 -0
- data/templates/simple/css/non-responsive.css +262 -0
- data/templates/simple/index.html.erb +95 -0
- metadata +118 -0
@@ -0,0 +1,262 @@
|
|
1
|
+
/* Template-specific stuff
|
2
|
+
*
|
3
|
+
* Customizations just for the template; these are not necessary for anything
|
4
|
+
* with disabling the responsiveness.
|
5
|
+
*/
|
6
|
+
|
7
|
+
/* Account for fixed navbar */
|
8
|
+
/*body {
|
9
|
+
padding-top: 70px;
|
10
|
+
padding-bottom: 30px;
|
11
|
+
}
|
12
|
+
*/
|
13
|
+
body,
|
14
|
+
.navbar-fixed-top,
|
15
|
+
.navbar-fixed-bottom {
|
16
|
+
min-width: 970px;
|
17
|
+
}
|
18
|
+
|
19
|
+
/* Don't let the lead text change font-size. */
|
20
|
+
.lead {
|
21
|
+
font-size: 16px;
|
22
|
+
}
|
23
|
+
|
24
|
+
/* Finesse the page header spacing */
|
25
|
+
.page-header {
|
26
|
+
margin-bottom: 30px;
|
27
|
+
}
|
28
|
+
.page-header .lead {
|
29
|
+
margin-bottom: 10px;
|
30
|
+
}
|
31
|
+
|
32
|
+
|
33
|
+
/* Non-responsive overrides
|
34
|
+
*
|
35
|
+
* Utilize the following CSS to disable the responsive-ness of the container,
|
36
|
+
* grid system, and navbar.
|
37
|
+
*/
|
38
|
+
|
39
|
+
/* Reset the container */
|
40
|
+
.container {
|
41
|
+
width: 970px;
|
42
|
+
max-width: none !important;
|
43
|
+
}
|
44
|
+
|
45
|
+
/* Demonstrate the grids */
|
46
|
+
.col-xs-4 {
|
47
|
+
padding-top: 15px;
|
48
|
+
padding-bottom: 15px;
|
49
|
+
background-color: #eee;
|
50
|
+
background-color: rgba(86,61,124,.15);
|
51
|
+
border: 1px solid #ddd;
|
52
|
+
border: 1px solid rgba(86,61,124,.2);
|
53
|
+
}
|
54
|
+
|
55
|
+
.container .navbar-header,
|
56
|
+
.container .navbar-collapse {
|
57
|
+
margin-right: 0;
|
58
|
+
margin-left: 0;
|
59
|
+
}
|
60
|
+
|
61
|
+
/* Always float the navbar header */
|
62
|
+
.navbar-header {
|
63
|
+
float: left;
|
64
|
+
}
|
65
|
+
|
66
|
+
/* Undo the collapsing navbar */
|
67
|
+
.navbar-collapse {
|
68
|
+
display: block !important;
|
69
|
+
height: auto !important;
|
70
|
+
padding-bottom: 0;
|
71
|
+
overflow: visible !important;
|
72
|
+
visibility: visible !important;
|
73
|
+
}
|
74
|
+
|
75
|
+
.navbar-toggle {
|
76
|
+
display: none;
|
77
|
+
}
|
78
|
+
.navbar-collapse {
|
79
|
+
border-top: 0;
|
80
|
+
}
|
81
|
+
|
82
|
+
.navbar-brand {
|
83
|
+
margin-left: -15px;
|
84
|
+
}
|
85
|
+
|
86
|
+
/* Always apply the floated nav */
|
87
|
+
.navbar-nav {
|
88
|
+
float: left;
|
89
|
+
margin: 0;
|
90
|
+
}
|
91
|
+
.navbar-nav > li {
|
92
|
+
float: left;
|
93
|
+
}
|
94
|
+
.navbar-nav > li > a {
|
95
|
+
padding: 15px;
|
96
|
+
}
|
97
|
+
|
98
|
+
/* Redeclare since we override the float above */
|
99
|
+
.navbar-nav.navbar-right {
|
100
|
+
float: right;
|
101
|
+
}
|
102
|
+
|
103
|
+
/* Undo custom dropdowns */
|
104
|
+
.navbar .navbar-nav .open .dropdown-menu {
|
105
|
+
position: absolute;
|
106
|
+
float: left;
|
107
|
+
background-color: #fff;
|
108
|
+
border: 1px solid #ccc;
|
109
|
+
border: 1px solid rgba(0, 0, 0, .15);
|
110
|
+
border-width: 0 1px 1px;
|
111
|
+
border-radius: 0 0 4px 4px;
|
112
|
+
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
113
|
+
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
114
|
+
}
|
115
|
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
|
116
|
+
color: #333;
|
117
|
+
}
|
118
|
+
.navbar .navbar-nav .open .dropdown-menu > li > a:hover,
|
119
|
+
.navbar .navbar-nav .open .dropdown-menu > li > a:focus,
|
120
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a,
|
121
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
|
122
|
+
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
123
|
+
color: #fff !important;
|
124
|
+
background-color: #428bca !important;
|
125
|
+
}
|
126
|
+
.navbar .navbar-nav .open .dropdown-menu > .disabled > a,
|
127
|
+
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover,
|
128
|
+
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {
|
129
|
+
color: #999 !important;
|
130
|
+
background-color: transparent !important;
|
131
|
+
}
|
132
|
+
|
133
|
+
/* Undo form expansion */
|
134
|
+
.navbar-form {
|
135
|
+
float: left;
|
136
|
+
width: auto;
|
137
|
+
padding-top: 0;
|
138
|
+
padding-bottom: 0;
|
139
|
+
margin-right: 0;
|
140
|
+
margin-left: 0;
|
141
|
+
border: 0;
|
142
|
+
-webkit-box-shadow: none;
|
143
|
+
box-shadow: none;
|
144
|
+
}
|
145
|
+
|
146
|
+
/* Copy-pasted from forms.less since we mixin the .form-inline styles. */
|
147
|
+
.navbar-form .form-group {
|
148
|
+
display: inline-block;
|
149
|
+
margin-bottom: 0;
|
150
|
+
vertical-align: middle;
|
151
|
+
}
|
152
|
+
|
153
|
+
.navbar-form .form-control {
|
154
|
+
display: inline-block;
|
155
|
+
width: auto;
|
156
|
+
vertical-align: middle;
|
157
|
+
}
|
158
|
+
|
159
|
+
.navbar-form .form-control-static {
|
160
|
+
display: inline-block;
|
161
|
+
}
|
162
|
+
|
163
|
+
.navbar-form .input-group {
|
164
|
+
display: inline-table;
|
165
|
+
vertical-align: middle;
|
166
|
+
}
|
167
|
+
|
168
|
+
.navbar-form .input-group .input-group-addon,
|
169
|
+
.navbar-form .input-group .input-group-btn,
|
170
|
+
.navbar-form .input-group .form-control {
|
171
|
+
width: auto;
|
172
|
+
}
|
173
|
+
|
174
|
+
.navbar-form .input-group > .form-control {
|
175
|
+
width: 100%;
|
176
|
+
}
|
177
|
+
|
178
|
+
.navbar-form .control-label {
|
179
|
+
margin-bottom: 0;
|
180
|
+
vertical-align: middle;
|
181
|
+
}
|
182
|
+
|
183
|
+
.navbar-form .radio,
|
184
|
+
.navbar-form .checkbox {
|
185
|
+
display: inline-block;
|
186
|
+
margin-top: 0;
|
187
|
+
margin-bottom: 0;
|
188
|
+
vertical-align: middle;
|
189
|
+
}
|
190
|
+
|
191
|
+
.navbar-form .radio label,
|
192
|
+
.navbar-form .checkbox label {
|
193
|
+
padding-left: 0;
|
194
|
+
}
|
195
|
+
|
196
|
+
.navbar-form .radio input[type="radio"],
|
197
|
+
.navbar-form .checkbox input[type="checkbox"] {
|
198
|
+
position: relative;
|
199
|
+
margin-left: 0;
|
200
|
+
}
|
201
|
+
|
202
|
+
.navbar-form .has-feedback .form-control-feedback {
|
203
|
+
top: 0;
|
204
|
+
}
|
205
|
+
|
206
|
+
/* Undo inline form compaction on small screens */
|
207
|
+
.form-inline .form-group {
|
208
|
+
display: inline-block;
|
209
|
+
margin-bottom: 0;
|
210
|
+
vertical-align: middle;
|
211
|
+
}
|
212
|
+
|
213
|
+
.form-inline .form-control {
|
214
|
+
display: inline-block;
|
215
|
+
width: auto;
|
216
|
+
vertical-align: middle;
|
217
|
+
}
|
218
|
+
|
219
|
+
.form-inline .form-control-static {
|
220
|
+
display: inline-block;
|
221
|
+
}
|
222
|
+
|
223
|
+
.form-inline .input-group {
|
224
|
+
display: inline-table;
|
225
|
+
vertical-align: middle;
|
226
|
+
}
|
227
|
+
.form-inline .input-group .input-group-addon,
|
228
|
+
.form-inline .input-group .input-group-btn,
|
229
|
+
.form-inline .input-group .form-control {
|
230
|
+
width: auto;
|
231
|
+
}
|
232
|
+
|
233
|
+
.form-inline .input-group > .form-control {
|
234
|
+
width: 100%;
|
235
|
+
}
|
236
|
+
|
237
|
+
.form-inline .control-label {
|
238
|
+
margin-bottom: 0;
|
239
|
+
vertical-align: middle;
|
240
|
+
}
|
241
|
+
|
242
|
+
.form-inline .radio,
|
243
|
+
.form-inline .checkbox {
|
244
|
+
display: inline-block;
|
245
|
+
margin-top: 0;
|
246
|
+
margin-bottom: 0;
|
247
|
+
vertical-align: middle;
|
248
|
+
}
|
249
|
+
.form-inline .radio label,
|
250
|
+
.form-inline .checkbox label {
|
251
|
+
padding-left: 0;
|
252
|
+
}
|
253
|
+
|
254
|
+
.form-inline .radio input[type="radio"],
|
255
|
+
.form-inline .checkbox input[type="checkbox"] {
|
256
|
+
position: relative;
|
257
|
+
margin-left: 0;
|
258
|
+
}
|
259
|
+
|
260
|
+
.form-inline .has-feedback .form-control-feedback {
|
261
|
+
top: 0;
|
262
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
+
<% @css_paths.each do |css_path| %>
|
7
|
+
<link href="<%= css_path %>" rel="stylesheet">
|
8
|
+
<% end %>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<div class="container">
|
12
|
+
<div class="row">
|
13
|
+
<h2 class="well"><%= @general['first_name'] %> <%= @general['last_name'] %></h2>
|
14
|
+
|
15
|
+
<dl class="dl-horizontal">
|
16
|
+
<dt>Data urodzenia</dt>
|
17
|
+
<dd><%= @general['birth_date'] %></dd>
|
18
|
+
<dt>Adres zamieszkania</dt>
|
19
|
+
<dd><%= @general['address'] %></dt>
|
20
|
+
<dt>Telefon</dt>
|
21
|
+
<dd><%= @general['email'] %></dd>
|
22
|
+
<dt>E-mail</dt>
|
23
|
+
<dd><%= @general['phone'] %></dd>
|
24
|
+
|
25
|
+
<% @general['websites'].each do |name, url| %>
|
26
|
+
<dt><%= name %></dt>
|
27
|
+
<dd><a href="<%= url %>"><%= url %></a></dd>
|
28
|
+
<% end %>
|
29
|
+
</dl>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="row">
|
33
|
+
<h4>Wykształcenie</h4>
|
34
|
+
<table class="table">
|
35
|
+
<tbody>
|
36
|
+
<% @education.each do |education| %>
|
37
|
+
<tr>
|
38
|
+
<td><%= education['name'] %></td>
|
39
|
+
<td><%= education['interval'] %></td>
|
40
|
+
</tr>
|
41
|
+
<% end %>
|
42
|
+
</tbody>
|
43
|
+
</table>
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div class="row">
|
47
|
+
<h4>Doświadczenie</h4>
|
48
|
+
<table class="table">
|
49
|
+
<tbody>
|
50
|
+
<% @jobs.each do |job| %>
|
51
|
+
<tr>
|
52
|
+
<td><%= job['name'] %></td>
|
53
|
+
<td><%= job['interval'] %></td>
|
54
|
+
</tr>
|
55
|
+
<% end %>
|
56
|
+
</tbody>
|
57
|
+
</table>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div class="row">
|
61
|
+
<h4>Ważniejsze projekty</h4>
|
62
|
+
<ul>
|
63
|
+
<% @projects.each do |project| %>
|
64
|
+
<li><%= project %></li>
|
65
|
+
<% end %>
|
66
|
+
</ul>
|
67
|
+
</div>
|
68
|
+
|
69
|
+
<div class="row">
|
70
|
+
<h4>Umiejętności</h4>
|
71
|
+
<ul>
|
72
|
+
<% @skills.each do |skill| %>
|
73
|
+
<li><%= skill %></li>
|
74
|
+
<% end %>
|
75
|
+
</ul>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<div class="row">
|
79
|
+
<h4>Inne</h4>
|
80
|
+
<ul>
|
81
|
+
<% @other_skills.each do |skill| %>
|
82
|
+
<li><%= skill %></li>
|
83
|
+
<% end %>
|
84
|
+
</ul>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
<body>
|
88
|
+
</html>
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cv-generator
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Damian Baćkowski
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-07-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.19'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.19'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: wkhtmltopdf-binary
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.9.9
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.9.9
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.10'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
description: Generate CV in PDF format from YAML file.
|
70
|
+
email:
|
71
|
+
- damianbackowski@gmail.com
|
72
|
+
executables:
|
73
|
+
- cv-generator
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- .gitignore
|
78
|
+
- .travis.yml
|
79
|
+
- Gemfile
|
80
|
+
- LICENSE.txt
|
81
|
+
- README.md
|
82
|
+
- Rakefile
|
83
|
+
- bin/console
|
84
|
+
- bin/setup
|
85
|
+
- cv-generator.gemspec
|
86
|
+
- exe/cv-generator
|
87
|
+
- lib/cv/generator.rb
|
88
|
+
- lib/cv/generator/erb_data.rb
|
89
|
+
- lib/cv/generator/pdf.rb
|
90
|
+
- lib/cv/generator/version.rb
|
91
|
+
- templates/simple/css/bootstrap.css
|
92
|
+
- templates/simple/css/non-responsive.css
|
93
|
+
- templates/simple/index.html.erb
|
94
|
+
homepage: https://github.com/dbackowski/cv-generator
|
95
|
+
licenses:
|
96
|
+
- MIT
|
97
|
+
metadata: {}
|
98
|
+
post_install_message:
|
99
|
+
rdoc_options: []
|
100
|
+
require_paths:
|
101
|
+
- lib
|
102
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
requirements: []
|
113
|
+
rubyforge_project:
|
114
|
+
rubygems_version: 2.0.14
|
115
|
+
signing_key:
|
116
|
+
specification_version: 4
|
117
|
+
summary: Simple CV PDF generator from YAML file.
|
118
|
+
test_files: []
|