65 lines
1.4 KiB
Plaintext
65 lines
1.4 KiB
Plaintext
|
#!/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"
|