Forum

Thread tagged as: Suggestions

Perch SSG (Static Site Generator)

Static Site Generators (SSGs) are all the rage at the moment.

https://staticsitegenerators.net/ lists a huge number of SSGs.

Of which, one half are regular CMSes (like https://getgrav.org/) with flat file databases. Besides the fact that your point to use MySQL is more than valid, these don't really qualify as SSG: they don't generate a static site.

The other half are SSGs that run on nodejs or similar and some trendy templating engines in the style of mustache, handlebars, you name it. That is cool, but it's not a CMS. It's a tool for devs to generate entire websites with content quickly.

In this whole huge list (at least in the PHP part), I haven't found a single CMS that deserves this name AND generates a static site that can run anywhere without php.

That would be something perch might fill. Here's a concept:

  • Developer makes a Perch Site. Can't use PHP interactions like search or forms, of course.
  • Creates a sitemap page (perch_pages_navigation, perch_content_custom) that covers every URL that has to be in it
  • A "SSG" app takes the sitemap and the publish destination (local dir or hosting) as parameters. Nice to have: destination as a ZIP archive. When clicking "publish", a static copy of the site according to the sitemap is deployed to the destination.

Now the editor can run this anywhere Perch runs and deploy it anywhere Perch can't run.

In my case, the use case for this would be due to security restrictions on the target server. But the static pages could also be interesting for perf-geeks.

Urs Bräm

Urs Bräm 1 points

  • 5 years ago
Drew McLellan

Drew McLellan 2638 points
Perch Support

That sounds like it would make a useful third party add-on.

If someone else lands here:

wget -m -k -K -E https://url/of/web/site 

is not that bad; from https://stackoverflow.com/a/538878/160968 (won't handle js content like lazy loading images of course)

There are also a few WP Plugins, depending on the License they might provide a boilerplate: https://wordpress.org/plugins/search.php?q=static