latex_curriculum_vitae 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gemnasium.yml +5 -0
  3. data/.gitignore +5 -0
  4. data/.idea/latex_curriculum_vitae.iml +25 -0
  5. data/.idea/misc.xml +4 -0
  6. data/.idea/modules.xml +8 -0
  7. data/.idea/vcs.xml +6 -0
  8. data/.idea/workspace.xml +686 -0
  9. data/.index +84 -0
  10. data/.setup/installer.rb +30 -0
  11. data/.setup/metaconfig.rb +1 -0
  12. data/CHANGELOG.md +5 -0
  13. data/CODE_OF_CONDUCT.md +17 -0
  14. data/CONTRIBUTING.md +25 -0
  15. data/Gemfile +2 -0
  16. data/Gemfile.lock +32 -0
  17. data/Index.yml +40 -0
  18. data/LICENSE +166 -0
  19. data/MANIFEST +69 -0
  20. data/README.md +122 -0
  21. data/Rakefile +216 -0
  22. data/VERSION +1 -0
  23. data/bin/latexcv.rb +10 -0
  24. data/data/latex_curriculum_vitae/Appendix/Bibliography/bibliography1.bib +61 -0
  25. data/data/latex_curriculum_vitae/Appendix/Certificates/Zertifikat_Sascha_Manns1.pdf +0 -0
  26. data/data/latex_curriculum_vitae/Appendix/Certificates/kompetenzpass12013.pdf +0 -0
  27. data/data/latex_curriculum_vitae/Appendix/Certificates/thm-webeng1.pdf +0 -0
  28. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/Arbeitszeugnisse.pdf +0 -0
  29. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/build.bat +4 -0
  30. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/hays.pdf +0 -0
  31. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/haysnew.pdf +0 -0
  32. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/openslx.pdf +0 -0
  33. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/openslx1.pdf +0 -0
  34. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/test.bat +2 -0
  35. data/data/latex_curriculum_vitae/Appendix/Employers_Reference/wtg.pdf +0 -0
  36. data/data/latex_curriculum_vitae/Appendix/First_References/bsaz.pdf +0 -0
  37. data/data/latex_curriculum_vitae/Appendix/First_References/hsaz.pdf +0 -0
  38. data/data/latex_curriculum_vitae/Appendix/First_References/ihk.pdf +0 -0
  39. data/data/latex_curriculum_vitae/Appendix/Study/foo.pdf +0 -0
  40. data/data/latex_curriculum_vitae/Appendix/Study/zwzils.jpg +0 -0
  41. data/data/latex_curriculum_vitae/Appendix/Study/zwzils.pdf +0 -0
  42. data/data/latex_curriculum_vitae/Cover/Cover.tex +153 -0
  43. data/data/latex_curriculum_vitae/Motivational_Letter/Anschreiben.docx +0 -0
  44. data/data/latex_curriculum_vitae/Motivational_Letter/Anschreiben_MC.pdf +0 -0
  45. data/data/latex_curriculum_vitae/Motivational_Letter/bwanschreiben.tex +199 -0
  46. data/data/latex_curriculum_vitae/Pictures/Sascha1p.jpg +0 -0
  47. data/data/latex_curriculum_vitae/Pictures/arbeitsagentur.png +0 -0
  48. data/data/latex_curriculum_vitae/Pictures/background.jpg +0 -0
  49. data/data/latex_curriculum_vitae/Pictures/background.png +0 -0
  50. data/data/latex_curriculum_vitae/Pictures/signatur.png +0 -0
  51. data/data/latex_curriculum_vitae/Resume/cv_10.aux +41 -0
  52. data/data/latex_curriculum_vitae/Resume/cv_10.bbl +1982 -0
  53. data/data/latex_curriculum_vitae/Resume/cv_10.bcf +2089 -0
  54. data/data/latex_curriculum_vitae/Resume/cv_10.blg +100 -0
  55. data/data/latex_curriculum_vitae/Resume/cv_10.out +0 -0
  56. data/data/latex_curriculum_vitae/Resume/cv_10.pdf +0 -0
  57. data/data/latex_curriculum_vitae/Resume/cv_10.run.xml +86 -0
  58. data/data/latex_curriculum_vitae/Resume/cv_10.tex +440 -0
  59. data/data/latex_curriculum_vitae/Resume/friggeri-cv.cls +327 -0
  60. data/data/latex_curriculum_vitae/Resume/missfont.log +13 -0
  61. data/etc/personal_data.tex +6 -0
  62. data/latex_curriculum_vitae.gemspec +42 -0
  63. data/lib/latex_curriculum_vitae/cover.rb +17 -0
  64. data/lib/latex_curriculum_vitae/cv.rb +26 -0
  65. data/lib/latex_curriculum_vitae/email.rb +62 -0
  66. data/lib/latex_curriculum_vitae/entityfile.rb +65 -0
  67. data/lib/latex_curriculum_vitae/glade/latexcv.glade~ +249 -0
  68. data/lib/latex_curriculum_vitae/notifier.rb +26 -0
  69. data/lib/latex_curriculum_vitae/outfile.rb +35 -0
  70. data/lib/latex_curriculum_vitae/version.rb +24 -0
  71. data/lib/latex_curriculum_vitae.rb +56 -0
  72. data/setup.rb +1296 -0
  73. metadata +276 -0
