Enhance personal information handling in LaTeX build script and templates. Added support for conditional building of public and private versions based on the presence of a .secrets file. Improved formatting in cv.tex and resume.tex for better layout of personal information. Updated GitHub Actions workflow to cache TeX Live and streamline PDF generation process.

This commit is contained in:
2024-12-10 15:50:44 -05:00
parent 41df83b3ba
commit a7124f6c05
5 changed files with 162 additions and 67 deletions

View File

@@ -16,24 +16,36 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Cache TeX Live
uses: actions/cache@v3
with:
path: /tmp/texlive
key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }}
restore-keys: |
texlive-${{ runner.os }}-
- name: Set up TeX Live
uses: xu-cheng/latex-action@v3
with:
root_file: |
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Create public info file
run: |
cat > personal_info.tex << EOL
% Public version of personal information
\newcommand{\personalName}{Sean O'Connor}
\newcommand{\personalEmail}{Contact for details}
\newcommand{\personalPhone}{}
\newcommand{\personalWebsite}{soconnor.dev}
\newcommand{\personalSchoolEmail}{}
\newcommand{\personalHomeAddress}{}
\newcommand{\personalSchoolAddress}{}
\\newcommand{\\personalName}{Sean O'Connor}
\\newcommand{\\personalEmail}{sean@soconnor.dev}
\\newcommand{\\personalPhone}{}
\\newcommand{\\personalWebsite}{soconnor.dev}
\\newcommand{\\personalSchoolEmail}{sso005@bucknell.edu}
\\newcommand{\\personalHomeAddressLineOne}{}
\\newcommand{\\personalHomeAddressLineTwo}{}
\\newcommand{\\personalSchoolAddressLineOne}{}
\\newcommand{\\personalSchoolAddressLineTwo}{}
\\newcommand{\\personalSchoolAddressLineThree}{}
EOL
- name: Upload Public PDFs as Release
@@ -56,30 +68,45 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Cache TeX Live
uses: actions/cache@v3
with:
path: /tmp/texlive
key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }}
restore-keys: |
texlive-${{ runner.os }}-
- name: Set up TeX Live
uses: xu-cheng/latex-action@v3
with:
root_file: |
resume.tex
cv.tex
latexmk_use_xelatex: false
- name: Create private info file
env:
PERSONAL_EMAIL: ${{ secrets.PERSONAL_EMAIL }}
PERSONAL_PHONE: ${{ secrets.PERSONAL_PHONE }}
PERSONAL_SCHOOL_EMAIL: ${{ secrets.PERSONAL_SCHOOL_EMAIL }}
PERSONAL_HOME_ADDRESS: ${{ secrets.PERSONAL_HOME_ADDRESS }}
PERSONAL_SCHOOL_ADDRESS: ${{ secrets.PERSONAL_SCHOOL_ADDRESS }}
PERSONAL_HOME_ADDRESS_LINE1: ${{ secrets.PERSONAL_HOME_ADDRESS_LINE1 }}
PERSONAL_HOME_ADDRESS_LINE2: ${{ secrets.PERSONAL_HOME_ADDRESS_LINE2 }}
PERSONAL_SCHOOL_ADDRESS_LINE1: ${{ secrets.PERSONAL_SCHOOL_ADDRESS_LINE1 }}
PERSONAL_SCHOOL_ADDRESS_LINE2: ${{ secrets.PERSONAL_SCHOOL_ADDRESS_LINE2 }}
PERSONAL_SCHOOL_ADDRESS_LINE3: ${{ secrets.PERSONAL_SCHOOL_ADDRESS_LINE3 }}
run: |
cat > personal_info.tex << 'EOL'
% Private version of personal information
\newcommand{\personalName}{Sean O'Connor}
\newcommand{\personalEmail}{$PERSONAL_EMAIL}
\newcommand{\personalPhone}{$PERSONAL_PHONE}
\newcommand{\personalWebsite}{soconnor.dev}
\newcommand{\personalSchoolEmail}{$PERSONAL_SCHOOL_EMAIL}
\newcommand{\personalHomeAddress}{$PERSONAL_HOME_ADDRESS}
\newcommand{\personalSchoolAddress}{$PERSONAL_SCHOOL_ADDRESS}
\\newcommand{\\personalName}{Sean O'Connor}
\\newcommand{\\personalEmail}{sean@soconnor.dev}
\\newcommand{\\personalPhone}{${PERSONAL_PHONE}}
\\newcommand{\\personalWebsite}{soconnor.dev}
\\newcommand{\\personalSchoolEmail}{sso005@bucknell.edu}
\\newcommand{\\personalHomeAddressLineOne}{${PERSONAL_HOME_ADDRESS_LINE1}}
\\newcommand{\\personalHomeAddressLineTwo}{${PERSONAL_HOME_ADDRESS_LINE2}}
\\newcommand{\\personalSchoolAddressLineOne}{${PERSONAL_SCHOOL_ADDRESS_LINE1}}
\\newcommand{\\personalSchoolAddressLineTwo}{${PERSONAL_SCHOOL_ADDRESS_LINE2}}
\\newcommand{\\personalSchoolAddressLineThree}{${PERSONAL_SCHOOL_ADDRESS_LINE3}}
EOL
envsubst < personal_info.tex > personal_info.tex.tmp
mv personal_info.tex.tmp personal_info.tex