diff --git a/genepub.sh b/genepub.sh old mode 100644 new mode 100755 index bd77d97d..01e071c0 --- a/genepub.sh +++ b/genepub.sh @@ -1,21 +1,32 @@ -#!/bin/sh -if [ ! -f build-web-application-with-golang ];then - go build +#!/bin/bash +if ! which pandoc >/dev/null ;then + echo "请先安装pandoc,然后再次运行" + exit 0 fi - -if [ ! -d html ];then - mkdir html -fi -cd html -cp ../*.md . +[ -f build-web-application-with-golang ] && go build +[ -d html ] || mkdir html +pushd html >/dev/null; cp ../*.md . +sed -i 's!https://github.com/astaxie/build-web-application-with-golang/blob/master/!!g' README.md for i in *.md;do - #¸ʽmdļ - sed -i '/^[#]\{1,\}/s!^\([#]\{1,\}\)\([^#]\{1,\}\)!\1 \2!' $i - sed -i '/^[#]\{1,\}/s! ! !' $i - #mdļеimage src - sed -i '/!\[\](images/s#images\(.*\)?raw=true#../Images\1#' $i - + #重新格式化md文件 + sed -i '/^[#]\{1,\}/s!^\([#]\{1,\}\)\([^#]\{1,\}\)!\1 \2!' $i #以#开头的行,在#后增加空格 + sed -i '/^[#]\{1,\}/s! ! !' $i #以#开头的行, 删除多余的空格 + #sed -i '/!\[\](images/s#images\(.*\)?raw=true#../Images\1#' $i + sed -i '/!\[\](images/s#images\(.*\)?raw=true#../images\1#' $i #处理md文件中的image src属性 + sed -i '/[#]\{2,\} links/,/[ ]\{0,\}Id\$.*/d' $i #删除页面链接 done ../build-web-application-with-golang >/dev/null -rm *.md -echo "ļѾʹsigilhtmlĿ¼еhtmlļimagesĿ¼еͼƬļepub" +list="README.html `ls [1-9]*.html |sort -h` LICENSE.html" +cat > metadata.txt <Astaxie +一本开源的Go Web编程书籍 +zh-CN +Creative Commons +Go Web编程 +EOF + +pandoc --reference-links -S --toc -f html -t epub --epub-metadata=metadata.txt --epub-cover-image=../images/cover.png \ +-o ../build-web-application-with-golang.epub $list +popd >/dev/null +rm -rf html +echo "build-web-application-with-golang.epub 已经建立" diff --git a/images/cover.png b/images/cover.png new file mode 100644 index 00000000..22bfab44 Binary files /dev/null and b/images/cover.png differ