This is an automated email from the ASF dual-hosted git repository.

francischuang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 26433fe497 [CALCITE-6794] Site Gemfile contains vulnerable ruby 
libraries
26433fe497 is described below

commit 26433fe4972c743de21ac9f3dfded98a5be0bf6f
Author: Hugh Pearse <[email protected]>
AuthorDate: Thu Jan 23 10:13:27 2025 -0600

    [CALCITE-6794] Site Gemfile contains vulnerable ruby libraries
---
 site/Gemfile            |   7 ++-
 site/Gemfile.lock       | 134 ++++++++++++++++++++++++++++++++++++------------
 site/README.md          |   2 +-
 site/_sass/_style.scss  |  76 ++++++++++++++-------------
 site/css/screen.scss    |  13 ++---
 site/docker-compose.yml |  17 +++---
 6 files changed, 162 insertions(+), 87 deletions(-)

diff --git a/site/Gemfile b/site/Gemfile
index de8818349b..289e531a49 100644
--- a/site/Gemfile
+++ b/site/Gemfile
@@ -15,8 +15,11 @@
 #
 source 'https://rubygems.org'
 gem 'jekyll', '~>4'
-gem "webrick", "~> 1.7"
-gem "nokogiri", "~> 1.14"
+gem "webrick", "~> 1.9.1"
+gem "nokogiri", "~> 1.18.2"
+gem "csv", "~> 3.3.2"
+gem "base64", "~> 0.2.0"
+
 
 group :jekyll_plugins do
   gem 'jekyll-redirect-from'
diff --git a/site/Gemfile.lock b/site/Gemfile.lock
index ba69c6ecaf..7211c6b6ca 100644
--- a/site/Gemfile.lock
+++ b/site/Gemfile.lock
@@ -1,77 +1,143 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    addressable (2.8.0)
-      public_suffix (>= 2.0.2, < 5.0)
+    addressable (2.8.7)
+      public_suffix (>= 2.0.2, < 7.0)
+    base64 (0.2.0)
+    bigdecimal (3.1.9)
     colorator (1.1.0)
-    concurrent-ruby (1.1.10)
+    concurrent-ruby (1.3.5)
+    csv (3.3.2)
     em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0)
     eventmachine (1.2.7)
-    ffi (1.15.5)
+    ffi (1.17.1-aarch64-linux-gnu)
+    ffi (1.17.1-aarch64-linux-musl)
+    ffi (1.17.1-arm-linux-gnu)
+    ffi (1.17.1-arm-linux-musl)
+    ffi (1.17.1-arm64-darwin)
+    ffi (1.17.1-x86_64-darwin)
+    ffi (1.17.1-x86_64-linux-gnu)
+    ffi (1.17.1-x86_64-linux-musl)
     forwardable-extended (2.6.0)
+    google-protobuf (4.29.3)
+      bigdecimal
+      rake (>= 13)
+    google-protobuf (4.29.3-aarch64-linux)
+      bigdecimal
+      rake (>= 13)
+    google-protobuf (4.29.3-arm64-darwin)
+      bigdecimal
+      rake (>= 13)
+    google-protobuf (4.29.3-x86_64-darwin)
+      bigdecimal
+      rake (>= 13)
+    google-protobuf (4.29.3-x86_64-linux)
+      bigdecimal
+      rake (>= 13)
     http_parser.rb (0.8.0)
-    i18n (1.10.0)
+    i18n (1.14.7)
       concurrent-ruby (~> 1.0)
-    jekyll (4.2.2)
+    jekyll (4.3.4)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
       i18n (~> 1.0)
-      jekyll-sass-converter (~> 2.0)
+      jekyll-sass-converter (>= 2.0, < 4.0)
       jekyll-watch (~> 2.0)
-      kramdown (~> 2.3)
+      kramdown (~> 2.3, >= 2.3.1)
       kramdown-parser-gfm (~> 1.0)
       liquid (~> 4.0)
-      mercenary (~> 0.4.0)
+      mercenary (>= 0.3.6, < 0.5)
       pathutil (~> 0.9)
