From 80c7c262925cd15292953b3d2bfb908278f2144a Mon Sep 17 00:00:00 2001 From: Robert Young Date: Wed, 16 Jul 2025 09:09:16 +1200 Subject: [PATCH] Add Development Mode warning. Adds a transparent warning to the top right of the page when in development environment. This is the default jekyll environment so in the action I'm setting it to production for the real deal, though nothing acts on the "production" value currently. Swaps the favicon for a grayscale version to distinguish it. We are considering deploying a development verstion of the website continuously to GitHub pages somewhere, so we need a way to disambiguate from the main page in case someone stumbles on it. It will also make it immediately clear when developing locally that we are looking at a dev deployment. Signed-off-by: Robert Young --- .github/workflows/jekyll-gh-pages.yml | 2 +- _layouts/default.html | 9 ++++++++- _sass/kroxylicious.scss | 16 ++++++++++++++++ snapshot-favicon.ico | Bin 0 -> 15086 bytes 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 snapshot-favicon.ico diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index 05fd931..f5a4d18 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -70,7 +70,7 @@ jobs: -u "$(id -u):$(id -g)" \ -v "$(pwd):/site" \ localhost:5000/kroxy-jekyll:latest \ - bash -c 'eval "$(rbenv init -)" && cp -r /css/_sass/bootstrap /site/_sass/ && bundle exec jekyll build --config=_config.yml,_config-overrides.yml' + bash -c 'eval "$(rbenv init -)" && cp -r /css/_sass/bootstrap /site/_sass/ && JEKYLL_ENV=production bundle exec jekyll build --config=_config.yml,_config-overrides.yml' env: JEKYLL_ENV: production - name: Upload artifact diff --git a/_layouts/default.html b/_layouts/default.html index acfe86c..404953d 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,16 +1,23 @@ +{%- assign favicon = '/favicon.ico' -%} +{% if jekyll.environment == "development" %} + {%- assign favicon = '/snapshot-favicon.ico' -%} +{% endif %} {% if page.title %}{{ page.title }} | {% endif %}{{ site.title }} | {{ site.description }} - + {% seo %} +{% if jekyll.environment == "development" %} +
Development Mode
+{% endif %} {% include nav.html %}
{{ content }} diff --git a/_sass/kroxylicious.scss b/_sass/kroxylicious.scss index 869105e..a0a62ab 100644 --- a/_sass/kroxylicious.scss +++ b/_sass/kroxylicious.scss @@ -290,3 +290,19 @@ b.conum * { .conum:not([data-value]):empty { display: none } + +.dev-watermark { + position: fixed; + top: 0; + right: 0; + z-index: 9999; + + padding: 5px 10px; + background: rgba(255, 193, 7, 0.5); + color: #000; + font-family: $font-family-sans-serif; + font-size: 1.1em; + font-weight: bold; + + pointer-events: none; /* Clicks will "pass through" the watermark */ +} diff --git a/snapshot-favicon.ico b/snapshot-favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..43748dc65076aefb2d695f24de184b1fe5d6b510 GIT binary patch literal 15086 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 pO8