Browse Source

Final version with working cover letter

pull/1/head
rodley82 1 year ago
parent
commit
2e255e28a4
  1. 11
      app/admin/users_admin.rb
  2. 16
      app/assets/stylesheets/trestle/_theme.scss
  3. 5
      app/helpers/application_helper.rb
  4. 2
      app/models/cover_letter.rb
  5. 32
      app/views/templates/awesome/_colors_section.html.erb
  6. 29
      app/views/templates/awesome/_personal_heading_section.erb
  7. 57
      app/views/templates/awesome/coverletter.html.erb
  8. 46
      app/views/templates/awesome/resume.html.erb
  9. 23
      lib/settings.rb

11
app/admin/users_admin.rb

@ -42,17 +42,6 @@ Trestle.resource(:users) do
render file: "#{destination_dir}/resume.tex", layout: false
end
def generate_cover
tex_content = generate_tex(template: "cover")
destination_dir = "#{Rails.root}/app/views/templates/awesome"
`cd #{destination_dir} && make clean`
File.open("#{destination_dir}/cover.tex", "w") do |f|
f << tex_content
end
`cd #{destination_dir} && make cover.pdf`
render file: "#{destination_dir}/cover.pdf", layout: false
end
def generate_tex(template: "resume")
user = admin.find_instance(params)
ac = ActionController::Base.new()

16
app/assets/stylesheets/trestle/_theme.scss

@ -11,3 +11,19 @@
// "primary": #337ab7,
// "secondary": #719dc3
// );
textarea#work_experience_items_csv {
height: 400px !important;
}
textarea#cover_letter_about_me {
height: 400px !important;
}
textarea#cover_letter_why_me {
height: 400px !important;
}
textarea#cover_letter_why_company {
height: 400px !important;
}

5
app/helpers/application_helper.rb

@ -1,2 +1,7 @@
module ApplicationHelper
def color_scheme
#% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
#% awesome-nephritis, awesome-concrete, awesome-darknight
"awesome-orange"
end
end

2
app/models/cover_letter.rb

@ -4,7 +4,7 @@ class CoverLetter < ApplicationRecord
default_scope -> { order(order: :asc) }
scope :active, -> { where.not(order: nil) }
def tex_paragraph
def tex_intro_paragraph
csv_paragraphs.split(";").join("\n").tex_safe
end

32
app/views/templates/awesome/_colors_section.html.erb

@ -0,0 +1,32 @@
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{awesome}{<%= Settings.color_scheme %>}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
% Color for highlights (defaults to red)
% \definecolor{awesome}{HTML}{<%= Settings.darktext_html_color %>}
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{<%= Settings.darktext_html_color %>}
% DARK TEXT THAT GOES WITH THE HIGTLIGHT COLOR
% \definecolor{text}{HTML}{<%= Settings.darktext_html_color %>}
% REGULAR TEXT THAT IS GRAY
\definecolor{graytext}{HTML}{<%= Settings.regular_text_html_color %>}
\definecolor{lighttext}{HTML}{040720}
% Divider color
\definecolor{sectiondivider}{HTML}{<%= Settings.divider_html_color %>}
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% \definecolor{sectiondivider}{HTML}{5D5D5D}

29
app/views/templates/awesome/_personal_heading_section.erb