-      rouge (~> 3.0)
+      rouge (>= 3.0, < 5.0)
       safe_yaml (~> 1.0)
-      terminal-table (~> 2.0)
+      terminal-table (>= 1.8, < 4.0)
+      webrick (~> 1.7)
     jekyll-redirect-from (0.16.0)
       jekyll (>= 3.3, < 5.0)
-    jekyll-sass-converter (2.2.0)
-      sassc (> 2.0.1, < 3.0)
+    jekyll-sass-converter (3.0.0)
+      sass-embedded (~> 1.54)
     jekyll-watch (2.2.1)
       listen (~> 3.0)
-    kramdown (2.3.2)
-      rexml
+    kramdown (2.5.1)
+      rexml (>= 3.3.9)
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    liquid (4.0.3)
-    listen (3.7.1)
+    liquid (4.0.4)
+    listen (3.9.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.4.0)
-    nokogiri (1.14.3-x86_64-linux)
+    nokogiri (1.18.2-aarch64-linux-gnu)
+      racc (~> 1.4)
+    nokogiri (1.18.2-aarch64-linux-musl)
+      racc (~> 1.4)
+    nokogiri (1.18.2-arm-linux-gnu)
+      racc (~> 1.4)
+    nokogiri (1.18.2-arm-linux-musl)
+      racc (~> 1.4)
+    nokogiri (1.18.2-arm64-darwin)
+      racc (~> 1.4)
+    nokogiri (1.18.2-x86_64-darwin)
+      racc (~> 1.4)
+    nokogiri (1.18.2-x86_64-linux-gnu)
+      racc (~> 1.4)
+    nokogiri (1.18.2-x86_64-linux-musl)
       racc (~> 1.4)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (4.0.7)
-    racc (1.6.2)
-    rb-fsevent (0.11.1)
-    rb-inotify (0.10.1)
+    public_suffix (6.0.1)
+    racc (1.8.1)
+    rake (13.2.1)
+    rb-fsevent (0.11.2)
+    rb-inotify (0.11.1)
       ffi (~> 1.0)
-    rexml (3.2.5)
-    rouge (3.28.0)
+    rexml (3.4.0)
+    rouge (4.5.1)
     safe_yaml (1.0.5)
-    sassc (2.4.0)
-      ffi (~> 1.9)
-    terminal-table (2.0.0)
-      unicode-display_width (~> 1.1, >= 1.1.1)
-    unicode-display_width (1.8.0)
-    webrick (1.7.0)
+    sass-embedded (1.83.4-aarch64-linux-gnu)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-aarch64-linux-musl)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-arm-linux-gnueabihf)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-arm-linux-musleabihf)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-arm64-darwin)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-x86_64-darwin)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-x86_64-linux-gnu)
+      google-protobuf (~> 4.29)
+    sass-embedded (1.83.4-x86_64-linux-musl)
+      google-protobuf (~> 4.29)
+    terminal-table (3.0.2)
+      unicode-display_width (>= 1.1.1, < 3)
+    unicode-display_width (2.6.0)
+    webrick (1.9.1)
 
 PLATFORMS
-  x86_64-linux
+  aarch64-linux
+  aarch64-linux-gnu
+  aarch64-linux-musl
+  arm-linux-gnu
+  arm-linux-gnueabihf
+  arm-linux-musl
+  arm-linux-musleabihf
+  arm64-darwin
+  x86_64-darwin
+  x86_64-linux-gnu
   x86_64-linux-musl
 
 DEPENDENCIES
+  base64 (~> 0.2.0)
+  csv (~> 3.3.2)
   jekyll (~> 4)
   jekyll-redirect-from
-  nokogiri (~> 1.14)
-  webrick (~> 1.7)
+  nokogiri (~> 1.18.2)
+  webrick (~> 1.9.1)
 
 BUNDLED WITH
-   2.3.11
+   2.5.22
diff --git a/site/README.md b/site/README.md
index 68c482ec9a..ff374cf59a 100644
--- a/site/README.md
+++ b/site/README.md
@@ -68,7 +68,7 @@ ### Setup your environment
 ### Build site
 
 1. `cd site`
