discourse/script/copyright-deposit

65 lines
1.4 KiB
Bash
Executable File

#!/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"