Compare commits

..

2 Commits

9 changed files with 36 additions and 27 deletions

View File

@@ -48,7 +48,7 @@ function in a show rule. If you want to change an existing project to use this
template, you can add a show rule like this at the top of your file: template, you can add a show rule like this at the top of your file:
```typst ```typst
#import "@preview/solo-lu-df:1.1.1": * #import "@preview/solo-lu-df:1.1.2": *
#show: ludf.with( #show: ludf.with(
title: "Darba Nosaukums", title: "Darba Nosaukums",

View File

@@ -1,4 +1,4 @@
#import "@preview/solo-lu-df:1.1.1": * #import "@preview/solo-lu-df:1.1.2": *
#show: ludf.with( #show: ludf.with(
title: "Bakalaura Darba Nosaukums", title: "Bakalaura Darba Nosaukums",

View File

@@ -1,4 +1,4 @@
#import "@preview/solo-lu-df:1.1.1": * #import "@preview/solo-lu-df:1.1.2": *
#show: ludf.with( #show: ludf.with(
title: "Kursa Darba Nosaukums", title: "Kursa Darba Nosaukums",

View File

@@ -1,4 +1,4 @@
#import "@preview/solo-lu-df:1.1.1": * #import "@preview/solo-lu-df:1.1.2": *
#show: ludf.with( #show: ludf.with(
title: "Maģistra Darba Nosaukums", title: "Maģistra Darba Nosaukums",

View File

@@ -127,6 +127,32 @@
] ]
} }
#let normalize-title(title) = {
if type(title) != content or "children" not in title.fields() {
return title
}
let children = title
.fields()
.children
.filter(it => it.func() != linebreak)
.fold((), (acc, it) => {
if it == [ ] and (acc.len() == 0 or acc.last() == [ ]) {
acc
} else {
acc + (it,)
}
})
let children = if children.len() > 0 and children.last() == [ ] {
children.slice(0, -1)
} else {
children
}
children.join("")
}
#let make-documentary-page( #let make-documentary-page(
title, title,
authors, authors,
@@ -137,11 +163,11 @@
presentation-date, presentation-date,
) = { ) = {
set page(numbering: none) set page(numbering: none)
heading(level: 1, outlined: false, numbering: none, "Dokumentārā lapa")
set par(spacing: 2em) set par(spacing: 2em)
heading(level: 1, outlined: false, numbering: none, "Dokumentārā lapa")
make-dokumentary( make-dokumentary(
title, normalize-title(title),
authors, authors,
advisors, advisors,
reviewer, reviewer,
@@ -150,3 +176,4 @@
fmt-date(presentation-date), fmt-date(presentation-date),
) )
} }

View File

@@ -293,26 +293,9 @@
make-attachments(attachment-title, attachments) make-attachments(attachment-title, attachments)
let title-text = if type(title) == content and "children" in title.fields() {
title
.fields()
.children
.filter(it => it.func() != linebreak)
.fold((), (acc, it) => {
if it == [ ] and acc.last() == [ ] {
acc
} else {
acc + (it,)
}
})
.join("")
} else {
title
}
if display-documentary { if display-documentary {
make-documentary-page( make-documentary-page(
title-text, title,
authors, authors,
advisors, advisors,
reviewer, reviewer,

View File

@@ -1,6 +1,5 @@
#import "documentary-page.typ": get-thesis-label, make-documentary-page #import "documentary-page.typ": get-thesis-label, make-documentary-page
#let merge(a, b) = { #let merge(a, b) = {
let result = a let result = a
for (k, v) in b { result.at(k) = v } for (k, v) in b { result.at(k) = v }

View File

@@ -1,4 +1,4 @@
#import "@preview/solo-lu-df:1.1.1": * #import "@preview/solo-lu-df:1.1.2": *
#show: ludf.with( #show: ludf.with(
title: "Darba Nosaukums", title: "Darba Nosaukums",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "solo-lu-df" name = "solo-lu-df"
version = "1.1.1" version = "1.1.2"
entrypoint = "src/lib.typ" entrypoint = "src/lib.typ"
authors = ["Kristofers Solo <dev@kristofers.xyz>"] authors = ["Kristofers Solo <dev@kristofers.xyz>"]
license = "MIT-0" license = "MIT-0"