User:Manetta/Booklet-with-pagedjs.sh
Variation of User:Manetta/Booklet.sh, using Paged.js (instead of Weasyprint).
# ---
# store wiki page in variable
WIKIPAGE=$1
# ---
# download paged.js polyfill as JS file
curl https://unpkg.com/pagedjs@0.4.3/dist/paged.polyfill.js -o pagedjs.polyfill.js.tmp
echo "<script>" > pagedjs.polyfill.js
cat pagedyjs.polyfill.js.tmp >> pagedjs.polyfill.js
echo "</script>" >> pagedjs.polyfill.js
rm pagedjs.polyfill.js.tmp
# ---
# download paged.js's interface.css
curl https://gitlab.coko.foundation/pagedjs/interface-polyfill/-/raw/master/interface.css -o pagedjs.interface.css
# ---
# create a local CSS stylesheet, in case it's not there yet
touch booklet-stylesheet.css
# ---
# download wiki page as HTML
curl https://pzwiki.wdka.nl/mediadesign/$WIKIPAGE?action=render -o $WIKIPAGE.html
# ---
# replace the image src links in the HTML page
# - from links that start with: /mw-mediadesign\/
# - to links that start with: https://pzwiki.wdka.nl/mw-mediadesign/
sed -i 's/\/mw-mediadesign\//https:\/\/pzwiki.wdka.nl\/mw-mediadesign\//g' $WIKIPAGE.html
# ---
# rewrite the HTML file to a standalone page
# that includes the JS and CSS files
pandoc \
--standalone \
--css pagedjs.interface.css \
--css booklet-stylesheet.css \
--include-in-header=pagedjs.polyfill.js \
$WIKIPAGE.html \
--output $WIKIPAGE.html
# ---
# (this step is only required when working locally from your own computer)
# run a local server
# access your paged.js preview page at localhost:8000/wikipage.html
# echo ">>> Go to the page at: http://localhost:8000/$WIKIPAGE.html"
# python3 -m http.server