diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1bfeee3..bdb08e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,6 +8,8 @@ on: push: branches: - '*' + paths: + - '**.lua' pull_request: branches: [ master ] diff --git a/.github/workflows/update-site.yml b/.github/workflows/update-site.yml new file mode 100755 index 0000000..5cb4ae3 --- /dev/null +++ b/.github/workflows/update-site.yml @@ -0,0 +1,35 @@ +name: update site + +on: workflow_dispatch + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Generate md + run: ./scripts/update_site.sh + + - name: Push to gh-pages branch + run: | + git config --global user.name 'GitHub Action' + git config --global user.email 'action@github.com' + git add ./_widgets + git add ./assets/img + git stash + git fetch + echo "git checkout gh-pages" + git checkout gh-pages + rm -rf ./_widgets + rm -rf ./assets/img + ls -alF + echo "git stash pop" + git checkout stash -- ./_widgets + git checkout stash -- ./assets + git add ./_widgets + git add ./assets/img + git commit -m "update from master" + git push origin gh-pages + diff --git a/scripts/update_site.sh b/scripts/update_site.sh new file mode 100755 index 0000000..411069f --- /dev/null +++ b/scripts/update_site.sh @@ -0,0 +1,13 @@ +mkdir ./_widgets +for D in *; do + if [[ -d "${D}" ]] && [[ ${D} == *"-widget"* ]]; then + echo "${D}" + cp ${D}/README.md ./_widgets/${D}.md + sed -i '1s/^/---\nlayout: page\n---\n/' ./_widgets/${D}.md + mkdir -p ./assets/img/screenshots/${D} + + find ${D}/ \( -name '*.jpg' -o -name '*.png' -o -name '*.gif' \) -exec cp '{}' ./assets/img/screenshots/${D} \; + + sed -i "s/](\.\(\/screenshots\)\{0,1\}/](..\/awesome-wm-widgets\/assets\/img\/screenshots\/$D/g" ./_widgets/${D}.md + fi +done