Compare commits

...

2 Commits

@ -1,2 +1,3 @@
MDBOOK_VERSION=0.4.35
MDBOOK_I18N_HELPERS_VERSION=0.2.4
MDBOOK_VERSION=0.4.37
MDBOOK_I18N_HELPERS_VERSION=0.3.2
MDBOOK_PANDOC_VERSION=0.6.0

@ -19,11 +19,22 @@ runs:
echo "version=$MDBOOK_I18N_HELPERS_VERSION" >> $GITHUB_OUTPUT
shell: bash
- name: Install mdbook
uses: taiki-e/install-action@2afb713f1c297f70eecb9cb904b36612eba3c25e # v2
- name: Read mdbook-pandoc version from .env
id: mdbook-pandoc-version
run: |
. ./.env
echo "version=$MDBOOK_PANDOC_VERSION" >> $GITHUB_OUTPUT
shell: bash
- name: Install dependencies
uses: taiki-e/install-action@v2
with:
tool: mdbook@${{ steps.mdbook-version.outputs.version }}
tool: mdbook@${{ steps.mdbook-version.outputs.version }},mdbook-pandoc@${{ steps.mdbook-pandoc-version.outputs.version }},mdbook-i18n-helpers@${{ steps.mdbook-i18n-helpers-version.outputs.version }}
- name: Install i18n-helpers
run: cargo install mdbook-i18n-helpers --locked --version '${{ steps.mdbook-i18n-helpers-version.outputs.version }}'
- name: Install mdbook-pandoc and related dependencies
run: |
sudo apt-get update
sudo apt-get install -y texlive texlive-luatex texlive-lang-cjk librsvg2-bin fonts-noto
curl -LsSf https://github.com/jgm/pandoc/releases/download/3.1.12.2/pandoc-3.1.12.2-linux-amd64.tar.gz | tar zxf -
echo "$PWD/pandoc-3.1.12.2/bin" >> $GITHUB_PATH
shell: bash

@ -40,7 +40,10 @@ jobs:
uses: ./.github/workflows/install-mdbook
- name: Build course in English
run: mdbook build -d book
run: |
mdbook build -d book
mv book/html/* book/pandoc/pdf/patterns.pdf book/
rm -r book/html book/pandoc
# TODO: Activate when first translation is available
# - name: Build all translations

@ -38,3 +38,20 @@ editable = false
# Redirects in the form of "old-path" = "new-path", where the new path
# is relative to the old path.
"functional/lenses.html" = "optics.html"
[output.pandoc]
optional = true
hosted-html = "https://rust-unofficial.github.io/patterns/"
[output.pandoc.profile.pdf]
output-file = "patterns.pdf"
pdf-engine = "lualatex"
[output.pandoc.profile.pdf.variables]
mainfont = "Noto Serif"
sansfont = "Noto Sans"
monofont = "Noto Sans Mono"
mainfontfallback = ["NotoSerifCJKSC:"]
geometry = ["margin=1.25in"]
linkcolor = "blue"
urlcolor = "red"

Loading…
Cancel
Save