#!/bin/bash set -e mkdir -p copyright tmp=$(mktemp -d) function cleanup () { rm -rf "$tmp" } trap cleanup EXIT # Docs echo "Compiling documentation deposit..." docs="$tmp/docs" mkdir -p "$docs" # ./README.md echo "README.md" PDF_FLAGS="--pdf-engine=xelatex" pandoc $PDF_FLAGS -o "$tmp/docs/00000.pdf" README.md # ./docs counter=0 for md in docs/*.md; do echo "$md" counter=$((counter+1)) printf -v padded "%05d" $counter pandoc $PDF_FLAGS -o "$docs/$padded.pdf" "$md" done pdftk $docs/*.pdf cat output copyright/documentation-deposit.pdf echo "copyright/documentation-deposit.pdf" # Code echo "Compiling code deposit..." code="$tmp/code" mkdir -p "$code" files=$(git ls-files app script | grep -E "\\.(js|rb)$") sample=15 first=$(head -n "$sample" <<< "$files") last=$(tail -n "$sample" <<< "$files") unoconv --listener & function process_code () { echo "$1" counter=$((counter+1)) printf -v padded "%05d" $counter printf "%s\\n\\n" "$1" > "$code/$padded.txt" cat "$1" >> "$code/$padded.txt" unoconv -o "$code/$padded.pdf" "$code/$padded.txt" } counter=0 while IFS= read -r file; do process_code "$file" done <<< "$first" while IFS= read -r file; do process_code "$file" done <<< "$last" pdftk $code/*.pdf cat output $code/code.pdf # first 25 pages and last 25 pages pdftk $code/code.pdf cat 1-25 r25-end output copyright/code-deposit.pdf echo "copyright/code-deposit.pdf"