diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 57a4bd8..f8bb4ac 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -16,24 +16,36 @@ concurrency: cancel-in-progress: false jobs: + # Build job build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for proper git info + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.1' + bundler-cache: true # runs 'bundle install' and caches gems - name: Setup Pages + id: pages uses: actions/configure-pages@v4 - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./ - destination: ./_site + run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production - name: Upload artifact uses: actions/upload-pages-artifact@v3 + with: + path: ./_site + # Deployment job deploy: environment: name: github-pages diff --git a/.gitignore b/.gitignore index 24a6377..cb8cb90 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,13 @@ vite.config.ts.* # Environment variables .env + +# Jekyll / GitHub Pages +/.bundle/ +/vendor/ +/_site/ +/.jekyll-cache/ +/.jekyll-metadata +Gemfile.lock .env.local .env.*.local \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..4f6a7b3 --- /dev/null +++ b/Gemfile @@ -0,0 +1,31 @@ +source "https://rubygems.org" + +# GitHub Pages gem includes Jekyll and common plugins +gem "github-pages", "~> 231", group: :jekyll_plugins + +# Additional recommended plugins +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" + gem "jekyll-seo-tag", "~> 2.8" + gem "jekyll-sitemap", "~> 1.4" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +platforms :mingw, :x64_mingw, :mswin, :jruby do + gem "tzinfo", ">= 1", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] + +# kramdown v2 ships without the gfm parser by default +gem "kramdown-parser-gfm" + +# webrick is no longer bundled with Ruby 3.0+ +gem "webrick", "~> 1.8"