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 |