From 5f7786973f57b2ff5d416bce128e0070aac8dd8a Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 9 Apr 2026 18:18:51 -0400 Subject: [PATCH 1/2] deploy to github pages --- .github/workflows/deploy.yml | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e6710135c..6725241b8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,26 +11,30 @@ jobs: deploy: runs-on: ubuntu-latest permissions: - contents: read - deployments: write + pages: write id-token: write - packages: read + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: - node-version: 20 - cache: 'yarn' - - run: yarn --frozen-lockfile + node-version: 24 + cache: yarn - id: date run: echo "date=$(TZ=America/Los_Angeles date +'%Y-%m-%d')" >> $GITHUB_OUTPUT - id: cache-data - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: docs/.observablehq/cache key: data-${{ hashFiles('docs/data/*') }}-${{ steps.date.outputs.date }} - run: yarn build - run: yarn docs:build - - run: yarn docs:deploy - env: - OBSERVABLE_TOKEN: ${{ secrets.OBSERVABLE_API_TOKEN }} + - uses: actions/configure-pages@v6 + - uses: actions/upload-pages-artifact@v4 + with: + path: dist + - name: Deploy + id: deployment + uses: actions/deploy-pages@v5 From 3e0c958fbc1a0244e73ef00bee8a9cdcbf415ac5 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 9 Apr 2026 18:21:58 -0400 Subject: [PATCH 2/2] restore first-party analytics --- examples/observablehq.config.js | 3 ++- observablehq.config.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/observablehq.config.js b/examples/observablehq.config.js index 19fcc37b2..56ad293d6 100644 --- a/examples/observablehq.config.js +++ b/examples/observablehq.config.js @@ -12,7 +12,8 @@ export default { sidebar: false, ...baseConfig, title: "Observable Framework", - head: ` + head: ` + `, header: `