Next.js can do this. They show an example of a basic index of blog posts in their tutorial using Markdown files in a directory. It wouldn't be hard to adapt that to include an image file name in the Markdown front matter, and to limit the articles to the n most recent.
I have just wrote a series of articles on that. I made a POC for my MVP and it works like a charm.
I used Gatsby and FaunaDB. Some data is static - generated at build time. And some data is dynamic.
I use FaunaDB because it offers a GraphQL server out of the box and Gatsby uses GraphQL under the hood. So I do not need to run my own GraphQL server.
To connect to the FaunaDB's GraphQL endpoint, I use Apollo Client and for now no functions. But will use it soon for secure authentication.
Here is the first article out of three. I will post the second and third articles soon. https://dev.to/sandorturanszky/how-to-launch-an-mvp-with-jamstack-faunadb-and-graphql-with-zero-running-costs-lfm
Hello! You can update the default WYSIWYG in Strapi.
Here is a guide if you want - https://strapi.io/documentation/3.0.0-beta.x/guides/registering-a-field-in-admin.html#setup