-2. `docker compose run build-site`
+2. `env JEKYLL_UID=$(id -u) JEKYLL_GID=$(id -g) docker compose run build-site`
 
 ### Generate javadoc
 
diff --git a/site/_sass/_style.scss b/site/_sass/_style.scss
index 978dd045cf..9fa593cf30 100644
--- a/site/_sass/_style.scss
+++ b/site/_sass/_style.scss
@@ -1,5 +1,7 @@
 /* Base */
 
+@use "mixins" as m;
+
 * {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
@@ -11,7 +13,7 @@ body {
   color: #ddd;
   background-color: #333;
   border-top: 5px solid #33adff;
-  @include box-shadow(inset 0 3px 30px rgba(0,0,0,.3));
+  @include m.box-shadow(inset 0 3px 30px rgba(0,0,0,.3));
   text-shadow: 0 1px 3px rgba(0,0,0,.5);
   -webkit-font-feature-settings: "kern" 1;
   -moz-font-feature-settings: "kern" 1;
@@ -67,17 +69,17 @@ nav {
     margin-right: 10px;
 
     a {
-      @include border-radius(5px);
+      @include m.border-radius(5px);
       font-weight: 900;
       font-size: 14px;
       padding: 0.5em 1em;
       text-shadow: none;
       text-transform: uppercase;
-      @include transition(all .25s);
+      @include m.transition(all .25s);
 
       &:hover {
         background-color: #252525;
-        @include box-shadow(inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 
rgba(255,255,255,.1));
+        @include m.box-shadow(inset 0 1px 3px rgba(0,0,0,.5), 0 1px 0 
rgba(255,255,255,.1));
         text-shadow: 0 1px 3px rgba(0,0,0,.5);
       }
     }
@@ -87,7 +89,7 @@ nav {
       a {
         background-color: #33adff;
         color: #222;
-        @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px 
rgba(0,0,0,.5));
+        @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px 
rgba(0,0,0,.5));
         text-shadow: 0 1px 0 rgba(255,255,255,.3);
       }
     }
@@ -112,7 +114,7 @@ nav {
     font-size: 14px;
     font-weight: 900;
     padding: 5px;
-    @include border-radius(5px);
+    @include m.border-radius(5px);
   }
 
   li {
@@ -126,7 +128,7 @@ nav {
     a {
       background-color: #33adff;
       color: #222;
-      @include box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px 
rgba(0,0,0,.5));
+      @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.5), 0 1px 5px 
rgba(0,0,0,.5));
       text-shadow: 0 1px 0 rgba(255,255,255,.3);
     }
   }
@@ -141,7 +143,7 @@ nav {
   left: 0.5em;
   opacity: 0;
   font-size: 0.8em;
-  @include transition(opacity 0.2s ease-in-out 0.1s);
+  @include m.transition(opacity 0.2s ease-in-out 0.1s);
 }
 h2:hover .header-link,
 h3:hover .header-link,
@@ -195,7 +197,7 @@ footer {
     margin-left: 5px;
     opacity: .8;
     padding: 1px;
-    @include transition(opacity .2s);
+    @include m.transition(opacity .2s);
   }
 }
 
