mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
started documentation
This commit is contained in:
205
docs/utils.typst
Normal file
205
docs/utils.typst
Normal file
@@ -0,0 +1,205 @@
|
||||
#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]")]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user