Why I use Laravel Jigsaw for flat file work


In the past I’ve used the static site generator system known as Laravel Jigsaw. I typically deployed my site to Github and use Github Pages as the hosting provider.

There’s a lot of reasons that I find Laravel Jigsaw useful (besides the fact that I’ve used it at work for years).

Markdown Support

It allows content creators to write in Markdown, a widely used lightweight markup language, enabling the easy creation and maintenance of content without dealing with HTML directly. Not to mention that it allows full access to the HTML and Blade components, right next to writing markdown text in the same editor.

Flexible and Extensible

Jigsaw can be extended with custom PHP code, allowing developers to integrate additional functionality as needed. This makes it versatile for a wide range of projects.

I connected Jigsaw up to a database connection at one point to get a large dataset of items and display them in a loop like a normal database driven CMS. The use cases are practically endless.

Local Development Environment

Jigsaw comes with a built-in local server for development, making it easy to preview changes in real-time without deploying them first. Not to mention that it plays really well with Laravel Valet.

Community and Ecosystem

Being part of the Laravel ecosystem, Jigsaw benefits from a strong community and a wide range of compatible packages and tools, providing a robust foundation for building websites. Laravel Jigsaw was made by Tighten, which means you’re in good hands with capable devs.


With no database or dynamic backend to exploit, static sites built with Jigsaw are generally more secure against common web vulnerabilities, such as SQL injection attacks.

Sure, there’s a lot of possible drawbacks, like the ease of use that various CMS systems like Drupal, or WordPress offer. But, if you think about it, you can still use those CMS on your local machine and create the flat files through a database connection. Or, alternatively, you can use those systems as headless CMS, and connect to them via Vue, or React, etc. The use cases are endless.

    0 0 votes
    Article Rating
    Notify of
    Inline Feedbacks
    View all comments