@@ -229,7 +231,7 @@ footer {
   background-color: #3F1F1F;
   color: #fff;
   margin: 60px 0;
-  @include box-shadow(inset 0 3px 10px rgba(0,0,0,.4));
+  @include m.box-shadow(inset 0 3px 10px rgba(0,0,0,.4));
 
   .content { padding: 0; }
 
@@ -278,8 +280,8 @@ footer {
       text-align: center;
       margin: 0 20px;
       padding: 5px 0;
-      @include border-radius(5px 5px 0 0);
-      @include box-shadow(0 3px 10px rgba(0,0,0,.5));
+      @include m.border-radius(5px 5px 0 0);
+      @include m.box-shadow(0 3px 10px rgba(0,0,0,.5));
       font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif;
       color: #444;
       text-shadow: 0 1px 0 rgba(255,255,255,.5);
@@ -299,8 +301,8 @@ footer {
       text-shadow: none;
       margin: 0 20px;
       background-color: #171717;
-      @include border-radius(0 0 5px 5px);
-      @include box-shadow(0 5px 30px rgba(0,0,0,.3));
+      @include m.border-radius(0 0 5px 5px);
+      @include m.box-shadow(0 5px 30px rgba(0,0,0,.3));
     }
 
     .line {
@@ -313,7 +315,7 @@ footer {
 
     .path {
       color: #87ceeb;
-      @include user-select(none);
+      @include m.user-select(none);
     }
 
     .prompt {
@@ -367,10 +369,10 @@ footer {
 
 article {
   background-color: #444;
-  @include border-radius(10px);
+  @include m.border-radius(10px);
   padding: 20px;
   margin: 0 10px;
-  @include box-shadow(0 3px 10px rgba(0,0,0,.1));
+  @include m.box-shadow(0 3px 10px rgba(0,0,0,.1));
   font-size: 16px;
 }
 
@@ -457,9 +459,9 @@ aside {
     text-transform: uppercase;
     font-weight: 700;
     padding: 8px 12px 10px;
-    @include border-radius(5px);
+    @include m.border-radius(5px);
     /*border: 1px solid #333;*/
-    @include box-shadow(0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px 
rgba(255,255,255,.5));
+    @include m.box-shadow(0 1px 3px rgba(0,0,0,.3), inset 0 1px 1px 
rgba(255,255,255,.5));
     background-color: #767676;
   }
 
@@ -532,9 +534,9 @@ article h2:first-child { margin-top: 0; }
   margin-left: -30px;
   padding: 6px 10px 8px;
   padding-left: 50px;
-  @include border-radius(0 5px 5px 0);
+  @include m.border-radius(0 5px 5px 0);
   position: relative;
-  @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+  @include m.box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
   background-color: #9e2812;
   background-image: 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
 [...]
   background-image: -webkit-gradient(linear, left top, left bottom, 
from(#9e2812), to(#6f0d0d));
@@ -575,7 +577,7 @@ article h2:first-child { margin-top: 0; }
 }
 
 .avatar {
-  @include border-radius(3px);
+  @include m.border-radius(3px);
   display: inline-block;
   vertical-align: middle;
 }
@@ -592,9 +594,9 @@ article h2:first-child { margin-top: 0; }
 
 .news article + article {
   margin-top: -10px;
-  @include border-radius(0 0 10px 10px);
+  @include m.border-radius(0 0 10px 10px);
   border-top: 1px solid #555;
-  @include box-shadow(0 -1px 0 #2f2f2f);
+  @include m.box-shadow(0 -1px 0 #2f2f2f);
 }
 
 /* Code Highlighting */
@@ -622,8 +624,8 @@ h5 > code,
 .note > code {
   background-color: #2b2b2b;
   color: #fff;
-  @include border-radius(5px);
-  @include box-shadow(inset 0 1px 10px rgba(0,0,0,.3),
+  @include m.border-radius(5px);
+  @include m.box-shadow(inset 0 1px 10px rgba(0,0,0,.3),
     0 1px 0 rgba(255,255,255,.1),
     0 -1px 0 rgba(0,0,0,.5));
 }
@@ -650,7 +652,7 @@ h1, h2, h3, h4, h5, h6 { margin: 0; }
 a {
   color: #33adff;
   text-decoration: none;
-  @include transition(all .25s);
+  @include m.transition(all .25s);
 
   &:hover { color: #33adff; }
 }
@@ -713,8 +715,8 @@ table {
   width: 100%;
   background-color: #555;
   margin: .5em 0;
-  @include border-radius(5px);
-  @include box-shadow(0 1px 3px rgba(0,0,0,.3));
+  @include m.border-radius(5px);
+  @include m.box-shadow(0 1px 3px rgba(0,0,0,.3));
 }
 
 /* The CSS class is added via _plugins/wrap_table.rb plugin to enable 
horizontal scrolling */
@@ -723,8 +725,8 @@ table {
 }
 
 thead {
-  @include border-top-left-radius(5px);
-  @include border-top-right-radius(5px);
+  @include m.border-top-left-radius(5px);
+  @include m.border-top-right-radius(5px);
   color: #fff;
   background-color: #3a3a3a;
   background-image: 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
 [...]
@@ -737,14 +739,14 @@ thead {
 
   th {
     position: relative;
-    @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+    @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
 
     &:first-child {
-      @include border-top-left-radius(5px);
+      @include m.border-top-left-radius(5px);
     }
 
     &:last-child {
-      @include border-top-right-radius(5px);
+      @include m.border-top-right-radius(5px);
     }
   }
 }
@@ -764,7 +766,7 @@ th {
 tbody td {
   border-top: 1px solid #747474;
   border-top: 1px solid rgba(0,0,0,.1);
-  @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
+  @include m.box-shadow(inset 0 1px 0 rgba(255,255,255,.1));
   background: 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3Rv
 [...]
   background-image: -webkit-gradient(linear, left top, left bottom, 
from(rgba(255,255,255,0.1)), to(rgba(255,255,255,0)));
   background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.1) 0%, 
rgba(255,255,255,0) 100%);
@@ -808,9 +810,9 @@ code.output {
   margin-left: -30px;
   padding: 20px 20px 24px;
   padding-left: 50px;
-  @include border-radius(0 5px 5px 0);
+  @include m.border-radius(0 5px 5px 0);
   position: relative;
-  @include box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
+  @include m.box-shadow(0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 
rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3));
   background-color: #7e6d42;
   background-image: 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIH
 [...]
   background-image: -webkit-gradient(linear, left top, left bottom, 
from(#7e6d42), to(#5c4e35));
diff --git a/site/css/screen.scss b/site/css/screen.scss
index 2eff7f89df..47937f7700 100644
--- a/site/css/screen.scss
+++ b/site/css/screen.scss
@@ -1,9 +1,10 @@
 ---
 ---
 
-@import "mixins";
-@import "normalize";
-@import "gridism";
-@import "pygments";
-@import "font-awesome";
-@import "style";
+@use "mixins" as m;
+@use "normalize";
+@use "gridism";
+@use "pygments";
+@use "font-awesome";
+@use "style";
+
diff --git a/site/docker-compose.yml b/site/docker-compose.yml
index e945e7627a..593229e1b6 100644
--- a/site/docker-compose.yml
+++ b/site/docker-compose.yml
@@ -14,20 +14,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-version: '3'
 services:
   dev:
-    image: jekyll/jekyll:4
-    command: jekyll serve --watch --force_polling
+    image: ruby:3.3.7-slim-bullseye
+    working_dir: /root
+    command: sh -c "apt-get update && apt-get install -y build-essential 
libssl-dev zlib1g-dev ruby-dev bundler && bundle install && bundle exec jekyll 
serve --host=0.0.0.0 --watch --force_polling"
     ports:
       - 4000:4000
     volumes:
-      - .:/srv/jekyll
+      - .:/root
   build-site:
-    image: jekyll/jekyll:4
-    command: jekyll build
+    image: ruby:3.3.7-slim-bullseye
+    command: sh -c "groupadd -g ${JEKYLL_GID:-1000} jekyll && useradd -u 
${JEKYLL_UID:-1000} -g ${JEKYLL_GID:-1000} --create-home jekyll && rm -rf 
/home/jekyll/.bundle /home/jekyll/Gemfile.lock /home/jekyll/.jekyll-cache && 
apt-get update && apt-get install -y build-essential libssl-dev zlib1g-dev 
ruby-dev bundler && su jekyll -c 'cd ~ && bundle install && bundle exec jekyll 
build'"
     volumes:
-      - .:/srv/jekyll
+      - .:/home/jekyll
+    environment:
+      - JEKYLL_UID=${JEKYLL_UID}
+      - JEKYLL_GID=${JEKYLL_GID}
   generate-javadoc:
     image: eclipse-temurin:19
     working_dir: /usr/src/calcite

Reply via email to