summary refs log tree commit diff stats
path: root/mysql-php/tpl.typ
blob: 11799252ea896b16ef3f88ff09ff6d07d9fa216c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#import "@preview/codelst:1.0.0": sourcefile
#let hlfile(filename) = sourcefile(read(filename), file: filename)
#let apply(body) = {
  let body-font-settings = (font: "Nunito Sans 10pt", size: 12pt, stretch: 75%)
//  let body-font-settings = (font: "Hanken Grotesk", size: 12pt, stretch: 75%)
  let page-margin = (left: 0.75in, right: 0.25in, top: 0.5in, bottom: 0.25in)
  let margin = (left: 0.75in, right: 0.25in, top: 2em, bottom: 2em)
  let page-frame-thickness = 1.5pt
  set page(
    margin: (..page-margin, bottom: margin.bottom + 2em),
    numbering: "1",
    background: align(top + start, pad(..margin, rect(width: 100%, height: 100%, stroke: page-frame-thickness + gray))),
    footer: locate(loc => align(center, move(dy: -margin.bottom + 1em, text(..body-font-settings, size: 9pt, counter(page).display(loc.page-numbering())))))
  )
  show: block.with(breakable: true, width: 100%, inset: page-frame-thickness + 1em)
  
  set text(..body-font-settings)

  let code-color = rgb("#f4f4f4")
//  show raw: set text(font: "CommitMono", size: 1.1em)
//  show raw: set text(font: "Source Code Pro", size: 1.1em)
  show raw: set text(font: "Iosevka Fixed", size: 10pt)
  show raw.where(block: false): box.with(
    fill: code-color,
    inset: (x: 3pt, y: 0pt),
    outset: (y: 3pt),
    radius: 2pt,
  )
  show raw.where(block: true): block.with(
    fill: code-color,
    inset: 10pt,
    radius: 4pt,
    width: 100%,
  )
  show raw.where(block: true): it => align(left, it)
  set raw(theme: "vendor/gr.tmTheme")
  set par(leading: 0.6em)
  body
}

#let assignment(number, description) = align(center, [
= #text(weight: 600, [Assignment #number])
== #text(weight: 500, [Program description:]) #text(weight: 400, description)
])
#let objective(body) = align(center, [*Objective*: #body])
#let oset(kind) = block(spacing: 0.6em, [===== #h(1em) #kind])

#let scos(n, obody) = {
    [=== Source Code]
    hlfile("/code/a" + str(n) + ".php")
    [=== Output]
    obody
}