-
Notifications
You must be signed in to change notification settings - Fork 64
Expand file tree
/
Copy pathbuild-in-docker-epub.sh
More file actions
executable file
·26 lines (20 loc) · 1.46 KB
/
build-in-docker-epub.sh
File metadata and controls
executable file
·26 lines (20 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
[ ! -z $REVIEW_LANG ] || REVIEW_LANG=jp
[ ! -z $REVIEW_CONFIG_FILE ] || REVIEW_CONFIG_FILE="config-epub-$REVIEW_LANG.yml"
# コマンド手打ちで作業したい時は以下の通り /book に pwd がマウントされます
# docker run -i -t -v $(pwd):/book review-custom:5.11 /bin/bash
DOCKER_IMAGE="review-custom:5.11"
# イメージが存在しない場合はビルドする
if ! docker image inspect "$DOCKER_IMAGE" > /dev/null 2>&1; then
docker build -t "$DOCKER_IMAGE" .
fi
# reduce size of images
REVIEW_IMAGE_DIR="articles/images_$REVIEW_LANG"
FIND_COMMAND="find $REVIEW_IMAGE_DIR"' -type d -name cover -prune -o -type d -name chapter_title -prune -o -name "*.png" -print' # coverフォルダとchapter_titleフォルダを除いたpngファイルを抽出する
IMAGEMAGICK_COMMAND='mogrify -format jpg -quality 75 -background white -alpha remove -alpha off' # JPG化してサイズを減らす
docker run -v $(pwd)/articles:/articles --entrypoint=sh dpokidov/imagemagick:7.1.0-47-buster -c "${FIND_COMMAND} | xargs ${IMAGEMAGICK_COMMAND}"
eval "${FIND_COMMAND}" | xargs rm -fr # PNGファイルを一時的に削除
docker run -t --rm -v $(pwd):/book -v $(pwd)/articles/fonts/bizud:/usr/share/fonts/truetype/bizud "$DOCKER_IMAGE" /bin/bash -ci "cd /book && npm install --ignore-scripts && bundle install && gem pristine --all && REVIEW_CONFIG_FILE=$REVIEW_CONFIG_FILE npm run pdf"
# restore images
git restore "$REVIEW_IMAGE_DIR"
git clean -fdx "$REVIEW_IMAGE_DIR"