Compare commits
17 Commits
ci/gitea-r
...
main
Author | SHA1 | Date |
---|---|---|
Sven Vogel | ef5400ea43 | |
Sven Vogel | bdbf641fd4 | |
Sven Vogel | 1d6a900fca | |
Sven Vogel | 04efd8251e | |
Sven Vogel | 081fea5a4c | |
Sven Vogel | 564a3f7b95 | |
Sven Vogel | 4e51d4f70e | |
Sven Vogel | 6b8ecbfc8a | |
Sven Vogel | cc855667cc | |
Sven Vogel | 728e451e66 | |
Sven Vogel | 3512cc66cc | |
Sven Vogel | 2e02619fdb | |
Sven Vogel | f1df70aa96 | |
Sven Vogel | 70f2bde4d1 | |
Sven Vogel | 44d995fd28 | |
Sven Vogel | b0fc412b57 | |
Sven Vogel | 4bb731ca66 |
|
@ -1,10 +1,13 @@
|
|||
name: Build'n check
|
||||
run-name: Performing Typst compilation
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
branches:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches-ignore:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
run-ci-linux:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
name: Create Release Commit
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags-ignore:
|
||||
- v*.*.*
|
||||
jobs:
|
||||
prepare:
|
||||
runs-on: ubuntu-latest
|
||||
if: contains(github.event.head_commit.message, 'Release-As:')
|
||||
env:
|
||||
USERNAME: servostar
|
||||
EMAIL: sven.vogel123@web.de
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: 'main'
|
||||
token: ${{ secrets.RELEASE_TOKEN }}
|
||||
- name: Tag Release Commit
|
||||
env:
|
||||
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
||||
GIT_AUTH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
run: |
|
||||
export VERSION=$(echo "${COMMIT_MESSAGE}" | grep -Po '(?<=Release-As: )v\d+\.\d+\.\d+')
|
||||
git config --global user.name "${USERNAME}"
|
||||
git config --global user.email "${EMAIL}"
|
||||
echo "==> Update typst.toml version"
|
||||
sed -i "/version/c\version = \"${VERSION#v}\"" typst.toml
|
||||
git add typst.toml
|
||||
git commit -m "chore: bump release version to $VERSION" -m "Generated-By: ${{ gitea.actor }}"
|
||||
git push origin main
|
||||
echo "::endgroup::"
|
||||
echo "::group::{Tag commit}"
|
||||
git tag -m "Release" "${VERSION}"
|
||||
git push origin "${VERSION}"
|
||||
echo "::endgroup::"
|
|
@ -0,0 +1,65 @@
|
|||
name: Create Release
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v[0-9]+.[0-9]+.[0-9]+'
|
||||
jobs:
|
||||
build:
|
||||
name: Check Template and Build example
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies for Nix setup action
|
||||
run: |
|
||||
apt update -y
|
||||
apt install sudo -y
|
||||
- name: Setup Nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
- name: Stylecheck
|
||||
run: nix-shell --run "./run-fmt.sh --check src/lib.typ"
|
||||
- id: build
|
||||
name: Build
|
||||
run: |
|
||||
nix-shell --run ./run-ci.sh
|
||||
- name: Upload artifact
|
||||
id: artifact-upload
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: example-document
|
||||
path: ${{ github.workspace }}/example.pdf
|
||||
if-no-files-found: error
|
||||
retention-days: 1
|
||||
- name: Output artifact ID
|
||||
run: echo 'Artifact ID is ${{ steps.artifact-upload.outputs.artifact-id }}'
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup go
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: '>=1.20.1'
|
||||
- name: Download Artifact
|
||||
id: download
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: example-document
|
||||
path: ${{ github.workspace }}/Example.pdf
|
||||
- name: 'Artifact Download Path'
|
||||
run: echo ${{ steps.download.outputs.download-path }}
|
||||
- name: Prepare Release
|
||||
run: echo ${{ github.sha }} > Release.txt
|
||||
- name: Create release
|
||||
id: create-release
|
||||
uses: https://gitea.com/actions/release-action@main
|
||||
with:
|
||||
files: |-
|
||||
Example.pdf
|
||||
Release.txt
|
||||
LICENSE
|
||||
api_key: '${{secrets.RELEASE_TOKEN}}'
|
|
@ -0,0 +1,17 @@
|
|||
# Contributing
|
||||
|
||||
Development of this template happens at
|
||||
[git.montehaselino.de](https://git.montehaselino.de/DHBW/dhbw-abb-typst-template).
|
||||
For this reason pull request opened at any mirror such as on GitHub, will not be
|
||||
merged as this would compromise the push mirror.
|
||||
|
||||
Pull requests shall be opened exclusively in the official
|
||||
[repository](https://git.montehaselino.de/DHBW/dhbw-abb-typst-template).
|
||||
Issues may be created at GitHub or the official repository.
|
||||
Beware, that linked pull requests and issues in commits messages refer to those
|
||||
in the official instance and may be broken or invalid on mirrors such as GitHub.
|
||||
|
||||
Direct pushes to the `main` branch are discouraged. In order to make a change
|
||||
create a new pull request and wait for a maintainer to merge it. Note that in
|
||||
order to be able to merge, the continuous integration pipeline must run
|
||||
successfully.
|
|
@ -2,7 +2,7 @@
|
|||
<div align="center">
|
||||
<h1>DHBW-ABB template for Typst</h1>
|
||||
<img src="https://img.shields.io/gitea/last-commit/dhbw/dhbw-abb-typst-template?gitea_url=https%3A%2F%2Fgit.montehaselino.de">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/Servostar/dhbw-abb-typst-template/ci.yml?label=build">
|
||||
<img src="https://img.shields.io/github/actions/workflow/status/Servostar/dhbw-abb-typst-template/release.yml?label=build">
|
||||
<img src="https://img.shields.io/gitea/v/release/dhbw/dhbw-abb-typst-template?gitea_url=https%3A%2F%2Fgit.montehaselino.de&display_name=release">
|
||||
<img src="https://img.shields.io/badge/license-MIT-ff0000">
|
||||
<img src="https://img.shields.io/badge/Typst-2B9CB0">
|
||||
|
|
|
@ -9,5 +9,6 @@ pkgs.mkShellNoCC {
|
|||
python312Packages.pyyaml
|
||||
typst
|
||||
typstyle
|
||||
ripgrep
|
||||
];
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
name: "dualen Hochschule Baden-Württemberg",
|
||||
campus: "Eppelheim"
|
||||
),
|
||||
supervisor-signature: false,
|
||||
authors: (
|
||||
(
|
||||
name: "Sven Vogel",
|
||||
|
|
|
@ -200,46 +200,49 @@ SOFTWARE.*/
|
|||
#block(
|
||||
below: 1.5em,
|
||||
width: 100%,
|
||||
par(hanging-indent: 1em, align(left)[
|
||||
#text(weight: "bold", entry.short)
|
||||
#if hasLong and hasDesc [
|
||||
(#text(entry.long))
|
||||
] else if hasLong {
|
||||
text(entry.long)
|
||||
}
|
||||
#if hasDesc [ #sym.dash.en ]
|
||||
#if hasDesc [ #desc ]
|
||||
#if disable-back-references != true {
|
||||
term_references
|
||||
.map(x => x.location())
|
||||
.sorted(key: x => x.page())
|
||||
.fold(
|
||||
(values: (), pages: ()),
|
||||
((values, pages), x) => if pages.contains(
|
||||
x.page(),
|
||||
) {
|
||||
(values: values, pages: pages)
|
||||
} else {
|
||||
values.push(x)
|
||||
pages.push(x.page())
|
||||
(values: values, pages: pages)
|
||||
},
|
||||
)
|
||||
.values
|
||||
.map(x => {
|
||||
let page-numbering = x.page-numbering()
|
||||
if page-numbering == none {
|
||||
page-numbering = "1"
|
||||
par(
|
||||
hanging-indent: 1em,
|
||||
align(left)[
|
||||
#text(weight: "bold", entry.short)
|
||||
#if hasLong and hasDesc [
|
||||
(#text(entry.long))
|
||||
] else if hasLong {
|
||||
text(entry.long)
|
||||
}
|
||||
#if hasDesc [ #sym.dash.en ]
|
||||
#if hasDesc [ #desc ]
|
||||
#if disable-back-references != true {
|
||||
term_references
|
||||
.map(x => x.location())
|
||||
.sorted(key: x => x.page())
|
||||
.fold(
|
||||
(values: (), pages: ()),
|
||||
((values, pages), x) => if pages.contains(
|
||||
x.page(),
|
||||
) {
|
||||
(values: values, pages: pages)
|
||||
} else {
|
||||
values.push(x)
|
||||
pages.push(x.page())
|
||||
(values: values, pages: pages)
|
||||
},
|
||||
)
|
||||
.values
|
||||
.map(x => {
|
||||
let page-numbering = x.page-numbering()
|
||||
if page-numbering == none {
|
||||
page-numbering = "1"
|
||||
}
|
||||
link(x)[#numbering(
|
||||
page-numbering,
|
||||
..counter(page).at(x),
|
||||
)]
|
||||
}
|
||||
link(x)[#numbering(
|
||||
page-numbering,
|
||||
..counter(page).at(x),
|
||||
)]
|
||||
}
|
||||
)
|
||||
.join(", ")
|
||||
}
|
||||
]),
|
||||
)
|
||||
.join(", ")
|
||||
}
|
||||
],
|
||||
),
|
||||
)
|
||||
]
|
||||
}
|
||||
|
|
32
src/lib.typ
32
src/lib.typ
|
@ -122,17 +122,27 @@
|
|||
|
||||
#metadata("content terminate") <end-of-content>
|
||||
|
||||
#end_styled(config)[
|
||||
// add bibliography if set
|
||||
#if "bibliography" in config.thesis and config.thesis.bibliography != none {
|
||||
pagebreak(weak: true)
|
||||
counter(page).update(1)
|
||||
set bibliography(style: "ieee")
|
||||
config.thesis.bibliography
|
||||
}
|
||||
#end_styled(
|
||||
config,
|
||||
context [
|
||||
// add bibliography if set
|
||||
#if "bibliography" in config.thesis and config.thesis.bibliography != none {
|
||||
pagebreak(weak: true)
|
||||
counter(page).update(1)
|
||||
set bibliography(
|
||||
style: "ieee",
|
||||
title: if (text.lang == "de") {
|
||||
"Literaturverzeichnis"
|
||||
} else if text.lang == "en" {
|
||||
"Bibliography"
|
||||
},
|
||||
)
|
||||
config.thesis.bibliography
|
||||
}
|
||||
|
||||
// appendix
|
||||
#show-appendix(config: config)
|
||||
]
|
||||
// appendix
|
||||
#show-appendix(config: config)
|
||||
],
|
||||
)
|
||||
]
|
||||
]
|
||||
|
|
|
@ -147,22 +147,24 @@
|
|||
#context panic("no translation for language: ", text.lang)
|
||||
]
|
||||
|
||||
#align(
|
||||
bottom,
|
||||
grid(
|
||||
// set width of columns
|
||||
// we need two, so make both half the page width
|
||||
columns: (60%, 40%),
|
||||
align(left, if text.lang == "de" [
|
||||
Unterschrift des betrieblichen Betreuers
|
||||
] else if text.lang == "en" [
|
||||
Signature of the company supervisor
|
||||
] else [
|
||||
#context panic("no translation for language: ", text.lang)
|
||||
]
|
||||
),
|
||||
align(right, {line(length: 6cm)})),
|
||||
)
|
||||
#if config.supervisor-signature {
|
||||
align(
|
||||
bottom,
|
||||
grid(
|
||||
// set width of columns
|
||||
// we need two, so make both half the page width
|
||||
columns: (60%, 40%),
|
||||
align(left, if text.lang == "de" [
|
||||
Unterschrift des betrieblichen Betreuers
|
||||
] else if text.lang == "en" [
|
||||
Signature of the company supervisor
|
||||
] else [
|
||||
#context panic("no translation for language: ", text.lang)
|
||||
]
|
||||
),
|
||||
align(right, {line(length: 6cm)})),
|
||||
)
|
||||
}
|
||||
|
||||
#counter(page).update(0)
|
||||
]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "dhbw-abb-typst-template"
|
||||
version = "0.4.1"
|
||||
version = "0.5.4"
|
||||
entrypoint = "src/template.typ"
|
||||
authors = ["Sven Vogel <sven.vogel1@de.abb.com>"]
|
||||
license = "MIT"
|
||||
|
|
Loading…
Reference in New Issue