mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
66 lines
2.8 KiB
Typst
66 lines
2.8 KiB
Typst
// ─── Inputs ────────────────────────────────────────────────────────────────────
|
|
#let recipient = sys.inputs.at("name", default: "First Name, Last Name")
|
|
#let course = sys.inputs.at("course", default: "Course Title")
|
|
#let date_str = sys.inputs.at("date", default: "MM/DD/YY")
|
|
#let length_str = sys.inputs.at("length", default: "2 hours")
|
|
#let cert_no = sys.inputs.at("cert_no", default: "000000-000000-00000")
|
|
#let ref_no = sys.inputs.at("ref_no", default: "000X")
|
|
#let instructors = sys.inputs.at("instructors", default: "")
|
|
|
|
// ─── Page ──────────────────────────────────────────────────────────────────────
|
|
#set page(
|
|
paper: "a4",
|
|
flipped: true,
|
|
margin: (left: 38pt, right: 38pt, top: 28pt, bottom: 38pt),
|
|
)
|
|
|
|
#set text(font: "Arial", size: 11pt, fill: black)
|
|
#set par(justify: false, leading: 1.2em)
|
|
|
|
// ─── Header: logo (left) + certificate numbers (right) ────────────────────────
|
|
#grid(
|
|
columns: (1fr, auto),
|
|
align: (left + top, right + top),
|
|
image("philpro-logo.png", width: 180pt),
|
|
[
|
|
#set text(size: 13pt)
|
|
Certificate No: #cert_no \
|
|
Reference Number: #ref_no
|
|
],
|
|
)
|
|
|
|
#v(18pt)
|
|
|
|
// ─── CERTIFICATE OF COMPLETION label ──────────────────────────────────────────
|
|
#text(size: 12pt, fill: rgb("#555555"))[CERTIFICATE OF COMPLETION]
|
|
|
|
#v(5pt)
|
|
|
|
// ─── Course title ─────────────────────────────────────────────────────────────
|
|
#block[
|
|
#set par(leading: 0.65em)
|
|
#text(size: 25pt, weight: "bold")[#course]
|
|
]
|
|
|
|
#v(12pt)
|
|
|
|
// ─── Instructors (only when provided) ────────────────────────────────────────
|
|
#if instructors != "" [
|
|
#text(size: 13pt, fill: rgb("#555555"))[Instructors]
|
|
#linebreak()
|
|
#text(size: 15pt, weight: "bold")[#instructors]
|
|
]
|
|
|
|
#v(1fr)
|
|
|
|
// ─── Bottom: recipient, date, duration, issuer ────────────────────────────────
|
|
#text(size: 15pt, weight: "bold")[#recipient]
|
|
#linebreak()
|
|
#text(size: 12pt)[*Date Issued:* #date_str]
|
|
#linebreak()
|
|
#if length_str != "" and length_str != "0 mins" [
|
|
#text(size: 12pt)[*Duration:* #length_str]
|
|
#linebreak()
|
|
]
|
|
#text(size: 12pt)[*Issued by:* Philproperties]
|