diff --git a/packaging/build_deb.sh b/packaging/build_deb.sh index 2a37e2c1..54c6664e 100755 --- a/packaging/build_deb.sh +++ b/packaging/build_deb.sh @@ -1,4 +1,4 @@ -#!/bin/sh -v +#!/bin/sh set -e diff --git a/tools/build_gh_pages.sh b/tools/build_gh_pages.sh new file mode 100755 index 00000000..000cfe99 --- /dev/null +++ b/tools/build_gh_pages.sh @@ -0,0 +1,104 @@ +#!/bin/sh + +set -e + +BACKUPS=".git packages" + +BUILD="$(mktemp -dt solaar-gh-pages-XXXXXX)" +cd "$(dirname "$0")"/.. +SELF="$PWD" +SITE="$(readlink -f "$SELF/../gh-pages")" + +# +# +# + +add_md() { + local SOURCE="$SELF/$1" + local TARGET="$BUILD/$(basename "$1")" + + LAYOUT=default + TITLE=$(grep '^# ' "$SOURCE" -m 1 | cut -c 3-) + if test -n "$TITLE"; then + local TITLE="Solaar - $TITLE" + LAYOUT=page + else + local TITLE=Solaar + fi + + cat >"$TARGET" <<-FRONTMATTER + --- + layout: $LAYOUT + title: $TITLE + --- + + FRONTMATTER + + cat "$SOURCE" >>"$TARGET" +} + +fix_times() { + local SOURCE="$SELF/$1" + local TARGET="$SITE/$2" + local f + + if test -d "$SOURCE"; then + for f in "$SOURCE"/*; do + f=$(basename "$f") + fix_times "$1/$f" "$2/$f" + done + fi + touch -r "$SOURCE" "$TARGET" +} + +# +# +# + +cp -upr "$SELF/jekyll"/* "$BUILD/" +cp -up "$SELF/share/solaar/icons/solaar-logo.png" "$BUILD/images/" + +add_md docs/devices.md +add_md docs/installation.md + +add_md README.md +sed -i -e 's#\[docs/\([a-z]*\)\.md\]#[\1]#g' "$BUILD/README.md" +sed -i -e 's#(docs/\([a-z]*\)\.md)#(\1.html)#g' "$BUILD/README.md" +sed -i -e 's#(COPYING)#({{ site.repository }}/blob/master/COPYING)#g' "$BUILD/README.md" + +for l in "$BUILD/_layouts"/*.html; do + sed -e '/^$/d' "$l" | tr -d '\t' >"$l=" + mv "$l=" "$l" +done + +BACKUPS_DIR="$(mktemp -d --tmpdir="$SITE/.." backups-XXXXXX)" +for d in $BACKUPS; do + mv "$SITE/$d" "$BACKUPS_DIR" +done +jekyll --kramdown "$BUILD" "$SITE" +mv "$BACKUPS_DIR"/* "$BACKUPS_DIR"/.[a-z]* "$SITE/" +rm -rf "$BACKUPS_DIR" + +for p in "$SITE"/*.html; do + sed -i -e 's#^[ ]*##g' "$p" + sed -i -f- "$p" <<-SED + bstart + :eop /<\/p>/ brepl + { N; beop; } + :repl { s#
  • \n

    \(.*\)

    #
  • \1#g; t; } + :start /
  • / N + /
  • \n

    / {N;beop;} + :end + SED +done +mv "$SITE/README.html" "$SITE/index.html" + +fix_times README.md index.html +fix_times docs/devices.md devices.html +fix_times docs/installation.md installation.html +fix_times jekyll/images images +fix_times share/solaar/icons/solaar-logo.png images/solaar-logo.png +fix_times jekyll/style style + +mkdir -p "$SITE/packages" +cp -up "$SELF/dist/debian"/*.deb "$SITE/packages/"