mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-08 04:08:24 +00:00
Add the North America managed services role to the resume
Implico role becomes "Team Lead, BTP Cloud & Mobile Apps and North America Managed Services" with a bullet for the practice Greg took on in June 2026. The resume PDF now tightens spacing when it just spills onto a second page so it stays on one. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
This commit is contained in:
@@ -55,7 +55,7 @@ interface Body {
|
||||
* (and line spacing by a little less), so a short resume can be opened up to
|
||||
* fill its one page instead of leaving the bottom empty.
|
||||
*/
|
||||
function renderBody(r: ResumeData, spread = 1): Promise<Body> {
|
||||
export function renderBody(r: ResumeData, spread = 1): Promise<Body> {
|
||||
const gapDown = (n: number) => doc.moveDown(n * spread);
|
||||
const lg = (n: number) => n + (spread - 1) * 1.2;
|
||||
const doc = new PDFDocument({
|
||||
@@ -281,11 +281,20 @@ const LIMIT = 792 - PAGE.bottom;
|
||||
/**
|
||||
* A one-page resume that ends well above the footer is laid out again with
|
||||
* wider gaps, up to twice as wide, so the page reads as full; the widest
|
||||
* spread that still fits on one page wins. Longer resumes are left as they are.
|
||||
* spread that still fits on one page wins. One that just spills onto a second
|
||||
* page is laid out with gaps down to 70% when that brings it back to one.
|
||||
* Longer resumes are left as they are.
|
||||
*/
|
||||
export async function fitBody(r: ResumeData): Promise<Body> {
|
||||
const first = await renderBody(r);
|
||||
if (first.pages > 1 || LIMIT - first.end < 24) return first;
|
||||
if (first.pages > 1) {
|
||||
for (const spread of [0.9, 0.8, 0.7]) {
|
||||
const tight = await renderBody(r, spread);
|
||||
if (tight.pages === 1) return tight;
|
||||
}
|
||||
return first;
|
||||
}
|
||||
if (LIMIT - first.end < 24) return first;
|
||||
let best = first;
|
||||
for (let spread = 1.1; spread <= 2.001; spread += 0.1) {
|
||||
const next = await renderBody(r, spread);
|
||||
|
||||
Reference in New Issue
Block a user