Volevo provare un modo più facile e immediato per scrivere le pagine di questo sito e ho pensato ad un CMS headless.

Ho cercato un po’ online e ce ne sono parecchi ma l’attenzione mi è subito caduta su pagescms a l’ho provato (da cui sto scrivendo questo articolo).

Visto che funziona solo su Github ho deciso di spostare questo sito da GitLab a Github. Prima usavo le GitLab pages ad ogni deploy e avevo configurato in Cloudflare un DNS che puntava al dominio fornito da GitLab.

Ora ho un repo su Github con una action che parte quando c’è un commit su main:

on:
  push:
    branches: ["main"]
jobs:
  deploy:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      deployments: write
    name: Deploy to Cloudflare Pages
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '2.6'
      - name: Setup Environment.
        run: |
          gem install bundler -v 2.4.22
          bundle install
      - name: Build Site with Jekyll.
        run: JEKYLL_ENV=production bundle exec jekyll build
      - name: Publish
        uses: cloudflare/pages-action@v1
        with:
          apiToken: $
          accountId: $
          projectName: notes # e.g. 'my-project'
          directory: _site # e.g. 'dist'
          gitHubToken: $

Questa azione fa il build del progetto e poi carica il tutto su Cloudflare pages.

Per ora mi sembra che funzioni bene, sono soddisfatto.