diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml new file mode 100644 index 0000000..48d21ac --- /dev/null +++ b/.github/workflows/compile.yml @@ -0,0 +1,26 @@ +name: Compile into PDFs + +on: + push: + +jobs: + build: + name: Compile into PDFs + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + - name: Install Typst + uses: typst-community/setup-typst@v5 + + - name: Build PDFs + run: | + chmod +x compile.sh + ./compile.sh + + - name: Upload PDFs + uses: actions/upload-artifact@v7 + with: + name: init-documents + path: build/ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/compile.sh b/compile.sh new file mode 100644 index 0000000..4910ca6 --- /dev/null +++ b/compile.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +find . -name "*.typ" ! -wholename "./templates/*" -print0 | while IFS= read -r -d '' file; do + rel="${file#./}" + output="./build/${rel%.typ}.pdf" + echo "Compiling $file to $output" + # Create all parent directories + mkdir -p "$(dirname "$output")" + # Compile + typst compile \ + --root . \ + --ignore-system-fonts \ + --font-path assets/fonts/ \ + --format pdf \ + "$file" "$output" +done