variables: GIT_SUBMODULE_STRATEGY: recursive gemini: stage: build image: alpine:latest before_script: - apk add py3-pip - pip3 install md2gemini - find /lib /usr/lib ~/ -name 'renderers.py' -exec sed -i -E 's/text\.rstrip\(\)\.endswith\("\[" \+ str\(self\.footnote_num\) \+ "\]"\)/False/' {} \; script: - cd _posts - > for i in $(ls -r *.md);do OIFS="$IFS" IFS=$'\n' mv "$i" "${i}.orig" while read LINE;do F=$(echo "$LINE" | sed 's/^{% include_relative \(.*\) %}$/\1/') if [ -f "$F" ];then cat "$F" >> "$i" else printf "%s\n" "$LINE" >> "$i" fi done < "${i}.orig" IFS=$OIFS echo "=> $(echo $i | sed s/\.md$/.gmi/) $(echo $i | cut -f 1-3 -d '-'): $(grep '^title:' $i | cut -f 2 -d \")" >> ../gemini/index.gmi done - md2gemini -w -d ../gemini -a -f -i tab -l paragraph *.md artifacts: paths: - gemini pages: stage: build image: ruby:alpine variables: JEKYLL_ENV: production LC_ALL: "C.UTF-8" before_script: - apk add npm - npm ci - npm run copy-vendor - bundle check --path .bundler || apk add git make gcc musl-dev g++ - mkdir -p .bundler - bundle install -j $(nproc) --path .bundler script: - bundle exec rougify style base16.solarized.dark | sed 's/002b36/202124/g' >> _sass/minimal-mistakes/skins/_custom.scss - bundle exec rougify style base16.solarized.light >> _sass/minimal-mistakes/skins/_custom-light.scss - bundle exec jekyll build artifacts: paths: - _site cache: paths: - .bundler deploy: stage: deploy image: alpine:latest before_script: - apk add curl script: - tar -C gemini -cvz . > gemini.tar.gz - tar -C _site -cvz . > https.tar.gz - curl --oauth2-bearer "$SRHT_PAT" -Fcontent=@gemini.tar.gz -Fprotocol=GEMINI https://pages.xdavidwu.link/publish/xdavidwu.link - curl --oauth2-bearer "$SRHT_PAT" -Fcontent=@https.tar.gz -Fprotocol=HTTPS https://pages.xdavidwu.link/publish/xdavidwu.link only: - master