summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml2
-rwxr-xr-x.github/workflows/update-site.yml35
-rwxr-xr-xscripts/update_site.sh13
3 files changed, 50 insertions, 0 deletions
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