@ -0,0 +1,29 @@
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
% Available options: circle|rectangle,edge/noedge,left/right
\name{<%= user.name.tex_safe %>}{}
\position{<%= user.title.tex_safe %>}
\address{<%= user.address.tex_safe %>}
\mobile{<%= user.phone.tex_safe %>}
\email{<%= user.email.tex_safe %>}
%\dateofbirth{January 1st, 1970}
\homepage{<%= user.other_page_url.tex_safe %>}
\github{<%= user.github.tex_safe %>}
\linkedin{<%= user.linkedin.tex_safe %>}
% \gitlab{gitlab-id}
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \medium{madium-id}
% \kaggle{kaggle-id}
% \googlescholar{googlescholar-id}{name-to-display}
%% \firstname and \lastname will be used
% \googlescholar{googlescholar-id}{}
% \extrainfo{extra information}
% \quote{``Be the change that you want to see in the world."}

57
app/views/templates/awesome/coverletter.html.erb

@ -25,20 +25,7 @@
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{awesome}{awesome-red}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% \definecolor{sectiondivider}{HTML}{5D5D5D}
<%= render 'templates/awesome/colors_section' %>
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
@ -46,36 +33,7 @@
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
% Available options: circle|rectangle,edge/noedge,left/right
\name{<%= user.name.tex_safe %>}{}
\position{<%= user.title.tex_safe %>}
\address{<%= user.address.tex_safe %>}
\mobile{<%= user.phone.tex_safe %>}
\email{<%= user.email.tex_safe %>}
%\dateofbirth{January 1st, 1970}
\homepage{<%= user.other_page_url.tex_safe %>}
\github{<%= user.github.tex_safe %>}
\linkedin{<%= user.linkedin.tex_safe %>}
% \gitlab{gitlab-id}
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \medium{madium-id}
% \kaggle{kaggle-id}
% \googlescholar{googlescholar-id}{name-to-display}
%% \firstname and \lastname will be used
% \googlescholar{googlescholar-id}{}
% \extrainfo{extra information}
% \quote{``Be the change that you want to see in the world."}
<%= render 'templates/awesome/personal_heading_section', user: user %>
%-------------------------------------------------------------------------------
% LETTER INFORMATION
@ -118,36 +76,27 @@
%-------------------------------------------------------------------------------
\begin{cvletter}
<%= @cover_letter.tex_paragraph %>
<%= @cover_letter.tex_intro_paragraph %>
<% if @cover_letter.about_me.present? %>
\lettersection{About Me}
<%= @cover_letter.about_me.tex_safe %>
<% end %>
%------------------------------------------------
<% if @cover_letter.why_company.present? %>
\lettersection{Why <%= @cover_letter.company_name.tex_safe %> ?}
<%= @cover_letter.why_company.tex_safe %>
<% end %>
%------------------------------------------------
<% if @cover_letter.why_me.present? %>
\lettersection{Why Me?}
<%= @cover_letter.why_me.tex_safe %>
<% end %>
\end{cvletter}
%-------------------------------------------------------------------------------
% Print the signature and enclosures with above letter information
\makeletterclosing

46
app/views/templates/awesome/resume.html.erb

@ -34,20 +34,7 @@
% Configure page margins with geometry
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.8cm, footskip=.5cm}
% Color for highlights
% Awesome Colors: awesome-emerald, awesome-skyblue, awesome-red, awesome-pink, awesome-orange
% awesome-nephritis, awesome-concrete, awesome-darknight
\colorlet{awesome}{awesome-red}
% Uncomment if you would like to specify your own color
% \definecolor{awesome}{HTML}{CA63A8}
% Colors for text
% Uncomment if you would like to specify your own color
% \definecolor{darktext}{HTML}{414141}
% \definecolor{text}{HTML}{333333}
% \definecolor{graytext}{HTML}{5D5D5D}
% \definecolor{lighttext}{HTML}{999999}
% \definecolor{sectiondivider}{HTML}{5D5D5D}
<%= render 'templates/awesome/colors_section' %>
% Set false if you don't want to highlight section with awesome color
\setbool{acvSectionColorHighlight}{true}
@ -55,36 +42,7 @@
% If you would like to change the social information separator from a pipe (|) to something else
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
% Available options: circle|rectangle,edge/noedge,left/right
% \photo[rectangle,edge,right]{./examples/profile}
\name{<%= @user.name.tex_safe %>}{}
\position{<%= @user.title.tex_safe %>}
\address{<%= @user.address.tex_safe %>}
\mobile{<%= @user.phone.tex_safe %>}
\email{<%= @user.email.tex_safe %>}
%\dateofbirth{January 1st, 1970}
\homepage{<%= @user.other_page_url.tex_safe %>}
\github{<%= @user.github.tex_safe %>}
\linkedin{<%= @user.linkedin.tex_safe %>}
% \gitlab{gitlab-id}
% \stackoverflow{SO-id}{SO-name}
% \twitter{@twit}
% \skype{skype-id}
% \reddit{reddit-id}
% \medium{madium-id}
% \kaggle{kaggle-id}
% \googlescholar{googlescholar-id}{name-to-display}
%% \firstname and \lastname will be used
% \googlescholar{googlescholar-id}{}
% \extrainfo{extra information}
% \quote{``Be the change that you want to see in the world."}
<%= render 'templates/awesome/personal_heading_section', user: @user %>
%-------------------------------------------------------------------------------

23
lib/settings.rb

@ -0,0 +1,23 @@
class Settings
class << self
def color_scheme
"awesome-orange"
end
def darktext_html_color
"ff2400"
end
def test_color
"ff0000"
end
def regular_text_html_color
"0C090A"
end
def divider_html_color
"B6B6B6"
end
end
end
Loading…
Cancel
Save