diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index 3b21eab..83b5b5f 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -14,6 +14,8 @@ import { Runner } from './models/Runner'; import { RunnerCard } from './models/RunnerCard'; import { RunnerGroup } from './models/RunnerGroup'; +const sponsors: string[] = ["https://odit.services/assets/img/profile-pic-no_bg.hash.0c81702a.png", "./sponsoringheader.png"] + /** * This class is responsible for all things pdf creation. * This uses the html templates from src/templates. @@ -87,6 +89,15 @@ export class PdfCreator { return i18next.t(str, PdfCreator.interpolations).toString(); } ); + await Handlebars.registerHelper('--sponsor', + function (str) { + const index = (parseInt(str) % sponsors.length); + if (isNaN(index)) { + return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==" + } + return sponsors[index]; + } + ); this.browser = await puppeteer.launch({ headless: true, args: minimal_args }); } @@ -140,6 +151,7 @@ export class PdfCreator { const template = Handlebars.compile(template_source); let result = template({ cards, cards_swapped, eventname: "LfK! 2069", codeformat: "qrcode" }) result = await awaitAsyncHandlebarHelpers(result); + fs.writeFileSync("lelelelele.tmp", result); const pdf = await this.renderPdf(result, { format: "A4", landscape: false }); return pdf } diff --git a/src/templates/runner_card.html b/src/templates/runner_card.html index 09f6eb8..69066c8 100644 --- a/src/templates/runner_card.html +++ b/src/templates/runner_card.html @@ -39,7 +39,7 @@