From 4829761261eff9e3f1b2680345bfe1f0954ad3e2 Mon Sep 17 00:00:00 2001 From: Thomas Forgione Date: Thu, 30 Nov 2023 15:11:59 +0100 Subject: [PATCH] Custom color support --- build/main.pdf | Bin 740346 -> 740346 bytes template.typ | 47 +++++++++++++++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/build/main.pdf b/build/main.pdf index fd7f77f410ac93975a47d3fc644c028a1e714898..ec9e4faf6f7b7924e1c6036b19cb73febb98f119 100644 GIT binary patch delta 131 zcmex0UH8{?-G&y%7N!>F7M2#)7Pc1l7LFFq7OpMa%bi$EEsRa4uXf^=2D7%Ga^m)9 zVl}m}0*cDHavMOI!LHmd#N4u6id-{1Op{CUU7ehheVskS3L_l12fA^Wvf_}Oe#e_z F4gh&RC|m#l delta 131 zcmex0UH8{?-G&y%7N!>F7M2#)7Pc1l7LFFq7OpMa%bi$^O-(GOuXf^=2D7%Ga^m)9 zVl_6k0*cDHavMOI!LHmd#L8UK9GzYL3$*nM-Gd@>D!jdni*w7j2fA^Wvf_}Oe#e_z F4gh*QD6Rki diff --git a/template.typ b/template.typ index 01fba1e..3017e27 100644 --- a/template.typ +++ b/template.typ @@ -1,3 +1,6 @@ +#let color = blue +// #let color = rgb("#018d32") + // Basic template settings. Must be shown at very begining #let init(doc) = { @@ -18,8 +21,8 @@ image.decode(polymny_transparent, width: 65em, height: 65em) }) - #place(top + left, rect(width: 5.55cm, height: 100%, fill: blue.lighten(90%))) - #place(top + left, rect(width: 100%, height: 4.4cm, fill: blue)) + #place(top + left, rect(width: 5.55cm, height: 100%, fill: color.lighten(90%))) + #place(top + left, rect(width: 100%, height: 4.4cm, fill: color)) #place(top + left, dx: 0.8cm, dy: 1cm, image("./assets/moi.png", height: 4cm)) ], ) @@ -57,15 +60,15 @@ } show heading.where(level: 1): it => { - set text(fill: blue) + set text(fill: color) grid( gutter: 1em, columns: (5cm, 7fr), - [], // align(horizon, [#v(3pt) #rect(width: 1cm, height: 0.33em, fill: blue)]), + [], // align(horizon, [#v(3pt) #rect(width: 1cm, height: 0.33em, fill: color)]), [ #it.body #v(-0.5cm) - #line(stroke: blue, length: 100%) + #line(stroke: color, length: 100%) ], ) } @@ -108,16 +111,28 @@ #let entry2(left: content, heading: content, description: content, note: content) = { let content = [ - #heading \ - #set text(size: 12pt, style: "italic") - #description \ - #set text(size: 11pt, style: "normal") - #note - ] + #heading \ + #set text(size: 12pt, style: "italic") + #description \ + #set text(size: 11pt, style: "normal") + #note + ] + layout(size => style(styles => { - let size = measure(content, styles) + let size = measure({ + block( + width: size.width, + grid( + gutter: 1em, + columns: (5.5cm, 0.75fr, 7fr), + [], [], content + ) + ) + }, styles) + let offset = measure(left, styles) + grid( gutter: 1em, columns: (5.5cm, 0.75fr, 7fr), @@ -130,8 +145,8 @@ content ) v(-4pt) - - }) + }) + ) } // A score box between 1 and 5. @@ -141,9 +156,9 @@ for x in range(5) { if level > x { - elems.push(rect(width: 0.4cm, height: 0.2cm, fill: blue)) + elems.push(rect(width: 0.4cm, height: 0.2cm, fill: color)) } else { - elems.push(rect(width: 0.4cm, height: 0.2cm, fill: blue.lighten(60%))) + elems.push(rect(width: 0.4cm, height: 0.2cm, fill: color.lighten(60%))) } }