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,327 @@
1
+ \ProvidesClass{friggeri-cv}[2012/04/30 CV class]
2
+ \NeedsTeXFormat{LaTeX2e}
3
+
4
+ \DeclareOption{print}{\def\@cv@print{}}
5
+ \DeclareOption*{%
6
+ \PassOptionsToClass{\CurrentOption}{article}%
7
+ }
8
+ \ProcessOptions\relax
9
+ \LoadClass{article}
10
+
11
+ %%%%%%%%%%
12
+ % Colors %
13
+ %%%%%%%%%%
14
+
15
+ \RequirePackage{xcolor}
16
+
17
+ \definecolor{white}{RGB}{255,255,255}
18
+
19
+ \definecolor{darkgray}{HTML}{333333}
20
+ \definecolor{gray}{HTML}{4D4D4D}
21
+ \definecolor{lightgray}{HTML}{999999}
22
+
23
+ \definecolor{green}{HTML}{C2E15F}
24
+ \definecolor{orange}{HTML}{FDA333}
25
+ \definecolor{purple}{HTML}{D3A4F9}
26
+ \definecolor{red}{HTML}{FB4485}
27
+ \definecolor{blue}{HTML}{6CE0F1}
28
+
29
+ \ifdefined\@cv@print
30
+ \colorlet{green}{gray}
31
+ \colorlet{orange}{gray}
32
+ \colorlet{purple}{gray}
33
+ \colorlet{brown}{gray}
34
+ \colorlet{red}{gray}
35
+ \colorlet{blue}{gray}
36
+ \colorlet{fillheader}{white}
37
+ \colorlet{header}{gray}
38
+ \else
39
+ \colorlet{fillheader}{gray}
40
+ \colorlet{header}{white}
41
+ \fi
42
+ \colorlet{textcolor}{gray}
43
+ \colorlet{headercolor}{gray}
44
+
45
+ %%%%%%%%%
46
+ % Fonts %
47
+ %%%%%%%%%
48
+
49
+ \RequirePackage[quiet]{fontspec}
50
+ \RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math}
51
+
52
+ \newfontfamily\bodyfont[]{Helvetica Neue}
53
+ \newfontfamily\thinfont[]{Helvetica Neue UltraLight}
54
+ %\newfontfamily\thinfont[]{HelveticaNeueLTPro-UltLt}
55
+ \newfontfamily\headingfont[]{Helvetica Neue Condensed Bold}
56
+
57
+ \defaultfontfeatures{Mapping=tex-text}
58
+ \setmainfont[Mapping=tex-text, Color=textcolor]{Helvetica Neue Light}
59
+ %\setmainfont[Mapping=tex-text, Color=textcolor]{HelveticaNeueLTPro-Lt}
60
+
61
+ %\setmathfont{XITS Math}
62
+
63
+ %%%%%%%%%%
64
+ % Header %
65
+ %%%%%%%%%%
66
+
67
+ \RequirePackage{tikz}
68
+
69
+ \newcommand{\rolefont}{%
70
+ \fontsize{14pt}{24pt}\selectfont%
71
+ \thinfont%
72
+ \color{white}%
73
+ }
74
+
75
+ \newcommand{\header}[3]{%
76
+ \begin{tikzpicture}[remember picture,overlay]
77
+ \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){};
78
+ \node [anchor=center] (name) at (box) {%
79
+ \fontsize{40pt}{72pt}\color{header}%
80
+ {\thinfont #1}{\bodyfont #2}
81
+ };
82
+ \node [anchor=north] at (name.south) {%
83
+ \fontsize{14pt}{24pt}\color{header}%
84
+ \thinfont #3%
85
+ };
86
+ \end{tikzpicture}
87
+ \vspace{2.5cm}
88
+ \vspace{-2\parskip}
89
+ }
90
+
91
+
92
+ %%%%%%%%%%%%%
93
+ % Structure %
94
+ %%%%%%%%%%%%%
95
+ \RequirePackage{parskip}
96
+
97
+ \newcounter{colorCounter}
98
+ \def\@sectioncolor#1#2#3{%
99
+ {%
100
+ \color{%
101
+ \ifcase\value{colorCounter}%
102
+ blue\or%
103
+ red\or%
104
+ orange\or%
105
+ green\or%
106
+ purple\or%
107
+ blue\or%
108
+ red\or%
109
+ orange\or%
110
+ green\or%
111
+ purple\or%
112
+ brown\else%
113
+ headercolor\fi%
114
+ } #1#2#3%
115
+ }%
116
+ \stepcounter{colorCounter}%
117
+ }
118
+
119
+ \renewcommand{\section}[1]{
120
+ \par\vspace{\parskip}
121
+ {%
122
+ \LARGE\headingfont\color{headercolor}%
123
+ \@sectioncolor #1%
124
+ }
125
+ \par\vspace{\parskip}
126
+ }
127
+
128
+ \renewcommand{\subsection}[2]{
129
+ \par\vspace{.5\parskip}%
130
+ \Large\headingfont\color{headercolor} #2%
131
+ \par\vspace{.25\parskip}%
132
+ }
133
+
134
+ \pagestyle{empty}
135
+
136
+
137
+ %%%%%%%%%%%%%%%%%%%%
138
+ % List environment %
139
+ %%%%%%%%%%%%%%%%%%%%
140
+
141
+ \setlength{\tabcolsep}{0pt}
142
+ \newenvironment{entrylist}{%
143
+ \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
144
+ }{%
145
+ \end{tabular*}
146
+ }
147
+ \renewcommand{\bfseries}{\headingfont\color{headercolor}}
148
+ \newcommand{\entry}[4]{%
149
+ #1&\parbox[t]{10.5cm}{%
150
+ \textbf{#2}%
151
+ \hfill%
152
+ {\footnotesize\addfontfeature{Color=lightgray} #3}\\%
153
+ #4\vspace{\parsep}%
154
+ }\\}
155
+
156
+
157
+ %%%%%%%%%%%%%%
158
+ % Side block %
159
+ %%%%%%%%%%%%%%
160
+
161
+ \RequirePackage[absolute,overlay]{textpos}
162
+ \setlength{\TPHorizModule}{1cm}
163
+ \setlength{\TPVertModule}{1cm}
164
+ \newenvironment{aside}{%
165
+ \let\oldsection\section
166
+ \renewcommand{\section}[1]{
167
+ \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} ##1}
168
+ }
169
+ \begin{textblock}{5.0}(0.3, 4.33)%3.6
170
+ \begin{flushright}
171
+ \obeycr
172
+ }{%
173
+ \restorecr
174
+ \end{flushright}
175
+ \end{textblock}
176
+ \let\section\oldsection
177
+ }
178
+
179
+ %%%%%%%%%%%%%%%%
180
+ % Bibliography %
181
+ %%%%%%%%%%%%%%%%
182
+
183
+ \RequirePackage[style=verbose, maxnames=99, sorting=ydnt]{biblatex}
184
+
185
+ \DeclareFieldFormat[article]{title}{#1\par}
186
+ \DeclareFieldFormat[book]{title}{#1\par}
187
+ \DeclareFieldFormat[inproceedings]{title}{#1\par}
188
+ \DeclareFieldFormat[misc]{title}{#1\par}
189
+ \DeclareFieldFormat[report]{title}{#1\par}
190
+
191
+ \DeclareBibliographyDriver{article}{%
192
+ \printfield{title}%
193
+ \newblock%
194
+ \printnames{author}%
195
+ \par%
196
+ \newblock%
197
+ {%
198
+ \footnotesize\addfontfeature{Color=lightgray}\itshape%
199
+ \usebibmacro{journal+issuetitle}%
200
+ \setunit{\space}%
201
+ \printfield{pages}%
202
+ \newunit%
203
+ \printlist{publisher}%
204
+ \setunit*{\addcomma\space}%
205
+ \printfield{year}%
206
+ \setunit*{\addcomma\space}%
207
+ \printfield{issn}%
208
+ \newunit%
209
+ }
210
+ \par\vspace{0.3\baselineskip}
211
+ }
212
+
213
+ \DeclareBibliographyDriver{book}{%
214
+ \printfield{title}%
215
+ \newblock%
216
+ \printnames{author}%
217
+ \par%
218
+ \newblock%
219
+ {%
220
+ \footnotesize\addfontfeature{Color=lightgray}\itshape%
221
+ \printlist{publisher}%
222
+ \setunit*{\addcomma\space}%
223
+ \printfield{note}%
224
+ \setunit*{\addcomma\space}%
225
+ \printfield{year}%
226
+ \setunit{\addcomma\space}%
227
+ \printlist{location}%
228
+ \setunit{\addcomma\space}%
229
+ \printfield{isbn}%
230
+ \setunit{\addcomma\space}%
231
+ \printfield{url}%
232
+ \newunit%
233
+ }
234
+ \par\vspace{0.3\baselineskip}
235
+ }
236
+
237
+
238
+ \DeclareBibliographyDriver{inproceedings}{%
239
+ \printfield{title}%
240
+ \newblock%
241
+ \printnames{author}%
242
+ \par%
243
+ \newblock%
244
+ {%
245
+ \footnotesize\addfontfeature{Color=lightgray}%
246
+ \printfield{booktitle}%
247
+ \setunit{\addcomma\space}%
248
+ \printfield{year}%
249
+ \setunit{\addcomma\space}%
250
+ \printlist{location}%
251
+ \newunit%
252
+ }
253
+ \par\vspace{0.3\baselineskip}
254
+ }
255
+
256
+ \DeclareBibliographyDriver{misc}{%
257
+ \printfield{title}%
258
+ \newblock%
259
+ \printnames{author}%
260
+ \par%
261
+ \newblock%
262
+ {%
263
+ \footnotesize\addfontfeature{Color=lightgray}\itshape%
264
+ \printfield{booktitle}%
265
+ \setunit*{\addcomma\space}%
266
+ \printfield{note}%
267
+ \setunit*{\addcomma\space}%
268
+ \printfield{year}%
269
+ \setunit{\addcomma\space}%
270
+ \printlist{location}%
271
+ \setunit*{\addcomma\space}%
272
+ \printfield{publisher}%
273
+ \setunit*{\addcomma\space}%
274
+ \printfield{issn}%
275
+ \setunit*{\addcomma\space}%
276
+ \printfield{url}%
277
+ \newunit%
278
+ }
279
+ \par\vspace{0.3\baselineskip}
280
+ }
281
+
282
+ \DeclareBibliographyDriver{report}{%
283
+ \printfield{title}%
284
+ \newblock%
285
+ \printnames{author}%
286
+ \par%
287
+ \newblock%
288
+ {%
289
+ \footnotesize\addfontfeature{Color=lightgray}\itshape%
290
+ \printfield{type}%
291
+ \setunit{\space}%
292
+ \printfield{number}%
293
+ \setunit{\addcomma\space}%
294
+ \printfield{year}%
295
+ \newunit%
296
+ }
297
+ \par\vspace{0.3\baselineskip}
298
+ }
299
+
300
+ \DeclareNameFormat{author}{%
301
+ \small\addfontfeature{Color=lightgray}%
302
+ \ifblank{#3}{}{#3\space}#1%
303
+ \ifthenelse{\value{listcount}<\value{liststop}}
304
+ {\addcomma\space}
305
+ {}%
306
+ }
307
+
308
+ \newcommand{\printbibsection}[2]{
309
+ \begin{refsection}
310
+ \nocite{*}
311
+ \printbibliography[sorting=chronological, type={#1}, title={#2}, heading=subbibliography]
312
+ \end{refsection}
313
+ }
314
+
315
+ \DeclareSortingScheme{chronological}{
316
+ \sort[direction=descending]{\field{year}}
317
+ \sort[direction=descending]{\field{month}}
318
+ }
319
+
320
+
321
+
322
+ %%%%%%%%%%%%%%%%
323
+ % Other tweaks %
324
+ %%%%%%%%%%%%%%%%
325
+
326
+ \RequirePackage[left=6.1cm,top=2cm,right=1.5cm,bottom=1.5cm,nohead,nofoot]{geometry}
327
+ \RequirePackage{hyperref}
@@ -0,0 +1,13 @@
1
+ mktextfm HelveticaNeueLTPro-UltLt
2
+ mktextfm HelveticaNeueLTPro-UltLt
3
+ mktextfm HelveticaNeueLTPro-UltLt
4
+ mktextfm HelveticaNeueLTPro-UltLt/BI
5
+ mktextfm HelveticaNeueLTPro-UltLt
6
+ mktextfm HelveticaNeueLTPro-UltLt/B
7
+ mktextfm HelveticaNeueLTPro-UltLt
8
+ mktextfm HelveticaNeueLTPro-UltLt/I
9
+ mktextfm HelveticaNeueLTPro-UltLt
10
+ mktextfm HelveticaNeueLTPro-UltLt
11
+ mktextfm HelveticaNeueLTPro-UltLt
12
+ mktextfm HelveticaNeueLTPro-UltLt
13
+ mktextfm HelveticaNeueLTPro-UltLt/BI
@@ -0,0 +1,6 @@
1
+ \def\firstname{Sascha}
2
+ \def\familyname{Manns}
3
+ \def\mystreet{Maifeldstraße 10}
4
+ \def\mycity{56727 Mayen}
5
+ \def\myphone{+49-2651-40~14~045}
6
+ \def\myemail{Sascha.Manns@directbox.com}
@@ -0,0 +1,42 @@
1
+ # rubocop:disable Style/FileName
2
+ # rubocop:disable Metrics/LineLength
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'lib', 'latex_curriculum_vitae/version.rb'))
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'latex_curriculum_vitae'
7
+ spec.version = LatexCurriculumVitae::Version::STRING
8
+ spec.authors = 'Sascha Manns'
9
+ spec.email = 'samannsml@directbox.com'
10
+
11
+ spec.summary = ['A program for creating an job application']
12
+ spec.description = 'It supports creating a application by rendering with LaTEX.'
13
+
14
+ spec.homepage = 'https://github.com/saigkill/latex_curriculum_vitae'
15
+ spec.license = 'GPL-3'
16
+ spec.metadata = { 'issue_tracker' => 'http://saigkill-bugs.myjetbrains.com/youtrack/issues' }
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ }
21
+ spec.bindir = 'bin'
22
+ spec.executables = spec.files.grep(%w(latexcv)) { |f|
23
+ File.basename(f)
24
+ }
25
+ spec.require_paths = ['lib']
26
+ spec.post_install_message = 'Please file bugreports and feature requests on: http://saigkill-bugs.myjetbrains.com/youtrack/issues'
27
+
28
+ spec.platform = Gem::Platform::RUBY
29
+ spec.date = ENV['from'] ? Date.parse(ENV['from']) : Date.today
30
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
31
+
32
+ spec.add_development_dependency 'bundler', '~> 1.9', '>= 1.9.6'
33
+ spec.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
34
+ spec.add_development_dependency 'gem-release', '~> 0.7', '>= 0.7.3'
35
+ spec.add_development_dependency 'indexer', '~> 0.3', '>= 0.3.1'
36
+ spec.add_development_dependency 'mast', '~> 1.4', '>= 1.4.0'
37
+ spec.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.6'
38
+
39
+ spec.add_runtime_dependency 'setup', '~> 5.2', '>= 5.2.0'
40
+ spec.add_runtime_dependency 'notifier', '~> 0.5', '>= 0.5.1'
41
+
42
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract CoverModule for latex_curriculum_vitae
5
+ #
6
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
7
+ # License: GPL-3
8
+
9
+ # Dependencies
10
+
11
+ # Cover module
12
+ module Cover
13
+ # Create cover method
14
+ def self.create_cover
15
+ system('pdflatex Cover.tex')
16
+ end
17
+ end
@@ -0,0 +1,26 @@
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
+
11
+ # Module for creating the CV
12
+ module CV
13
+ # Create Curriculum Vitae method
14
+ def self.create_cv
15
+ system('xelatex cv_10.tex')
16
+ puts 'First run of xelatex passed'
17
+ system('biber cv_10.bcf')
18
+ puts 'Run of biber passed'
19
+ system('xelatex cv_10.tex')
20
+ puts 'Second run of xelatex passed'
21
+ puts 'Shrinking PDF'
22
+ system('gs -o Bewerbungsunterlagen_Manns.pdf -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress cv_10.pdf')
23
+ puts 'All done'
24
+ system('cp Bewerbungsunterlagen_Manns.pdf ..')
25
+ end
26
+ end
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract CVEmail 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 creating the CV
12
+ module CVEmail
13
+ # Method for creating the email
14
+ def self.create_email(contact, emailaddress, jobtitle, contact_sex, proactive)
15
+ # Hex codes from http://www.obkb.com/dcljr/charstxt.html
16
+ space = '%20'
17
+ crlf = '%0D%0A'
18
+ ampersand = '%26'
19
+
20
+ if contact == ''
21
+ introduction = 'Sehr geehrte Damen und Herren,'
22
+ else
23
+ contact.gsub!(/ /, '%20')
24
+ if contact_sex == 'male'
25
+ introduction = "Sehr geehrter Herr #{contact},"
26
+ else
27
+ introduction = "Sehr geehrte Frau #{contact},"
28
+ end
29
+ end
30
+ introduction.gsub!(/ /, "#{space}")
31
+
32
+ jobtitle.gsub!('\&', "#{ampersand}")
33
+ jobtitle.gsub!(/ /, "#{space}")
34
+
35
+ if proactive == 'yes'
36
+ subject = "Initiativbewerbung um einen Arbeitsplatz als #{jobtitle}"
37
+ else
38
+ subject = "Bewerbung um einen Arbeitsplatz als #{jobtitle}"
39
+ end
40
+
41
+ subject.gsub!(/ /, "#{space}")
42
+
43
+ body = "#{introduction}" + "#{crlf}" + "#{crlf}" +
44
+ 'gerne möchte ich mich bei Ihnen für die obige Stelle bewerben.' + "#{crlf}" +
45
+ 'Ich kann auf einige Jahre im IT-Bereich zurückblicken und war' + "#{crlf}" +
46
+ 'hauptsächlich in den Bereichen Support und Geschäftsprozess- ' + "#{ampersand}" + "#{crlf}" +
47
+ 'Anwendungsdokumentation tätig, zuletzt im Bankbereich.' + "#{crlf}" + "#{crlf}" +
48
+ 'Auf die übliche übertriebene Selbstdarstellung verzichte ich an dieser' + "#{crlf}" +
49
+ 'Stelle, da dies nicht mein Stil ist und Sie tatsächlich ohne mich' + "#{crlf}" +
50
+ 'auskommen würden.' + "#{crlf}" + "#{crlf}" +
51
+ 'Dennoch freue ich mich auf eine Einladung zum Vorstellungsgespräch.' + "#{crlf}" + "#{crlf}" +
52
+ 'Meine Bewerbungsunterlagen sind der Mail als Anhang beigefügt.' + "#{crlf}"
53
+ body.gsub!(/ /, "#{space}")
54
+
55
+ home = Dir.home
56
+ prefix = "#{home}/.rvm/rubies/default"
57
+ datadir = "#{prefix}/share"
58
+ attachment = "#{datadir}/latex_curriculum_vitae/Bewerbungsunterlagen_Manns.pdf"
59
+
60
+ system("thunderbird mailto:#{emailaddress}?subject=#{subject}\\&body=#{body}\\&attach=#{attachment}")
61
+ end
62
+ end
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # @author Sascha Manns
4
+ # @abstract Entityfile Module for latex_curriculum_vitae
5
+ #
6
+ # Copyright (C) 2015 Sascha Manns <samannsml@directbox.com>
7
+ # License: GPL-3
8
+
9
+ # Dependencies
10
+ require 'fileutils'
11
+
12
+ # Module for creating the entityfile
13
+ module Entityfile
14
+ # Method for getting information
15
+ def self.get_information(entitytex)
16
+ resume = `yad --title="Create application" --center --on-top --form \
17
+ --item-separator=, --separator="|" \
18
+ --field="What is the jobtitle of your application? Escape amp with backslash:TEXT" \
19
+ --field="Is it a proactive application?:CBE" \
20
+ --field="What is the companies name? Escape amp with backslash:TEXT" \
21
+ --field="Is your contact male or female? leave blank if unknown contact:CBE" \
22
+ --field="If you have a contact so give me the name of him/her. leave blank if unknown contact:TEXT" \
23
+ --field="Tell me the email address for sending the application:TEXT" \
24
+ --button="Go!" "" "yes,no" "" "male,female,unknown"`
25
+ jobtitle, proactive, company, contact_sex, contact, emailaddress = resume.chomp.split('|')
26
+ [jobtitle, proactive, company, contact_sex, contact, emailaddress].each do |s|
27
+ puts s
28
+ end
29
+
30
+ street = ''
31
+ city = ''
32
+ puts 'before create'
33
+ create_file(jobtitle, company, street, city, contact, entitytex)
34
+ puts 'after create'
35
+ [contact, emailaddress, jobtitle, contact_sex, company, proactive]
36
+ end
37
+
38
+ # Method for getting information through a real gui
39
+ def self.get_information_gui(entitytex)
40
+ # TODO: Extend code for using the gtk GUI
41
+ require 'gtk2'
42
+ require 'libglade2'
43
+ @threads = []
44
+
45
+ Gtk.init
46
+
47
+ @glade = GladeXML.new('glade/latexcv.glade')
48
+ @glade.widget_names.each do |name|
49
+ instance_variable_set("@#{name}".intern, @glade[name])
50
+ end
51
+ end
52
+
53
+ # Method for creating the entity.tex
54
+ def self.create_file(jobtitle, company, street, city, contact, entitytex)
55
+ FileUtils.rm(entitytex) if File.exist?(entitytex)
56
+ FileUtils.touch(entitytex)
57
+ File.write "#{entitytex}", <<EOF
58
+ \\def\\jobtitle{#{jobtitle}}
59
+ \\def\\company{#{company}}
60
+ \\def\\contact{#{contact}}
61
+ \\def\\street{#{street}}
62
+ \\def\\city{#{city}}
63
+ EOF
64
+ end
65
+ end