diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index ce5ce2ca..3ebb1551 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -20,19 +20,6 @@ jobs: - name: Run tests run: ./run-tests.sh || exit 1 - internal-links: - name: "Absolute Internal Links" - needs: build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - uses: ./.github/workflows/site-workflow - - - name: Check for internal absolute links - run: bash -c "! grep -REi 'https?://(www.)?opentabletdriver.net' site/_site || exit 1" - html-validation: name: "Validate HTML" needs: build diff --git a/site/_layouts/default.html b/site/_layouts/default.html index 4c8aaf0b..1372f687 100644 --- a/site/_layouts/default.html +++ b/site/_layouts/default.html @@ -9,6 +9,7 @@ {{ site.title }} {%- endif -%} {% include styles.html %} +
diff --git a/site/sitemap.xml b/site/sitemap.xml new file mode 100644 index 00000000..f555811c --- /dev/null +++ b/site/sitemap.xml @@ -0,0 +1,25 @@ +--- +layout: +--- + + + + {%- for page in site.pages -%} + {%- if page.url contains '.xml' or page.url contains 'assets' %}{%- else %} + + {{ site.url }}{{ page.url }} + + {%- endif -%} + {% endfor %} + {%- for page in site.sections -%} + {%- if page.layout == "redirect" -%}{%- continue -%}{%- endif %} + + {{ site.url }}{{ page.url | replace: 'index.html', '' }} + + {%- endfor -%} + {%- for page in site.wiki %} + + {{ site.url }}{{ page.url | replace: 'index.html', '' }} + + {%- endfor %} + diff --git a/tests/check-for-internal-absolute-links/check-for-internal-absolute-links.sh b/tests/check-for-internal-absolute-links/check-for-internal-absolute-links.sh new file mode 100755 index 00000000..ec15088b --- /dev/null +++ b/tests/check-for-internal-absolute-links/check-for-internal-absolute-links.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# usage: +# ./$0 "jekyll root" "html root" +# +# for use in CI to ensure absolute links aren't being written to html files +# +set -e # exit on any error + +if [[ -z "$1" ]]; then + echo "Usage: $0 HTML_ROOT" + exit 127 +fi + +HTML_ROOT="$1" + +! grep -REi 'https?://(www.)?opentabletdriver.net' \ + --exclude=sitemap.xml \ + "${HTML_ROOT}" \ + | grep -vE 'canonical' + +rv="$?" + +if [ "$rv" -eq 0 ]; then + echo "OK" +else + echo "FAIL" +fi