Skip to content

Update main.yml

Update main.yml #84

Workflow file for this run

name: Generate PDF
on:
push:
branches: [ pdf ]
# paths:
# - 'doc/**' # Trigger when docs are updated
jobs:
convert_to_pdf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install pandoc and LaTeX
run: |
sudo apt-get update
sudo apt-get install -y pandoc texlive-xetex texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra tree imagemagick
- name: Generate documentation tree image
run: |
tree doc -I 'node_modules|.git' -L 2 -o tree.txt
convert -density 150 tree.txt -trim tree.png
- name: Merge Markdown files and insert tree image
run: |
touch combined.md
echo "![](tree.png)" > combined.md
cat doc/readme.md >> combined.md
find doc -type f -name "*.md" ! -name "readme.md" ! -name "doc-tree.md" | sort | xargs -I {} sh -c 'cat "$@" >> combined.md' _ {}
- name: Convert README.md to README.pdf
run: pandoc combined.md -o README.pdf --pdf-engine=xelatex
- name: Upload PDF
uses: actions/upload-artifact@v4
with:
name: documentation-pdfs
path: README.pdf