From 2e255e28a490bc0fcaf5def77d7ea39fbb7726ab Mon Sep 17 00:00:00 2001 From: rodley82 Date: Mon, 4 Nov 2024 15:58:30 +1100 Subject: [PATCH] Final version with working cover letter --- app/admin/users_admin.rb | 11 --- app/assets/stylesheets/trestle/_theme.scss | 16 +++++ app/helpers/application_helper.rb | 5 ++ app/models/cover_letter.rb | 2 +- .../awesome/_colors_section.html.erb | 32 +++++++++ .../awesome/_personal_heading_section.erb | 29 ++++++++ .../templates/awesome/coverletter.html.erb | 69 +++---------------- app/views/templates/awesome/resume.html.erb | 46 +------------ lib/settings.rb | 23 +++++++ 9 files changed, 117 insertions(+), 116 deletions(-) create mode 100644 app/views/templates/awesome/_colors_section.html.erb create mode 100644 app/views/templates/awesome/_personal_heading_section.erb create mode 100644 lib/settings.rb diff --git a/app/admin/users_admin.rb b/app/admin/users_admin.rb index 6a8a0d6..4dc9d8e 100644 --- a/app/admin/users_admin.rb +++ b/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() diff --git a/app/assets/stylesheets/trestle/_theme.scss b/app/assets/stylesheets/trestle/_theme.scss index 2ced7eb..173d91a 100644 --- a/app/assets/stylesheets/trestle/_theme.scss +++ b/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; +} diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de6be79..dd63aa5 100644 --- a/app/helpers/application_helper.rb +++ b/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 diff --git a/app/models/cover_letter.rb b/app/models/cover_letter.rb index c1b0a3e..8791a4c 100644 --- a/app/models/cover_letter.rb +++ b/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 diff --git a/app/views/templates/awesome/_colors_section.html.erb b/app/views/templates/awesome/_colors_section.html.erb new file mode 100644 index 0000000..4f2f4b9 --- /dev/null +++ b/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} \ No newline at end of file diff --git a/app/views/templates/awesome/_personal_heading_section.erb b/app/views/templates/awesome/_personal_heading_section.erb new file mode 100644 index 0000000..45e13da --- /dev/null +++ b/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."} \ No newline at end of file diff --git a/app/views/templates/awesome/coverletter.html.erb b/app/views/templates/awesome/coverletter.html.erb index 053e6e5..2a6e0a2 100644 --- a/app/views/templates/awesome/coverletter.html.erb +++ b/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 %> - + \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 %> - + \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 %> - + \lettersection{Why Me?} + <%= @cover_letter.why_me.tex_safe %> <% end %> \end{cvletter} - %------------------------------------------------------------------------------- % Print the signature and enclosures with above letter information \makeletterclosing diff --git a/app/views/templates/awesome/resume.html.erb b/app/views/templates/awesome/resume.html.erb index f8aba17..65e8948 100644 --- a/app/views/templates/awesome/resume.html.erb +++ b/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 %> %------------------------------------------------------------------------------- diff --git a/lib/settings.rb b/lib/settings.rb new file mode 100644 index 0000000..0d640b6 --- /dev/null +++ b/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