Spaces:
Sleeping
Sleeping
| # Use this template if you want to build your site with Gitlab pages. | |
| image: | |
| name: golang:1.23.4-bookworm | |
| variables: | |
| GIT_DEPTH: 0 | |
| GIT_STRATEGY: clone | |
| GIT_SUBMODULE_STRATEGY: recursive | |
| HUGO_VERSION: 0.143.1 | |
| NODE_VERSION: 23.x | |
| pages: | |
| script: | |
| # Install brotli | |
| - apt-get update | |
| - apt-get install -y brotli | |
| # Install Dart Sass | |
| # hugo-brewm don't use Dart Sass at the moment. | |
| # - curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz | |
| # - tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz | |
| # - cp -r dart-sass/ /usr/local/bin | |
| # - rm -rf dart-sass* | |
| # - export PATH=/usr/local/bin/dart-sass:$PATH | |
| # Install Hugo | |
| - curl -LJO https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb | |
| - apt-get install -y ./hugo_extended_${HUGO_VERSION}_linux-amd64.deb | |
| - rm hugo_extended_${HUGO_VERSION}_linux-amd64.deb | |
| # Install Node.js | |
| - curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION} | bash - | |
| - apt-get install -y nodejs | |
| # Install Node.js dependencies | |
| - "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" | |
| # Build | |
| - hugo --gc --minify --baseURL ${CI_PAGES_URL} | |
| # Index with PageFind | |
| - npx pagefind --site "public" | |
| # Compress | |
| - find public -type f -regex '.*\.\(css\|html\|js\|txt\|xml\)$' -exec gzip -f -k {} \; | |
| - find public -type f -regex '.*\.\(css\|html\|js\|txt\|xml\)$' -exec brotli -f -k {} \; | |
| artifacts: | |
| paths: | |
| - public | |
| rules: | |
| - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH |