Improving Short CV

pull/1/head
Oliver Kennedy 2017-10-24 18:24:55 -04:00
parent 53f4f84b6d
commit b851987eea
3 changed files with 56 additions and 17 deletions

View File

@ -17,3 +17,9 @@ $> open build/index.html
Details of the repository's organization and how to upload files are in Details of the repository's organization and how to upload files are in
[CONTRIBUTING.md](CONTRIBUTING.md). [CONTRIBUTING.md](CONTRIBUTING.md).
## Installing Rake & Dependencies
```
$> sudo gem install rake redcarpet prawn
```

View File

@ -170,18 +170,26 @@ file "okennedy_short.tex" => (["db/cv/okennedy.json", "lib/cv.rb", "Rakefile"]+D
title: "Recent Activities", title: "Recent Activities",
since: { since: {
education: 2008, education: 2008,
reviewer: 2015, reviewer: 2017,
general_service: 2015, general_service: 2017,
volunteering: 2015, volunteering: 2012,
talks: 2015, talks: 2017,
courses: 2015, courses: 2014,
publications: 2014 publications: 2017,
}, },
skip: [ skip: [
:contact,
:employment, :employment,
:memberships, :memberships,
:dept_service, # :dept_service,
:tech_reports :tech_reports,
:general_service,
:reviewer,
# :publications,
:artifacts,
],
abbreviate: [
:grants
] ]
) )
end end

View File

@ -40,6 +40,7 @@ class CV < Latex::Builder
@since = Hash.new { |h,k| if h.has_key? :rest then h[:rest] else 0 end } @since = Hash.new { |h,k| if h.has_key? :rest then h[:rest] else 0 end }
options[:since].each { |k, v| @since[k] = v } if options.has_key?(:since) options[:since].each { |k, v| @since[k] = v } if options.has_key?(:since)
@skip = options.fetch(:skip, []) @skip = options.fetch(:skip, [])
@abbreviate = options.fetch(:abbreviate, [])
gen gen
end end
@ -73,8 +74,10 @@ class CV < Latex::Builder
render_header render_header
vspace "0.15in" vspace "0.15in"
unless skip?(:contact)
render_contact_details render_contact_details
vspace! "-0.1in" vspace! "-0.1in"
end
render_education unless skip?(:education) render_education unless skip?(:education)
render_employment_history unless skip?(:employment) render_employment_history unless skip?(:employment)
@ -84,7 +87,8 @@ class CV < Latex::Builder
render_invited_talks unless skip?(:invited_talks) render_invited_talks unless skip?(:invited_talks)
render_courses_taught unless skip?(:courses) render_courses_taught unless skip?(:courses)
render_grant_support unless skip?(:grants) render_grant_support unless skip?(:grants)
render_pubs_and_artifacts unless skip?(:pubs) render_short_grant_support if @abbreviate.include? :grants
render_pubs_and_artifacts unless skip?(:publications)
end end
end end
@ -100,7 +104,13 @@ class CV < Latex::Builder
end end
def skip?(category) def skip?(category)
@skip.include? category @skip.include? category or @abbreviate.include? category
end
def since_title_subscript(category)
if @since.has_key? category
" (since #{@since[category]})"
else "" end
end end
@ -254,7 +264,7 @@ class CV < Latex::Builder
############### INVITED TALKS ################ ############### INVITED TALKS ################
def render_invited_talks def render_invited_talks
make_section("Invited Talks") make_section("Invited Talks"+since_title_subscript(:talks))
build_filtered_itemize(:talks, @data["talks"], "noitemsep,leftmargin=5mm,label=--") do |r| build_filtered_itemize(:talks, @data["talks"], "noitemsep,leftmargin=5mm,label=--") do |r|
textit { puts r["venue"] } textit { puts r["venue"] }
wrap { wrap {
@ -271,7 +281,7 @@ class CV < Latex::Builder
############### COURSES ################ ############### COURSES ################
def render_courses_taught def render_courses_taught
make_section("Courses") make_section("Courses Taught"+since_title_subscript(:courses))
courses = @data["courses"] courses = @data["courses"]
@ -307,7 +317,7 @@ class CV < Latex::Builder
############### GRANT SUPPORT ################ ############### GRANT SUPPORT ################
def render_grant_support(args = {}) def render_grant_support(args = {})
make_section("Grant Support") make_section("Grant Support"+since_title_subscript(:grants))
test_for_since = proc { |r| duration_is_since?(r, @since[:grants]) } test_for_since = proc { |r| duration_is_since?(r, @since[:grants]) }
@ -445,6 +455,21 @@ class CV < Latex::Builder
end # grant_categories.each end # grant_categories.each
end end
def render_short_grant_support
make_section("Grant Support"+since_title_subscript(:grants))
test_for_since = proc { |r| duration_is_since?(r, @since[:grants]) }
grants = @data["grants"].select { |r|
r["status"] == "accepted" and test_for_since.call(r)
}
build_itemize(grants, "noitemsep,leftmargin=5mm,label=--") do |r|
copis = r.fetch("copis", [])
copi_string = if copis.empty? then "" else "; with "+copis.oxford_comma end
puts "#{r["title"]} (#{format_money r["amount"]} from #{r["agency"].split(/:/)[0]}#{copi_string})"
end
end
############### PUBLICATIONS AND ARTEFACTS ################ ############### PUBLICATIONS AND ARTEFACTS ################
@ -556,7 +581,7 @@ class CV < Latex::Builder
all_my_pubs = LabMetadata.publications_for(@who) all_my_pubs = LabMetadata.publications_for(@who)
make_section("Publications and Artifacts") make_section("Publications and Artifacts"+since_title_subscript(:publications))
# block("center") do # block("center") do
# puts "(Author lists marked with a * are not correlated with level of contribution)" # puts "(Author lists marked with a * are not correlated with level of contribution)"