Nuxt or Next more so than Gatsby.
By definition, a static site can’t be SPA. But it might be much faster
I suppose you could use Jekyll to generate the basic HTML framework, and then use javascript to pull in the relevant content as the user navigates through the system, but that is why front-end frameworks were invented, and why tools like Next and Nuxt are focused on server-side rendering of the initial page, and then pre-rendering the succeeding ‘pages’, to speed up response.