diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..40a2387 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +# .github/dependabot.yml +version: 2 +updates: + - package-ecosystem: 'bundler' + directory: '/' + schedule: + interval: 'daily' diff --git a/.readthedocs.yml b/.readthedocs.yml index b3dd82e..70c0baf 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -7,10 +7,10 @@ version: 2 # Set the version of Python and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 commands: - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409b6b1796c275462a1703113804bb82d39dc0e3 7d2baf1cf37b13e2069d6956105bd0e739499bdb && curl -sSL https://get.rvm.io | bash -s stable - - ~/.rvm/bin/rvm autolibs disable && ~/.rvm/bin/rvm install ruby 3.1.2 - - PATH="$HOME/.rvm/rubies/ruby-3.1.2/bin:$PATH" gem install bundler - - PATH="$HOME/.rvm/rubies/ruby-3.1.2/bin:$PATH" bundle install - - PATH="$HOME/.rvm/rubies/ruby-3.1.2/bin:$PATH" bundle exec jekyll build --destination _readthedocs/html --baseurl $(echo -n "$READTHEDOCS_CANONICAL_URL" | cut -d '/' -f 4-) \ No newline at end of file + - ~/.rvm/bin/rvm autolibs disable && ~/.rvm/bin/rvm install ruby 3.4.3 + - PATH="$HOME/.rvm/rubies/ruby-3.4.3/bin:$PATH" gem install bundler + - PATH="$HOME/.rvm/rubies/ruby-3.4.3/bin:$PATH" bundle install + - PATH="$HOME/.rvm/rubies/ruby-3.4.3/bin:$PATH" bundle exec jekyll build --destination _readthedocs/html --baseurl $(echo -n "$READTHEDOCS_CANONICAL_URL" | cut -d '/' -f 4-) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fcc4994 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM ruby:3.4-slim + +RUN gem install bundler + +COPY . /src +WORKDIR /src + +RUN apt-get update -y +RUN apt-get install ruby-dev -y +RUN apt-get install make gcc g++ -y +RUN bundle install +RUN cat Gemfile.lock +ENTRYPOINT bundle exec jekyll serve diff --git a/Gemfile b/Gemfile index 13a360e..0838a70 100644 --- a/Gemfile +++ b/Gemfile @@ -17,16 +17,16 @@ gem "github-pages", group: :jekyll_plugins # If you have any plugins, put them here! group :jekyll_plugins do - gem "jekyll-feed", "~> 0.13" - gem "jekyll-include-cache" - gem "jekyll-sitemap" + gem "jekyll-feed", "~> 0.17" + gem "jekyll-include-cache", "~> 0.2" + gem "jekyll-sitemap", "~> 1.4" end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.0" if Gem.win_platform? +gem "wdm", "~> 0.2.0" if Gem.win_platform? gem "webrick", "~> 1.8" diff --git a/Gemfile.lock b/Gemfile.lock index a7b86cc..3f198c5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,52 +1,67 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.1.3) + activesupport (8.0.2) base64 + benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) base64 (0.2.0) - bigdecimal (3.1.6) + benchmark (0.4.0) + bigdecimal (3.1.9) coffee-script (2.4.1) coffee-script-source execjs coffee-script-source (1.12.2) colorator (1.1.0) - commonmarker (0.23.10) - concurrent-ruby (1.2.3) - connection_pool (2.4.1) - dnsruby (1.70.0) + commonmarker (0.23.11) + concurrent-ruby (1.3.5) + connection_pool (2.5.1) + csv (3.3.4) + dnsruby (1.72.4) + base64 (~> 0.2.0) + logger (~> 1.6.5) simpleidn (~> 0.2.1) - drb (2.2.0) - ruby2_keywords + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) ethon (0.16.0) ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.9.1) - faraday (2.9.0) - faraday-net_http (>= 2.0, < 3.2) - faraday-net_http (3.1.0) - net-http - ffi (1.16.3) + execjs (2.10.0) + faraday (2.13.0) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.0) + net-http (>= 0.5.0) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) forwardable-extended (2.6.0) gemoji (4.1.0) - github-pages (231) + github-pages (232) github-pages-health-check (= 1.18.2) - jekyll (= 3.9.5) + jekyll (= 3.10.0) jekyll-avatar (= 0.8.0) jekyll-coffeescript (= 1.2.2) - jekyll-commonmark-ghpages (= 0.4.0) + jekyll-commonmark-ghpages (= 0.5.1) jekyll-default-layout (= 0.1.5) jekyll-feed (= 0.17.0) jekyll-gist (= 1.5.0) @@ -83,9 +98,10 @@ GEM liquid (= 4.0.4) mercenary (~> 0.3) minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) + nokogiri (>= 1.16.2, < 2.0) rouge (= 3.30.0) terminal-table (~> 1.4) + webrick (~> 1.8) github-pages-health-check (1.18.2) addressable (~> 2.3) dnsruby (~> 1.60) @@ -96,11 +112,12 @@ GEM activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (1.14.1) + i18n (1.14.7) concurrent-ruby (~> 1.0) - jekyll (3.9.5) + jekyll (3.10.0) addressable (~> 2.4) colorator (~> 1.0) + csv (~> 3.0) em-websocket (~> 0.5) i18n (>= 0.7, < 2) jekyll-sass-converter (~> 1.0) @@ -111,6 +128,7 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) + webrick (>= 1.0) jekyll-avatar (0.8.0) jekyll (>= 3.0, < 5.0) jekyll-coffeescript (1.2.2) @@ -118,9 +136,9 @@ GEM coffee-script-source (~> 1.12) jekyll-commonmark (1.4.0) commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) jekyll-commonmark (~> 1.4.0) rouge (>= 2.0, < 5.0) jekyll-default-layout (0.1.5) @@ -206,41 +224,53 @@ GEM gemoji (>= 3, < 5) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) + json (2.10.2) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.4) - listen (3.8.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.6) mercenary (0.3.6) - mini_portile2 (2.8.8) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) - minitest (5.22.2) - mutex_m (0.2.0) - net-http (0.4.1) + minitest (5.25.5) + net-http (0.6.0) uri - nokogiri (1.18.4) - mini_portile2 (~> 2.8.2) + nokogiri (1.18.7-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.7-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.7-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.7-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.7-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.7-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.7-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.7-x86_64-linux-musl) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (5.0.4) + public_suffix (5.1.1) racc (1.8.1) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.3.9) + rexml (3.4.1) rouge (3.30.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rubyzip (2.4.1) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) @@ -250,33 +280,37 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - simpleidn (0.2.1) - unf (~> 0.1.4) + securerandom (0.4.1) + simpleidn (0.2.3) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) typhoeus (1.4.1) ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.9.1) unicode-display_width (1.8.0) - uri (0.13.0) - webrick (1.8.2) + uri (1.0.3) + webrick (1.9.1) PLATFORMS - ruby + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES github-pages - jekyll-feed (~> 0.13) - jekyll-include-cache + jekyll-feed (~> 0.17) + jekyll-include-cache (~> 0.2) jekyll-redirect-from - jekyll-sitemap + jekyll-sitemap (~> 1.4) kramdown-parser-gfm tzinfo-data webrick (~> 1.8) BUNDLED WITH - 2.3.6 + 2.6.8 diff --git a/README.md b/README.md index 4876495..c861870 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,39 @@ Main Zarr website hosted at https://zarr.dev ## Building +To build the webpage, you will need a working Ruby installation. + +If you are on Ubuntu and want to install the requirements locally, +follow the steps below as root. Alternatively, see the Dockerfile +for an alternative. + +1. Install `rvm`. + +``` +gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409b6b1796c275462a1703113804bb82d39dc0e3 7d2baf1cf37b13e2069d6956105bd0e739499bdb && curl -sSL https://get.rvm.io | bash -s stable +``` + +2. Install Ruby +``` +rvm autolibs disable && rvm install ruby 3.4.3 +``` + +Note that if the above fails, you may need to specify the path for the `rvm` command in your system. + +3. Install `bundler` + +``` +gem install bundler +``` + +4. In the root of the repository, run: + ``` -conda create -n zarr.dev -c conda-forge rb-bundler c-compiler compilers cxx-compiler -conda activate zarr.dev bundle install -bundle exec jekyll serve ``` -Note: using conda-forge packages directly failed on eventmachine (Dec 2021): +5. Build and serve the site locally: + ``` -conda create -n zarr.dev -c conda-forge rb-jekyll rb-bundler rb-public_suffix rb-minima rb-jekyll-feed -conda activate zarr.dev bundle exec jekyll serve ```