mirror of
https://github.com/kristoferssolo/Mafia-the-Game-Description.git
synced 2025-10-21 19:50:35 +00:00
127 lines
2.8 KiB
Plaintext
127 lines
2.8 KiB
Plaintext
#import "@preview/tablex:0.0.6": tablex
|
|
#import "@preview/big-todo:0.2.0": todo as TODO
|
|
|
|
#let custom-block(item) = {
|
|
set align(start)
|
|
block(
|
|
inset: 8pt,
|
|
stroke: black,
|
|
width: 100%,
|
|
spacing: 0pt,
|
|
breakable: true,
|
|
item
|
|
)
|
|
}
|
|
|
|
#let longtable(
|
|
title: "",
|
|
titles: (),
|
|
caption: "",
|
|
..items
|
|
) = {
|
|
set par(first-line-indent: 0pt)
|
|
figure(
|
|
gap: 1.5em,
|
|
kind: table,
|
|
caption: if caption != ""{
|
|
caption
|
|
} else {
|
|
if titles.len() == 0 {
|
|
title
|
|
} else {
|
|
titles.first()
|
|
}
|
|
},
|
|
[
|
|
#if titles.len() == 0 {
|
|
custom-block(text(weight: "bold", title))
|
|
}
|
|
#for i in range(items.pos().len()) {
|
|
if titles.len() > 0 {
|
|
custom-block(text(weight: "bold", titles.at(i)))
|
|
}
|
|
custom-block(items.pos().at(i))
|
|
}
|
|
]
|
|
)
|
|
linebreak()
|
|
}
|
|
|
|
#let parameter-table(caption: "", ..items) = {
|
|
if caption == "" {
|
|
caption = items.pos().first()
|
|
}
|
|
longtable(
|
|
titles: ("Parametra nosaukums", "Parametra identifikators", "Parametra apraksts", "Parametra prasības", "Parametra piemērs (/-i)"),
|
|
caption: caption,
|
|
..items
|
|
)
|
|
}
|
|
|
|
#let procedure-table(caption: "", ..items) = {
|
|
if caption == "" {
|
|
caption = items.pos().first()
|
|
}
|
|
longtable(
|
|
titles: ("Procedūras nosaukums", "Procedūras identifikators", "Procedūras apraksts", "Ievade", "Apstrāde", "Izvade"),
|
|
caption: caption,
|
|
..items
|
|
)
|
|
}
|
|
|
|
#let function-table(caption: "", ..items) = {
|
|
if caption == "" {
|
|
caption = items.pos().first()
|
|
}
|
|
longtable(
|
|
titles: ("Funkcijas nosaukums", "Funkcijas identifikators", "Ievads", "Ievade", "Apstrāde", "Izvade", "Paziņojumi",),
|
|
caption: caption,
|
|
..items
|
|
)
|
|
}
|
|
|
|
|
|
#let entity-table-row(..items) = {
|
|
(
|
|
items.pos().at(0),
|
|
upper(raw(items.pos().at(1), block: false)),
|
|
upper(raw(items.pos().at(2), block: false)),
|
|
items.pos().at(3)
|
|
)
|
|
}
|
|
|
|
#let entity-table(caption: "", id: (), ..items) = {
|
|
if id == () {
|
|
id = ("id", "serial8", "primary key, not null", "Unikālais identifikators")
|
|
}
|
|
|
|
figure(
|
|
caption: caption,
|
|
kind: table,
|
|
tablex(
|
|
columns: (4cm, 3cm, auto, auto),
|
|
repeat-header: true,
|
|
/* Header */
|
|
[*Lauks*], [*Datu tips*], [*Lauka atribūti*], [*Apraksts*],
|
|
|
|
..entity-table-row(..id), // id row
|
|
|
|
..for i in range(items.pos().len(), step:4){
|
|
entity-table-row(..items.pos().slice(i, i+4))
|
|
},
|
|
)
|
|
)
|
|
}
|
|
|
|
#let todo(..body) = {
|
|
TODO(..body, inline: true, big_text: 14pt, small_text: 12pt)
|
|
}
|
|
|
|
#let hyperlink-source(author, title, link_str, date) = {
|
|
if link_str == "" {
|
|
[#author #title Aplūkots #date.display("[day].[month].[year]")]
|
|
} else {
|
|
[#author #title Pieejams: #link(link_str) aplūkots #date.display("[day].[month].[year]")]
|
|
}
|
|
}
|