@@ -0,0 +1,249 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.18.3 -->
3
+ <interface>
4
+ <requires lib="gtk+" version="3.12"/>
5
+ <object class="GtkWindow" id="window1">
6
+ <property name="can_focus">False</property>
7
+ <child>
8
+ <object class="GtkGrid" id="grid1">
9
+ <property name="visible">True</property>
10
+ <property name="can_focus">False</property>
11
+ <child>
12
+ <object class="GtkLabel" id="label1">
13
+ <property name="visible">True</property>
14
+ <property name="can_focus">False</property>
15
+ <property name="halign">start</property>
16
+ <property name="label" translatable="yes">What is the jobtitle of your application?
17
+ Escape amp with backslash.
18
+ </property>
19
+ </object>
20
+ <packing>
21
+ <property name="left_attach">0</property>
22
+ <property name="top_attach">0</property>
23
+ </packing>
24
+ </child>
25
+ <child>
26
+ <object class="GtkEntry" id="entry1">
27
+ <property name="visible">True</property>
28
+ <property name="can_focus">True</property>
29
+ </object>
30
+ <packing>
31
+ <property name="left_attach">1</property>
32
+ <property name="top_attach">0</property>
33
+ </packing>
34
+ </child>
35
+ <child>
36
+ <object class="GtkLabel" id="label2">
37
+ <property name="visible">True</property>
38
+ <property name="can_focus">False</property>
39
+ <property name="halign">start</property>
40
+ <property name="label" translatable="yes">Is it a proactive application?</property>
41
+ </object>
42
+ <packing>
43
+ <property name="left_attach">0</property>
44
+ <property name="top_attach">1</property>
45
+ </packing>
46
+ </child>
47
+ <child>
48
+ <object class="GtkBox" id="box1">
49
+ <property name="visible">True</property>
50
+ <property name="can_focus">False</property>
51
+ <property name="orientation">vertical</property>
52
+ <child>
53
+ <object class="GtkRadioButton" id="radiobutton1">
54
+ <property name="label" translatable="yes">yes</property>
55
+ <property name="visible">True</property>
56
+ <property name="can_focus">True</property>
57
+ <property name="receives_default">False</property>
58
+ <property name="xalign">0</property>
59
+ <property name="active">True</property>
60
+ <property name="draw_indicator">True</property>
61
+ </object>
62
+ <packing>
63
+ <property name="expand">False</property>
64
+ <property name="fill">True</property>
65
+ <property name="position">0</property>
66
+ </packing>
67
+ </child>
68
+ <child>
69
+ <object class="GtkRadioButton" id="radiobutton2">
70
+ <property name="label" translatable="yes">no</property>
71
+ <property name="visible">True</property>
72
+ <property name="can_focus">True</property>
73
+ <property name="receives_default">False</property>
74
+ <property name="xalign">0</property>
75
+ <property name="active">True</property>
76
+ <property name="draw_indicator">True</property>
77
+ </object>
78
+ <packing>
79
+ <property name="expand">False</property>
80
+ <property name="fill">True</property>
81
+ <property name="position">1</property>
82
+ </packing>
83
+ </child>
84
+ </object>
85
+ <packing>
86
+ <property name="left_attach">1</property>
87
+ <property name="top_attach">1</property>
88
+ </packing>
89
+ </child>
90
+ <child>
91
+ <object class="GtkLabel" id="label3">
92
+ <property name="visible">True</property>
93
+ <property name="can_focus">False</property>
94
+ <property name="halign">start</property>
95
+ <property name="label" translatable="yes">What is the companies name?
96
+ Escape amp with backslash.</property>
97
+ </object>
98
+ <packing>
99
+ <property name="left_attach">0</property>
100
+ <property name="top_attach">2</property>
101
+ </packing>
102
+ </child>
103
+ <child>
104
+ <object class="GtkEntry" id="entry2">
105
+ <property name="visible">True</property>
106
+ <property name="can_focus">True</property>
107
+ </object>
108
+ <packing>
109
+ <property name="left_attach">1</property>
110
+ <property name="top_attach">2</property>
111
+ </packing>
112
+ </child>
113
+ <child>
114
+ <object class="GtkLabel" id="label4">
115
+ <property name="visible">True</property>
116
+ <property name="can_focus">False</property>
117
+ <property name="halign">start</property>
118
+ <property name="label" translatable="yes">Is your contact male or female?
119
+ Use unknown if unknown.</property>
120
+ </object>
121
+ <packing>
122
+ <property name="left_attach">0</property>
123
+ <property name="top_attach">3</property>
124
+ </packing>
125
+ </child>
126
+ <child>
127
+ <object class="GtkBox" id="box2">
128
+ <property name="visible">True</property>
129
+ <property name="can_focus">False</property>
130
+ <property name="orientation">vertical</property>
131
+ <child>
132
+ <object class="GtkRadioButton" id="radiobutton3">
133
+ <property name="label" translatable="yes">male</property>
134
+ <property name="visible">True</property>
135
+ <property name="can_focus">True</property>
136
+ <property name="receives_default">False</property>
137
+ <property name="xalign">0</property>
138
+ <property name="active">True</property>
139
+ <property name="draw_indicator">True</property>
140
+ </object>
141
+ <packing>
142
+ <property name="expand">False</property>
143
+ <property name="fill">True</property>
144
+ <property name="position">0</property>
145
+ </packing>
146
+ </child>
147
+ <child>
148
+ <object class="GtkRadioButton" id="radiobutton4">
149
+ <property name="label" translatable="yes">female</property>
150
+ <property name="visible">True</property>
151
+ <property name="can_focus">True</property>
152
+ <property name="receives_default">False</property>
153
+ <property name="xalign">0</property>
154
+ <property name="active">True</property>
155
+ <property name="draw_indicator">True</property>
156
+ </object>
157
+ <packing>
158
+ <property name="expand">False</property>
159
+ <property name="fill">True</property>
160
+ <property name="position">1</property>
161
+ </packing>
162
+ </child>
163
+ <child>
164
+ <object class="GtkRadioButton" id="radiobutton5">
165
+ <property name="label" translatable="yes">unknown</property>
166
+ <property name="visible">True</property>
167
+ <property name="can_focus">True</property>
168
+ <property name="receives_default">False</property>
169
+ <property name="xalign">0</property>
170
+ <property name="active">True</property>
171
+ <property name="draw_indicator">True</property>
172
+ </object>
173
+ <packing>
174
+ <property name="expand">False</property>
175
+ <property name="fill">True</property>
176
+ <property name="position">2</property>
177
+ </packing>
178
+ </child>
179
+ </object>
180
+ <packing>
181
+ <property name="left_attach">1</property>
182
+ <property name="top_attach">3</property>
183
+ </packing>
184
+ </child>
185
+ <child>
186
+ <object class="GtkLabel" id="label5">
187
+ <property name="visible">True</property>
188
+ <property name="can_focus">False</property>
189
+ <property name="halign">start</property>
190
+ <property name="label" translatable="yes">If you have a contact so give me
191
+ the name of him/her.</property>
192
+ </object>
193
+ <packing>
194
+ <property name="left_attach">0</property>
195
+ <property name="top_attach">4</property>
196
+ </packing>
197
+ </child>
198
+ <child>
199
+ <object class="GtkEntry" id="entry3">
200
+ <property name="visible">True</property>
201
+ <property name="can_focus">True</property>
202
+ </object>
203
+ <packing>
204
+ <property name="left_attach">1</property>
205
+ <property name="top_attach">4</property>
206
+ </packing>
207
+ </child>
208
+ <child>
209
+ <object class="GtkLabel" id="label6">
210
+ <property name="visible">True</property>
211
+ <property name="can_focus">False</property>
212
+ <property name="halign">start</property>
213
+ <property name="label" translatable="yes">Tell me the email address for
214
+ sending the application</property>
215
+ </object>
216
+ <packing>
217
+ <property name="left_attach">0</property>
218
+ <property name="top_attach">5</property>
219
+ </packing>
220
+ </child>
221
+ <child>
222
+ <object class="GtkEntry" id="entry4">
223
+ <property name="visible">True</property>
224
+ <property name="can_focus">True</property>
225
+ </object>
226
+ <packing>
227
+ <property name="left_attach">1</property>
228
+ <property name="top_attach">5</property>
229
+ </packing>
230
+ </child>
231
+ <child>
232
+ <object class="GtkButton" id="button1">
233
+ <property name="label" translatable="yes">Go</property>
234
+ <property name="visible">True</property>
235
+ <property name="can_focus">True</property>
236
+ <property name="receives_default">True</property>
237
+ </object>
238
+ <packing>
239
+ <property name="left_attach">1</property>
240
+ <property name="top_attach">6</property>
241
+ </packing>
242
+ </child>
243
+ <child>
244
+ <placeholder/>
245
+ </child>
246
+ </object>
247
+ </child>
248
+ </object>
249
+ </interface>
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract Notifier Module for latex_curriculum_vitae
5
+ #
6
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
7
+ # License: GPL-3
8
+
9
+ # Dependencies
10
+
11
+ # Module for notify the user
12
+ require 'notifier'
13
+
14
+ module Notifier
15
+ def self.run
16
+ home = Dir.home
17
+ prefix = "#{home}/.rvm/rubies/default"
18
+ datadir = "#{prefix}/share"
19
+ img = "#{datadir}/latex_curriculum_vitae/Pictures/arbeitsagentur.png"
20
+ Notifier.notify(
21
+ :image => "#{img}",
22
+ :title => "Your Job Application",
23
+ :message => "Your Job Application was created now."
24
+ )
25
+ end
26
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract CV Module for latex_curriculum_vitae
5
+ #
6
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
7
+ # License: GPL-3
8
+
9
+ # Dependencies
10
+ require 'csv'
11
+
12
+ # Module for creating and appending the outfile
13
+ module CVOutfile
14
+ # Method to adding the data into the csv file
15
+ def self.add_to_outfile(jobtitle, company, contact, emailaddress, csvout)
16
+ home = Dir.home
17
+ time = Time.new
18
+ date = time.strftime('%Y-%m-%d')
19
+ contact.gsub!('%20', ' ')
20
+ jobtitle.gsub!('%20', ' ')
21
+ jobtitle.gsub!('%26', '&')
22
+ if File.exist?(csvout)
23
+ puts 'do nothing'
24
+ else
25
+ FileUtils.touch(csvout)
26
+ File.write "#{csvout}", <<EOF
27
+ date,company,job,contact,email,status
28
+ EOF
29
+ end
30
+ CSV.open("#{csvout}", 'a+') do |csv|
31
+ #datum,firma,stelle,kontakt,email,status
32
+ csv << ["#{date}","#{company}","#{jobtitle}","#{contact}","#{emailaddress}",'Open']
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,24 @@
1
+ # latex_curriculum_vitae
2
+ # @author Sascha Manns
3
+ # @abstract Class for maintaining the version number
4
+ #
5
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
6
+ # License: GPL-3
7
+
8
+ # Method for versioning the gem
9
+ class LatexCurriculumVitae
10
+ # @note human readable Version
11
+ # @return [String] STRING (Version)
12
+ module Version
13
+ # Major version. Maybe never reached
14
+ MAJOR = 0
15
+ # Minor version.
16
+ MINOR = 1
17
+ # Patchlevel
18
+ PATCH = 1
19
+ # Buildversion. Mostly 0
20
+ BUILD = 0
21
+ # @note This will be shown by PublicanCreatorsVersion::Version::STRING
22
+ STRING = [MAJOR, MINOR, PATCH].compact.join('.')
23
+ end
24
+ end
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract Main Class for latex_curriculum_vitae
5
+ #
6
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
7
+ # License: GPL-3
8
+ #$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
9
+
10
+ # Dependencies
11
+ require 'fileutils'
12
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/entityfile'))
13
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/cv'))
14
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/cover'))
15
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/email'))
16
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/outfile'))
17
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/notifier'))
18
+ require File.expand_path(File.join(File.dirname(__FILE__), 'latex_curriculum_vitae/version'))
19
+
20
+ # Main Class LatexCurriculumVitae
21
+ class LatexCurriculumVitae
22
+ # Variables
23
+ home = Dir.home
24
+ prefix = "#{home}/.rvm/rubies/default"
25
+ datadir = "#{prefix}/share"
26
+ version = LatexCurriculumVitae::Version::STRING
27
+ entitytex = "#{home}/.latex_curriculum_vitae/entity.tex"
28
+ personaldata = "#{home}/.latex_curriculum_vitae/personal_data.tex"
29
+ csvout = "#{home}/.latex_curriculum_vitae/job-applications.csv"
30
+
31
+ # Get the needed Information for creating the application
32
+ contact, emailaddress, jobtitle, contact_sex, company, proactive = Entityfile.get_information(entitytex)
33
+
34
+ # Create the cover
35
+ FileUtils.cd("#{datadir}/latex_curriculum_vitae/Cover") do
36
+ Cover.create_cover
37
+ end
38
+
39
+ # Create the Curriculum Vitae
40
+ FileUtils.cd("#{datadir}/latex_curriculum_vitae/Resume") do
41
+ CV.create_cv
42
+ end
43
+
44
+ # Create the email
45
+ CVEmail.create_email(contact, emailaddress, jobtitle, contact_sex, proactive)
46
+
47
+ # Add entry to Outfile
48
+ CVOutfile.add_to_outfile(jobtitle, company, contact, emailaddress, csvout)
49
+
50
+ # Start evince to check the output file
51
+ system("evince #{datadir}/latex_curriculum_vitae/Bewerbungsunterlagen_Manns.pdf")
52
+ system("cp #{datadir}/latex_curriculum_vitae/Bewerbungsunterlagen_Manns.pdf #{home}/.latex_curriculum_vitae")
53
+
54
+ # Inform about creation is done
55
+ Notifier.run
56
+ end