generate-epub.sh 912 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #! /usr/bin/env sh
  2. generate_from_stdin() {
  3. outfile=$1
  4. language=$2
  5. echo "Generating '$language' ..."
  6. pandoc --metadata-file=epub-metadata.yaml --metadata=lang:$2 --from=markdown -o $1 <&0
  7. echo "Done! You can find the '$language' book at ./$outfile"
  8. }
  9. generate_with_solutions () {
  10. tmpfile=$(mktemp /tmp/sytem-design-primer-epub-generator.XXX)
  11. cat ./README.md >> $tmpfile
  12. for dir in ./solutions/system_design/*; do
  13. case $dir in *template*) continue;; esac
  14. case $dir in *__init__.py*) continue;; esac
  15. : [[ -d "$dir" ]] && ( cd "$dir" && cat ./README.md >> $tmpfile && echo "" >> $tmpfile )
  16. done
  17. cat $tmpfile | generate_from_stdin 'README.epub' 'en'
  18. rm "$tmpfile"
  19. }
  20. generate () {
  21. name=$1
  22. language=$2
  23. cat $name.md | generate_from_stdin $name.epub $language
  24. }
  25. generate_with_solutions
  26. generate README-ja ja
  27. generate README-zh-Hans zh-Hans
  28. generate README-zh-TW zh-TW