Compare commits
4 Commits
alice-hust
...
e214c40d4d
| Author | SHA1 | Date | |
|---|---|---|---|
| e214c40d4d | |||
| 213aa63aa1 | |||
| e38ed451df | |||
| e6c33a2eab |
@@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
if [[ ! -d "/home/alice/.gitprojects/resumes" ]]; then
|
|
||||||
echo "Cannot find source directory; Did you move it?"
|
|
||||||
echo "(Looking for "/home/alice/.gitprojects/resumes")"
|
|
||||||
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# rebuild the cache forcefully
|
|
||||||
_nix_direnv_force_reload=1 direnv exec "/home/alice/.gitprojects/resumes" true
|
|
||||||
|
|
||||||
# Update the mtime for .envrc.
|
|
||||||
# This will cause direnv to reload again - but without re-building.
|
|
||||||
touch "/home/alice/.gitprojects/resumes/.envrc"
|
|
||||||
|
|
||||||
# Also update the timestamp of whatever profile_rc we have.
|
|
||||||
# This makes sure that we know we are up to date.
|
|
||||||
touch -r "/home/alice/.gitprojects/resumes/.envrc" "/home/alice/.gitprojects/resumes/.direnv"/*.rc
|
|
||||||
14
.github/copilot-instructions.md
vendored
14
.github/copilot-instructions.md
vendored
@@ -1,28 +1,30 @@
|
|||||||
# Project Guidelines
|
# Project Guidelines
|
||||||
|
|
||||||
## Code Style
|
## Code Style
|
||||||
- Primary source is `main.tex`; keep edits focused there unless build config changes are required.
|
- Primary source is `resume.tex`; keep edits focused there unless build config changes are required.
|
||||||
- Follow existing LaTeX macro style: reusable `\newcommand` helpers for resume blocks (e.g., `\resumeSubheading`, `\resumeEducation`, `\resumeItem`).
|
- Follow existing LaTeX macro style: reusable `\newcommand` helpers for resume blocks (e.g., `\resumeSubheading`, `\resumeEducation`, `\resumeItem`).
|
||||||
- Preserve compact spacing/layout conventions (`\vspace`, custom `\titleformat`, `tabular*` alignment) unless asked to redesign formatting.
|
- Preserve compact spacing/layout conventions (`\vspace`, custom `\titleformat`, `tabular*` alignment) unless asked to redesign formatting.
|
||||||
- Keep package usage consistent with current preamble and avoid adding new packages unless required for a user request.
|
- Keep package usage consistent with current preamble and avoid adding new packages unless required for a user request.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
- This workspace is a single-document resume project.
|
- This workspace is a single-document resume project.
|
||||||
- `main.tex` contains both template macros and resume content.
|
- `resume.tex` contains both template macros and resume content.
|
||||||
- Files like `main.aux`, `main.fdb_latexmk`, and `main.fls` are generated build artifacts, not source-of-truth.
|
- Files like `resume.aux`, `resume.fdb_latexmk`, and `resume.fls` are generated build artifacts, not source-of-truth.
|
||||||
- `glyphtounicode` is included for text extractability/ATS friendliness via `\pdfgentounicode=1`.
|
- `glyphtounicode` is included for text extractability/ATS friendliness via `\pdfgentounicode=1`.
|
||||||
|
|
||||||
## Build and Test
|
## Build and Test
|
||||||
- Build PDF (preferred): `latexmk -pdf main.tex`
|
- Preferred reproducible build: `nix build .#default` (outputs `result/Alice_Huston_Resume_Software_Engineer.pdf`)
|
||||||
- Alternative build: `pdflatex main.tex` (run multiple times if references/layout need settling)
|
- Local TeX build: `latexmk -pdf resume.tex`
|
||||||
|
- Alternative build: `pdflatex resume.tex` (run multiple times if references/layout need settling)
|
||||||
- Clean artifacts: `latexmk -c`
|
- Clean artifacts: `latexmk -c`
|
||||||
- Validate by checking successful compile and reviewing resulting `main.pdf` for layout overflow/line wrapping regressions.
|
- Validate by checking successful compile and reviewing resulting `resume.pdf` for layout overflow/line wrapping regressions.
|
||||||
|
|
||||||
## Project Conventions
|
## Project Conventions
|
||||||
- Use existing macros instead of ad-hoc formatting in section bodies.
|
- Use existing macros instead of ad-hoc formatting in section bodies.
|
||||||
- Keep section/list structure aligned with current pattern: `\resumeSubHeadingListStart` / `\resumeSubHeadingListEnd` and `\resumeItemListStart` / `\resumeItemListEnd`.
|
- Keep section/list structure aligned with current pattern: `\resumeSubHeadingListStart` / `\resumeSubHeadingListEnd` and `\resumeItemListStart` / `\resumeItemListEnd`.
|
||||||
- Keep content concise and achievement-oriented; avoid large prose blocks that break one-page layout assumptions.
|
- Keep content concise and achievement-oriented; avoid large prose blocks that break one-page layout assumptions.
|
||||||
- Do not manually edit generated files (`*.aux`, `*.fdb_latexmk`, `*.fls`, etc.); `.gitignore` already treats these as build outputs.
|
- Do not manually edit generated files (`*.aux`, `*.fdb_latexmk`, `*.fls`, etc.); `.gitignore` already treats these as build outputs.
|
||||||
|
- Prefer linking to existing guidance instead of duplicating it: see `.github/prompts/resume-review.prompt.md` for the structured review workflow.
|
||||||
|
|
||||||
## Integration Points
|
## Integration Points
|
||||||
- External links are rendered with `hyperref` (`hidelinks`) and should stay valid/HTTPS.
|
- External links are rendered with `hyperref` (`hidelinks`) and should stay valid/HTTPS.
|
||||||
|
|||||||
10
.github/prompts/resume-review.prompt.md
vendored
10
.github/prompts/resume-review.prompt.md
vendored
@@ -12,14 +12,14 @@ Review the candidate's resume by following the steps below in order.
|
|||||||
|
|
||||||
### Step 1 — Read the LaTeX source
|
### Step 1 — Read the LaTeX source
|
||||||
|
|
||||||
Read [main.tex](../main.tex) to understand the full content and structure of the resume: sections, roles, dates, technologies, bullet text, projects, certifications, and any formatting macros.
|
Read [resume.tex](../../resume.tex) to understand the full content and structure of the resume: sections, roles, dates, technologies, bullet text, projects, certifications, and any formatting macros.
|
||||||
|
|
||||||
### Step 2 — Build the PDF
|
### Step 2 — Build the PDF
|
||||||
|
|
||||||
Run the following command in the terminal to compile the resume:
|
Run the following command in the terminal to compile the resume:
|
||||||
|
|
||||||
```
|
```
|
||||||
latexmk -pdf main.tex
|
latexmk -pdf resume.tex
|
||||||
```
|
```
|
||||||
|
|
||||||
If the build produces errors, include them as a finding under **Formatting & Layout** (e.g., "Compile error on line X — fix before submission"). Continue the review using the LaTeX source regardless.
|
If the build produces errors, include them as a finding under **Formatting & Layout** (e.g., "Compile error on line X — fix before submission"). Continue the review using the LaTeX source regardless.
|
||||||
@@ -29,11 +29,11 @@ If the build produces errors, include them as a finding under **Formatting & Lay
|
|||||||
Clean up any stale preview files, then convert the first page of the built PDF to a PNG and view it:
|
Clean up any stale preview files, then convert the first page of the built PDF to a PNG and view it:
|
||||||
|
|
||||||
```
|
```
|
||||||
rm -f main-preview*.png
|
rm -f resume-preview*.png
|
||||||
pdftoppm -r 150 -png main.pdf main-preview
|
pdftoppm -r 150 -png resume.pdf resume-preview
|
||||||
```
|
```
|
||||||
|
|
||||||
Then use #tool:view_image to view `main-preview-1.png`.
|
Then use #tool:view_image to view `resume-preview-1.png`.
|
||||||
|
|
||||||
If this step fails for any reason (conversion error, tool unavailable, file not found), note it briefly — e.g., *"PDF preview unavailable — layout assessment based on LaTeX source only"* — and proceed. Do not retry or block on this step.
|
If this step fails for any reason (conversion error, tool unavailable, file not found), note it briefly — e.g., *"PDF preview unavailable — layout assessment based on LaTeX source only"* — and proceed. Do not retry or block on this step.
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/build-resume.yaml
vendored
2
.github/workflows/build-resume.yaml
vendored
@@ -5,7 +5,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'main.tex'
|
- 'resume.tex'
|
||||||
- '.github/workflows/build-resume.yaml'
|
- '.github/workflows/build-resume.yaml'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -11,4 +11,8 @@
|
|||||||
*.fdb_latexmk
|
*.fdb_latexmk
|
||||||
*.fls
|
*.fls
|
||||||
*.synctex.gz
|
*.synctex.gz
|
||||||
*.png
|
*.png
|
||||||
|
*.pdf # all PDFs are generated, so ignore them all
|
||||||
|
|
||||||
|
result
|
||||||
|
.direnv
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
latexmk -pdf -interaction=nonstopmode -halt-on-error main.tex
|
latexmk -pdf -interaction=nonstopmode -halt-on-error resume.tex
|
||||||
mv main.pdf ${resume_final_pdf}
|
mv resume.pdf ${resume_final_pdf}
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user