diff options
| author | Xe Iaso <me@christine.website> | 2022-11-25 19:01:10 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-25 19:01:10 -0500 |
| commit | cc933b31fd23bb06e95bf41f848a1c99353d44ae (patch) | |
| tree | af8288dbd4db2ad886d6b326bffb1c9d5b568de3 /dhall/latex | |
| parent | 551e0384c923ff3ee98cfddf7e3eb42c6dbb2941 (diff) | |
| download | xesite-cc933b31fd23bb06e95bf41f848a1c99353d44ae.tar.xz xesite-cc933b31fd23bb06e95bf41f848a1c99353d44ae.zip | |
Start version 3 (#573)
* Start version 3
* Change version to 3.0.0 in Cargo.toml
* Add metadata for series
* Change types for signal boosts
* Add start of LaTeX resume generation at Nix time
* Add start of proper author tagging for posts in JSONFeed and ldjson
* Convert templates to use Maud
* Add start of dynamic resume generation from dhall
* Make patrons page embed thumbnails
TODO:
* [ ] Remove the rest of the old templates
* [ ] Bring in Xeact for the share on mastodon button
* [ ] Site update post
Signed-off-by: Xe <me@christine.website>
* fix nix builds
Signed-off-by: Xe Iaso <me@christine.website>
* fix dhall build
Signed-off-by: Xe Iaso <me@christine.website>
* fix non-flakes build
Signed-off-by: Xe Iaso <me@christine.website>
* make new mastodon share button
Signed-off-by: Xe Iaso <me@christine.website>
* remove the rest of the ructe templates that I can remove
Signed-off-by: Xe Iaso <me@christine.website>
* refactor blogposts to its own file
Signed-off-by: Xe Iaso <me@christine.website>
* move resume to be generated by nix
Signed-off-by: Xe Iaso <me@christine.website>
* write article
Signed-off-by: Xe Iaso <me@christine.website>
* blog/site-update-v3: hero image
Signed-off-by: Xe Iaso <me@christine.website>
* add site update series tag to site updates
Signed-off-by: Xe Iaso <me@christine.website>
Signed-off-by: Xe <me@christine.website>
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'dhall/latex')
| -rw-r--r-- | dhall/latex/.gitignore | 5 | ||||
| -rw-r--r-- | dhall/latex/resume.cls | 131 | ||||
| -rw-r--r-- | dhall/latex/resume.dhall | 110 |
3 files changed, 246 insertions, 0 deletions
diff --git a/dhall/latex/.gitignore b/dhall/latex/.gitignore new file mode 100644 index 0000000..19b9311 --- /dev/null +++ b/dhall/latex/.gitignore @@ -0,0 +1,5 @@ +resume.tex +resume.pdf +resume.aux +resume.out +resume.log diff --git a/dhall/latex/resume.cls b/dhall/latex/resume.cls new file mode 100644 index 0000000..e7c4dcd --- /dev/null +++ b/dhall/latex/resume.cls @@ -0,0 +1,131 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Medium Length Professional CV - RESUME CLASS FILE +% +% This template has been downloaded from: +% http://www.LaTeXTemplates.com +% +% This class file defines the structure and design of the template. +% +% Original header: +% Copyright (C) 2010 by Trey Hunner +% +% Copying and distribution of this file, with or without modification, +% are permitted in any medium without royalty provided the copyright +% notice and this notice are preserved. This file is offered as-is, +% without any warranty. +% +% Created by Trey Hunner and modified by www.LaTeXTemplates.com +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ProvidesClass{resume}[2010/07/10 v0.9 Resume class] + +\LoadClass[11pt,letterpaper]{article} % Font size and paper type + +\usepackage[parfill]{parskip} % Remove paragraph indentation +\usepackage{array} % Required for boldface (\bf and \bfseries) tabular columns +\usepackage{ifthen} % Required for ifthenelse statements + +\pagestyle{empty} % Suppress page numbers + +%---------------------------------------------------------------------------------------- +% HEADINGS COMMANDS: Commands for printing name and address +%---------------------------------------------------------------------------------------- + +\def \name#1{\def\@name{#1}} % Defines the \name command to set name +\def \@name {} % Sets \@name to empty by default + +\def \addressSep {$\diamond$} % Set default address separator to a diamond + +% One, two or three address lines can be specified +\let \@addressone \relax +\let \@addresstwo \relax +\let \@addressthree \relax + +% \address command can be used to set the first, second, and third address (last 2 optional) +\def \address #1{ + \@ifundefined{@addresstwo}{ + \def \@addresstwo {#1} + }{ + \@ifundefined{@addressthree}{ + \def \@addressthree {#1} + }{ + \def \@addressone {#1} + }} +} + +% \printaddress is used to style an address line (given as input) +\def \printaddress #1{ + \begingroup + \def \\ {\addressSep\ } + \centerline{#1} + \endgroup + \par + \addressskip +} + +% \printname is used to print the name as a page header +\def \printname { + \begingroup + \hfil{\MakeUppercase{\namesize\bf \@name}}\hfil + \nameskip\break + \endgroup +} + +%---------------------------------------------------------------------------------------- +% PRINT THE HEADING LINES +%---------------------------------------------------------------------------------------- + +\let\ori@document=\document +\renewcommand{\document}{ + \ori@document % Begin document + \printname % Print the name specified with \name + \@ifundefined{@addressone}{}{ % Print the first address if specified + \printaddress{\@addressone}} + \@ifundefined{@addresstwo}{}{ % Print the second address if specified + \printaddress{\@addresstwo}} + \@ifundefined{@addressthree}{}{ % Print the third address if specified + \printaddress{\@addressthree}} +} + +%---------------------------------------------------------------------------------------- +% SECTION FORMATTING +%---------------------------------------------------------------------------------------- + +% Defines the rSection environment for the large sections within the CV +\newenvironment{rSection}[1]{ % 1 input argument - section name + \sectionskip + \MakeUppercase{\bf #1} % Section title + \sectionlineskip + \hrule % Horizontal line + \begin{list}{}{ % List for each individual item in the section + \setlength{\leftmargin}{1.5em} % Margin within the section + } + \item[] +}{ + \end{list} +} + +%---------------------------------------------------------------------------------------- +% WORK EXPERIENCE FORMATTING +%---------------------------------------------------------------------------------------- + +\newenvironment{rSubsection}[4]{ % 4 input arguments - company name, year(s) employed, job title and location + {\bf #1} \hfill {#2} % Bold company name and date on the right + \ifthenelse{\equal{#3}{}}{}{ % If the third argument is not specified, don't print the job title and location line + \\ + {\em #3} \hfill {\em #4} % Italic job title and location + }\smallskip + \begin{list}{$\cdot$}{\leftmargin=0em} % \cdot used for bullets, no indentation + \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics + }{ + \end{list} + \vspace{0.5em} % Some space after the list of bullet points +} + +% The below commands define the whitespace after certain things in the document - they can be \smallskip, \medskip or \bigskip +\def\namesize{\huge} % Size of the name at the top of the document +\def\addressskip{\smallskip} % The space between the two address (or phone/email) lines +\def\sectionlineskip{\medskip} % The space above the horizontal line for each section +\def\nameskip{\bigskip} % The space after your name at the top +\def\sectionskip{\medskip} % The space after the heading section diff --git a/dhall/latex/resume.dhall b/dhall/latex/resume.dhall new file mode 100644 index 0000000..e9318f6 --- /dev/null +++ b/dhall/latex/resume.dhall @@ -0,0 +1,110 @@ +let xesite = ../types/package.dhall + +let Link = xesite.Link + +let Location = xesite.Location + +let Job = xesite.Job + +let Prelude = ../Prelude.dhall + +let xe = ../authors/xe.dhall + +let resume = ../resume.dhall + +let buzzwords = + let doer = \(item : Text) -> item + + in Prelude.Text.concatMapSep ", " Text doer resume.buzzwords + +let jobHistory = + let showDate = + \(job : Job.Type) -> + let endDate = + merge + { Some = \(t : Text) -> t, None = "current" } + job.endDate + + in "${job.startDate} - ${endDate}" + + let showLoc = + \(l : Location.Type) -> + "${l.city}, ${l.stateOrProvince}, ${l.country}" + + let workedLocs = + \(j : Job.Type) -> + let doer = + \(l : Location.Type) -> "\\item Work location: ${showLoc l}" + + in Prelude.Text.concatMapSep "\n" Location.Type doer j.locations + + let highlights = + \(j : Job.Type) -> + let doer = \(t : Text) -> "\\item ${t}" + + in Prelude.Text.concatMapSep "\n" Text doer j.highlights + + let doer = + \(job : Job.Type) -> + '' + \begin{rSubsection}{${job.company.name}}{${showDate + job}}{${job.title}}{${showLoc + job.company.location}} + + ${workedLocs job} + ${highlights job} + + \end{rSubsection} + '' + + in Prelude.Text.concatMapSep "\n" Job.Type doer resume.jobs + +let publications = + let doer = + \(link : Link.Type) -> + '' + \begin{rSubsection}{\href{${link.url}}{${link.title}}}{}{}{} + + \item ${link.description} + + \end{rSubsection} + '' + + in Prelude.Text.concatMapSep + "\n" + Link.Type + doer + resume.notablePublications + +in '' + \documentclass{resume} + + \usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=0.6in]{geometry} % Document margins + \usepackage{hyperref} + \newcommand{\tab}[1]{\hspace{.2667\textwidth}\rlap{#1}} + \newcommand{\itab}[1]{\hspace{0em}\rlap{#1}} + \name{${xe.name}} + \address{https://xeiaso.net \\ me@xeiaso.net} + + \begin{document} + + \begin{rSection}{Technical Strengths} + + ${buzzwords} + + \end{rSection} + + \begin{rSection}{Experience} + + ${jobHistory} + + \end{rSection} + + \begin{rSection}{Notable Publications} + + ${publications} + + \end{rSection} + + \end{document} + '' |
