<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/standard-events-actions-liquid-storefronts</loc>
    <lastmod>2026-09-27T12:44:05+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/standard-events-actions-liquid-storefronts-refresh.png?v=1790509445</image:loc>
      <image:title>Standard events and actions: one contract every Liquid storefront now speaks</image:title>
      <image:caption>A pair of matching interfaces exchange events and actions in opposite directions.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/run-graphql-shopify-store-execute</loc>
    <lastmod>2026-09-27T12:44:06+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/run-graphql-shopify-store-execute-refresh.png?v=1790509446</image:loc>
      <image:title>Run GraphQL against any Shopify store from your terminal</image:title>
      <image:caption>A command prompt sends a query directly into a connected data graph.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/easel-vite-shopify-liquid-themes</loc>
    <lastmod>2026-09-27T13:03:37+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/easel-source-to-bundle.png?v=1790510617</image:loc>
      <image:title>Easel: Vite for Shopify Liquid themes</image:title>
      <image:caption>Three source modules converge into one organised theme bundle.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/create-dev-stores-shopify-cli</loc>
    <lastmod>2026-09-27T12:44:07+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/create-dev-stores-shopify-cli-refresh.png?v=1790509447</image:loc>
      <image:title>Create dev stores directly from Shopify CLI</image:title>
      <image:caption>A new storefront instance emerges from a terminal command.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/proof-shopify-theme-pull-request-previews</loc>
    <lastmod>2026-09-27T13:00:46+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/proof-shopify-theme-pull-request-previews-refresh.png?v=1790510446</image:loc>
      <image:title>Proof: pull request previews for Shopify themes</image:title>
      <image:caption>A pull request branches off the main history into a reviewable storefront preview.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/revisiting-alpine-mcp-current-docs-local-search</loc>
    <lastmod>2026-09-27T13:00:45+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/revisiting-alpine-mcp-current-docs-local-search-refresh.png?v=1790510445</image:loc>
      <image:title>Revisiting alpine-mcp with current docs and local search</image:title>
      <image:caption>A search target isolates one page from a local documentation index.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/alpine-resize-visual-viewport</loc>
    <lastmod>2026-09-23T08:09:35+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/alpine-viewport-clean.png?v=1790147375</image:loc>
      <image:title>Alpine&apos;s Resize plugin can now track the visual viewport</image:title>
      <image:caption>Viewport corner marks moving inward to show a smaller visible area</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/alpine-js-for-shopify-themes</loc>
    <lastmod>2026-09-23T06:19:06+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/alpine-js-shopify-themes.png?v=1790077538</image:loc>
      <image:title>Alpine.js for Shopify themes: a practical architecture</image:title>
      <image:caption>Shopify Liquid, Alpine.js, and browser interaction shown as three connected layers</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/npm-pnpm-parallel-scripts-shopify-themes</loc>
    <lastmod>2026-09-27T12:44:06+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/npm-pnpm-parallel-scripts-shopify-themes-refresh.png?v=1790509446</image:loc>
      <image:title>Run Vite and Shopify CLI together with npm or pnpm</image:title>
      <image:caption>Two long parallel task tracks above two shorter stages connected in sequence.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/building-custom-cookie-banner-shopify-themes</loc>
    <lastmod>2026-09-28T11:07:10+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/shopify-cookie-banner-permission-gates.png?v=1790505678</image:loc>
      <image:title>Building a custom cookie banner for Shopify themes</image:title>
      <image:caption>Three permission paths, with checked choices allowing signals through and an unchecked choice stopping one.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://billynoyes.co.uk/blogs/notebook/github-actions-shopify-theme-staging-production</loc>
    <lastmod>2026-09-30T12:56:56+01:00</lastmod>
    <changefreq>weekly</changefreq>
    <image:image>
      <image:loc>https://cdn.shopify.com/s/files/1/1444/4812/6998/articles/github-actions-staging-production.png?v=1790768445</image:loc>
      <image:title>Deploying Shopify themes to staging and production with GitHub Actions</image:title>
      <image:caption>Staged changes on one track pass through a release checkpoint onto a separate production track.</image:caption>
    </image:image>
  </url>
</urlset>
