resme 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b346f37deb079117dd466833d47d6b1f9d4b01e916c19c5b853652297fd3d67
4
- data.tar.gz: 0dfceeaabf0074a619d9f67faf499882ad641128e918b995cb8eb0d7a3b6fde2
3
+ metadata.gz: 4c7490069bf046c56808342ad427c9f055bba680506486029770761517b92099
4
+ data.tar.gz: eb69e1752e4b4f4564e0e8cf9c7f5fa65756f7b3e599073a52d8c49583084776
5
5
  SHA512:
6
- metadata.gz: 2d7013a8e980341a3d3abdbb3d3f814df116b98915711257c8a79ca5b0cac1406ec4f158629c1190af332200667afffc1f8c8e88caa5f521bb63578a64416750
7
- data.tar.gz: d57c6fd89c9acf4ead44af434ed4ccba9b0c0117e1e1a653f6e0ba15307d1572d384550efa606c529516c37f1c548e77524a292573c2830aba6391ff1e2490e2
6
+ metadata.gz: cb0ac162ee646457be8d70f51359de1e7d2ad99ad545c79d1403f565c220e975e5927b0ab2fb00c72346edff04ccc0143282d666a08034f2174e7fe770cefc50
7
+ data.tar.gz: 3eb1f599f8ca2abbf274632c3afa0076349a85bc44e7c1b468761112627a086aa5de5385a5d4f79a2f6f438fe343b8f5c8de2979dc1bdacbc10ee7a72a258abb
@@ -0,0 +1,248 @@
1
+ #+TITLE: RESME - A Resume Generator
2
+ #+AUTHOR: Adolfo Villafiorita
3
+ #+DATE: <2020-07-14 Tue>
4
+ #+STARTUP: showall
5
+
6
+ * RESME - A Resume Generator
7
+ :PROPERTIES:
8
+ :CUSTOM_ID: resme---a-resume-generator
9
+ :END:
10
+
11
+ Keep your resume in YAML and output it in various formats, including
12
+ org-mode, markdown, json, and the Europass XML format.
13
+
14
+ The rendering engine is based on ERB. This simplifies the creation of
15
+ new output formats (and extending/modifying the YML structure to one's
16
+ needs).
17
+
18
+ ** Installation
19
+ :PROPERTIES:
20
+ :CUSTOM_ID: installation
21
+ :END:
22
+
23
+ Add this line to your application's Gemfile:
24
+
25
+ #+BEGIN_SRC ruby
26
+ gem 'resme'
27
+ #+END_SRC
28
+
29
+ And then execute:
30
+
31
+ #+BEGIN_EXAMPLE
32
+ $ bundle
33
+ #+END_EXAMPLE
34
+
35
+ Or install it yourself as:
36
+
37
+ #+BEGIN_EXAMPLE
38
+ $ gem install resme
39
+ #+END_EXAMPLE
40
+
41
+ ** Usage
42
+ :PROPERTIES:
43
+ :CUSTOM_ID: usage
44
+ :END:
45
+
46
+ Start with:
47
+
48
+ #+BEGIN_EXAMPLE
49
+ $ resme init
50
+ #+END_EXAMPLE
51
+
52
+ whih generates a YML template for your resume in the current directory.
53
+ Comments in the YML file should help you fill the various entries.
54
+ Notice that most entries are optional and you can remove sections which
55
+ are not relevant for your resume.
56
+
57
+ You can then generate a resume using one of the existing templates or by
58
+ writing your own template (see below).
59
+
60
+ To generate a resume in Markdown using the provided template:
61
+
62
+ $ resme org [-o output_filename] file.yml ...
63
+
64
+ To generate a resume in Markdown using the provided template:
65
+
66
+ $ resme md [-o output_filename] file.yml ...
67
+
68
+ To generate a resume in the Europass XML format using the provided
69
+ template:
70
+
71
+ $ resme europass [-o output_filename] file.yml ...
72
+
73
+ To generate a resume in the JSON format (https://jsonresume.org/):
74
+
75
+ $ resme json [-o output_filename] file.yaml ...
76
+
77
+ Remarks:
78
+
79
+ - you can specify more than one YML file in input. This allows you to
80
+ store data about your resume in different files, if you like to do so
81
+ (e.g., work experiences could be in one file and talks in another).
82
+ The YML files are merged before processing them.
83
+ - the output filename is optional. If you do not specify one, the resume
84
+ is generated to =resume-YYYY.MM.DD.format=, where =YYYY-MM-DD= is
85
+ today's date and =format= is the chosen output format
86
+
87
+ ** Checking validity
88
+ :PROPERTIES:
89
+ :CUSTOM_ID: checking-validity
90
+ :END:
91
+
92
+ Use the =check= command to verify whether your YAML file conforms with
93
+ the intended syntax.
94
+
95
+ #+BEGIN_SRC ruby
96
+ resme check resume.yaml
97
+ #+END_SRC
98
+
99
+ ** Dates in the resume
100
+ :PROPERTIES:
101
+ :CUSTOM_ID: dates-in-the-resume
102
+ :END:
103
+
104
+ Enter dates in the resume in one of the following formats:
105
+
106
+ - Any format accepted by Ruby for a full date (year, month, day)
107
+ - YYYY-MM-DD
108
+ - YYYY-MM
109
+ - YYYY
110
+
111
+ The third and the forth format allows you to enter "partial" dates
112
+ (e.g., when the month or the day have been forgotten or are irrelevant).
113
+
114
+ ** Creating your own templates
115
+ :PROPERTIES:
116
+ :CUSTOM_ID: creating-your-own-templates
117
+ :END:
118
+
119
+ The resumes are generated from the YML matter using ERB templates. The
120
+ output formats should support different backends (OrgMode and Markdown
121
+ easily allow for generation of PDFs, HTML, and ODT to mention a few).
122
+
123
+ You can define your own templates if you wish to do so.
124
+
125
+ All the data in the resume is made available in the =data= variable.
126
+ Thus, for instance, the following code snippets generates a list of all
127
+ the work experiences:
128
+
129
+ #+BEGIN_EXAMPLE
130
+ <% data.work each do |exp| %>
131
+ - <%= exp.who %>
132
+ From: <%= exp.from %> till: <%= exp.till %>
133
+ <% end %>
134
+ #+END_EXAMPLE
135
+
136
+ To specify your own ERB template use the option =-t=. Thus, for
137
+ instance:
138
+
139
+ #+BEGIN_EXAMPLE
140
+ $ resme render -t template.md.erb [-o output_filename] file.yaml ...
141
+ #+END_EXAMPLE
142
+
143
+ uses =template.md.erb= to generate the resume.
144
+
145
+ Some functions can be used in the templates to better control the
146
+ output.
147
+
148
+ String manipulation functions:
149
+
150
+ - =clean string= removes any space at the beginning of =string=
151
+ - =reflow string, n= makes =string= into an array of strings of length
152
+ lower or equal to =n= (useful if you are outputting a textual format,
153
+ for instance.
154
+
155
+ Dates manipulation functions:
156
+
157
+ - =period= generates a string recapping a period. The function abstracts
158
+ different syntax you can use for entries (i.e., =date= or =from= and
159
+ =till=) and different values for the entries (e.g., a missing value
160
+ for =till=)
161
+ - =year string=, =month string=, =day string= return, respectively the
162
+ year, month and day from strings in the format =YYYY-MM-DD=s
163
+ - =has_month input= returns true if =input= has a month, that is, it is
164
+ a date or it is in the form =YYYY-MM=
165
+ - =has_day input= returns true if =input= has a day, that is, it is a
166
+ date or it is in the form =YYYY-MM-DD=
167
+
168
+ You can find the templates in =lib/resme/templates=. These might be good
169
+ starting points if you want to develop your own.
170
+
171
+ ** Contributing your templates
172
+ :PROPERTIES:
173
+ :CUSTOM_ID: contributing-your-templates
174
+ :END:
175
+
176
+ If you develop an output template and want to make it available, please
177
+ let me know, so that I can include it in future releases of this gem.
178
+
179
+ ** Development
180
+ :PROPERTIES:
181
+ :CUSTOM_ID: development
182
+ :END:
183
+
184
+ After checking out the repo, run =bin/setup= to install dependencies.
185
+ You can also run =bin/console= for an interactive prompt that will allow
186
+ you to experiment.
187
+
188
+ To install this gem onto your local machine, run
189
+ =bundle exec rake install=. To release a new version, update the version
190
+ number in =version.rb=, and then run =bundle exec rake release=, which
191
+ will create a git tag for the version, push git commits and tags, and
192
+ push the =.gem= file to [[https://rubygems.org][rubygems.org]].
193
+
194
+ ** Contributing
195
+ :PROPERTIES:
196
+ :CUSTOM_ID: contributing
197
+ :END:
198
+
199
+ Bug reports and pull requests are welcome on GitHub at
200
+ https://github.com/avillafiorita/resme.
201
+
202
+ ** License
203
+ :PROPERTIES:
204
+ :CUSTOM_ID: license
205
+ :END:
206
+
207
+ The gem is available as open source under the terms of the
208
+ [[http://opensource.org/licenses/MIT][MIT License]].
209
+
210
+ ** Roadmap
211
+ :PROPERTIES:
212
+ :CUSTOM_ID: roadmap
213
+ :END:
214
+
215
+ In =doc/todo.org= ... guess what is my preferred editor!
216
+
217
+ ** Bugs
218
+ :PROPERTIES:
219
+ :CUSTOM_ID: bugs
220
+ :END:
221
+
222
+ There are still slight differences in the syntax of entries and in the
223
+ way in which the information is formatted in various output formats. For
224
+ instance, gender and birthdate are used in the Europass format, but not
225
+ in the Markdown format. This is in part due to the different standards
226
+ and in part due to personal preferences.
227
+
228
+ *Entries are not sorted by date before outputting them. Make sure you
229
+ put them in the order you want them to appear in your resume.*
230
+
231
+ Unknown number of unknown bugs.
232
+
233
+ ** Release History
234
+ :PROPERTIES:
235
+ :CUSTOM_ID: release-history
236
+ :END:
237
+
238
+ - *0.3.2* and *0.3.1* fix errors with the Europass format: lists of
239
+ projects, interests, ... are now properly formatted.
240
+ - *0.3* introduces output to org-mode, introduces references for the CV,
241
+ improves output to JSON, adds a =check= command, removes useless blank
242
+ lines in the output, supports =-%>= in the ERB templates, fixes
243
+ various typos in the documentation, introduces various new formatting
244
+ functions, to simplify template generation
245
+ - *0.2* improves output of volunteering activities and other information
246
+ in the Europass and *significantly improves error and warning
247
+ reporting*
248
+ - *0.1* is the first release
@@ -415,7 +415,7 @@ end
415
415
  <Description>
416
416
  <% if data.interests and not data.interests.empty? %>
417
417
  &lt;ul&gt;
418
- <% data.interests.do |x| %>
418
+ <% data.interests do |x| %>
419
419
  &lt;li&gt;<%= "#{x.name || ""}: #{x.level || ""}, #{x.summary || ""}; " %>&lt;/li&gt;
420
420
  <% end %>
421
421
  &lt;/ul&gt;
@@ -1,5 +1,6 @@
1
- #+TITLE: <%= full_name data %>, <%= data.basics.title %>
2
- #+AUTHOR: <%= data.contacts.select { |x| x.label == "email" }.first.value %>
1
+ #+TITLE: Curriculum Vitae
2
+ #+AUTHOR: <%= full_name data %>, <%= data.basics.title %>
3
+ #+EMAIL: <%= data.contacts.select { |x| x.label == "email" }.first.value %>
3
4
  #+DATE: <<%= Date.today %>>
4
5
  #+STARTUP: showall
5
6
  #+OPTIONS: toc:nil num:nil
@@ -40,7 +41,7 @@
40
41
  * Work Experience
41
42
 
42
43
  <% (data.work || []).each do |item| -%>
43
- ** *<%= period item %>: <%= clean [item.role, item.who].join(", ") %>*
44
+ ** <%= period item %>: <%= clean [item.role, item.who].join(", ") %>
44
45
  <%= propertify item, " " %>
45
46
 
46
47
  <%= reflow_to_string item["summary"], 72, " " -%>
@@ -52,7 +53,7 @@
52
53
  * Teaching
53
54
 
54
55
  <% (data.teaching || []).each do |item| -%>
55
- ** *<%= period item %>: <%= item.subject %>*
56
+ ** <%= period item %>: <%= item.subject %>
56
57
  <%= propertify item, " " %>
57
58
 
58
59
  <%= [item["role"], item["school"], item["who"]].join(", ") %>
@@ -64,7 +65,7 @@
64
65
  * Projects
65
66
 
66
67
  <% (data.projects || []).each do |item| -%>
67
- ** *<%= period item %>: <%= [item.name, item.role].join(", ") %>*
68
+ ** <%= period item %>: <%= [item.name, item.role].join(", ") %>
68
69
  <%= propertify item, " " %>
69
70
 
70
71
  <%= reflow_to_string item["summary"], 72, " " -%>
@@ -76,7 +77,7 @@
76
77
  * Other Initiatives
77
78
 
78
79
  <% (data.other || []).each do |item| -%>
79
- ** *<%= period item %>: <%= [item["who"], item["role"]].join(", ") %>*
80
+ ** <%= period item %>: <%= [item["who"], item["role"]].join(", ") %>
80
81
  <%= propertify item, " " %>
81
82
 
82
83
  <%= reflow_to_string item["summary"], 72, " " -%>
@@ -150,7 +151,7 @@
150
151
  * <%= group.capitalize %>
151
152
 
152
153
  <% (group || []).each do |item| -%>
153
- ** *<%= item.date %>: <%= [item.title, item.who, item.address].join(", ") %>*
154
+ ** <%= item.date %>: <%= [item.title, item.who, item.address].join(", ") %>
154
155
  <%= propertify item, " " %>
155
156
 
156
157
  <%= reflow_to_string item.summary, 72, " " -%>
@@ -1,3 +1,3 @@
1
1
  module Resme
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adolfo Villafiorita
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-12 00:00:00.000000000 Z
11
+ date: 2020-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -79,7 +79,7 @@ files:
79
79
  - ".gitignore"
80
80
  - Gemfile
81
81
  - LICENSE.txt
82
- - README.md
82
+ - README.org
83
83
  - Rakefile
84
84
  - bin/console
85
85
  - bin/setup
data/README.md DELETED
@@ -1,192 +0,0 @@
1
- # RESME - A Resume Generator
2
-
3
- Keep your resume in YAML and output it in various formats, including
4
- org-mode, markdown, json, and the Europass XML format.
5
-
6
- The rendering engine is based on ERB. This simplifies the creation of
7
- new output formats (and extending/modifying the YML structure to
8
- one's needs).
9
-
10
- ## Installation
11
-
12
- Add this line to your application's Gemfile:
13
-
14
- ```ruby
15
- gem 'resme'
16
- ```
17
-
18
- And then execute:
19
-
20
- $ bundle
21
-
22
- Or install it yourself as:
23
-
24
- $ gem install resme
25
-
26
- ## Usage
27
-
28
- Start with:
29
-
30
- $ resme init
31
-
32
- whih generates a YML template for your resume in the current
33
- directory. Comments in the YML file should help you fill the various
34
- entries. Notice that most entries are optional and you can remove
35
- sections which are not relevant for your resume.
36
-
37
- You can then generate a resume using one of the existing templates or
38
- by writing your own template (see below).
39
-
40
- To generate a resume in Markdown using the provided template:
41
-
42
- $ resme org [-o output_filename] file.yml ...
43
-
44
- To generate a resume in Markdown using the provided template:
45
-
46
- $ resme md [-o output_filename] file.yml ...
47
-
48
- To generate a resume in the Europass XML format using the provided template:
49
-
50
- $ resme europass [-o output_filename] file.yml ...
51
-
52
- To generate a resume in the JSON format (https://jsonresume.org/):
53
-
54
- $ resme json [-o output_filename] file.yaml ...
55
-
56
- Remarks:
57
-
58
- * you can specify more than one YML file in input. This allows you to store
59
- data about your resume in different files, if you like to do so (e.g., work
60
- experiences could be in one file and talks in another). The YML files are
61
- merged before processing them.
62
- * the output filename is optional. If you do not specify one, the resume is
63
- generated to `resume-YYYY.MM.DD.format`, where `YYYY-MM-DD` is today's date
64
- and `format` is the chosen output format
65
-
66
- ## Checking validity
67
-
68
- Use the `check` command to verify whether your YAML file conforms with
69
- the intended syntax.
70
-
71
- ```ruby
72
- resme check resume.yaml
73
- ```
74
-
75
- ## Dates in the resume
76
-
77
- Enter dates in the resume in one of the following formats:
78
-
79
- * Any format accepted by Ruby for a full date (year, month, day)
80
- * YYYY-MM-DD
81
- * YYYY-MM
82
- * YYYY
83
-
84
- The third and the forth format allows you to enter "partial" dates
85
- (e.g., when the month or the day have been forgotten or are
86
- irrelevant).
87
-
88
- ## Creating your own templates
89
-
90
- The resumes are generated from the YML matter using ERB templates.
91
- The output formats should support different backends (OrgMode and
92
- Markdown easily allow for generation of PDFs, HTML, and ODT to mention
93
- a few).
94
-
95
- You can define your own templates if you wish to do so.
96
-
97
- All the data in the resume is made available in the `data` variable.
98
- Thus, for instance, the following code snippets generates a list of
99
- all the work experiences:
100
-
101
- <% data.work each do |exp| %>
102
- - <%= exp.who %>
103
- From: <%= exp.from %> till: <%= exp.till %>
104
- <% end %>
105
-
106
- To specify your own ERB template use the option `-t`. Thus, for instance:
107
-
108
- $ resme render -t template.md.erb [-o output_filename] file.yaml ...
109
-
110
- uses `template.md.erb` to generate the resume.
111
-
112
- Some functions can be used in the templates to better control the output.
113
-
114
- String manipulation functions:
115
-
116
- * `clean string` removes any space at the beginning of `string`
117
- * `reflow string, n` makes `string` into an array of strings of length
118
- lower or equal to `n` (useful if you are outputting a textual
119
- format, for instance.
120
-
121
- Dates manipulation functions:
122
-
123
- * `period` generates a string recapping a period. The function
124
- abstracts different syntax you can use for entries (i.e., `date` or
125
- `from` and `till`) and different values for the entries (e.g., a
126
- missing value for `till`)
127
- * `year string`, `month string`, `day string` return, respectively the
128
- year, month and day from strings in the format `YYYY-MM-DD`s
129
- * `has_month input` returns true if `input` has a month, that is, it is
130
- a date or it is in the form `YYYY-MM`
131
- * `has_day input` returns true if `input` has a day, that is, it is
132
- a date or it is in the form `YYYY-MM-DD`
133
-
134
- You can find the templates in `lib/resme/templates`. These might be
135
- good starting points if you want to develop your own.
136
-
137
- ## Contributing your templates
138
-
139
- If you develop an output template and want to make it available,
140
- please let me know, so that I can include it in future releases of
141
- this gem.
142
-
143
- ## Development
144
-
145
- After checking out the repo, run `bin/setup` to install
146
- dependencies. You can also run `bin/console` for an interactive prompt
147
- that will allow you to experiment.
148
-
149
- To install this gem onto your local machine, run `bundle exec rake
150
- install`. To release a new version, update the version number in
151
- `version.rb`, and then run `bundle exec rake release`, which will
152
- create a git tag for the version, push git commits and tags, and push
153
- the `.gem` file to [rubygems.org](https://rubygems.org).
154
-
155
- ## Contributing
156
-
157
- Bug reports and pull requests are welcome on GitHub at
158
- https://github.com/avillafiorita/resme.
159
-
160
- ## License
161
-
162
- The gem is available as open source under the terms of
163
- the [MIT License](http://opensource.org/licenses/MIT).
164
-
165
- ## Roadmap
166
-
167
- In `doc/todo.org` ... guess what is my preferred editor!
168
-
169
- ## Bugs
170
-
171
- There are still slight differences in the syntax of entries and in the
172
- way in which the information is formatted in various output formats.
173
- For instance, gender and birthdate are used in the Europass format,
174
- but not in the Markdown format. This is in part due to the different
175
- standards and in part due to personal preferences.
176
-
177
- **Entries are not sorted by date before outputting them. Make sure you
178
- put them in the order you want them to appear in your resume.**
179
-
180
- Unknown number of unknown bugs.
181
-
182
- ## Release History
183
-
184
- * **0.3** introduces output to org-mode, introduces references for the
185
- CV, improves output to JSON, adds a `check` command, removes useless
186
- blank lines in the output, supports `-%>` in the ERB templates,
187
- fixes various typos in the documentation, introduces various new
188
- formatting functions, to simplify template generation
189
- * **0.2** improves output of volunteering activities and other
190
- information in the Europass and **significantly improves error and
191
- warning reporting**
192
- * **0.1** is the first release