Joomlatools Pages is an easy to use page generator for Joomla inspired by the ideas and concepts of flat-file CMS systems like Grav and Statamic and static site generators like Jekyll, Hugo, Gatsby etc.
Make no mistake, Pages is not a static site generator (SSG), Pages works in a dynamic, lazy and smart way. A page is dynamically generated, cached and only re-generated when its content or layout has changed.
Pages takes your Markdown files, custom HTML or PHP code churns through layouts to create a page, then injects that back into your Joomla site. Throughout that process, you can tweak how you want the page to look, what data gets displayed in the layout, and more.
Pages has a flat-file bias, and doesn't require a database to work. The content you’ll render on your site is generally written using Markdown, but you can use any kind of data source, for example you could use, a Joomla component, a database table, a headless CMS like Strapi, or even a webservice like Airtable or Google Sheets.
Pages works just like any regular frontend Joomla component, it's 100% compatible with every Joomla template. We built it so that it doesn't get in your way, it's there if you need it.
Pages was born out of a need to scratch our own itch. The previous version of Joomlatools.com was built using Jekyl, primarily because it allowed us to create a very fast and easy to maintain site with all content stored in Git using markdown files.
Being a Joomla company it felt a bit like shame-on-us that our own site didn't use Joomla, we couldn't let it slide, we really had to fix this! However, we didn't want to sacrifice on the performance and flexibility that Jekyll offers. Challenge accepted, nothing is impossible, after all it's only code, so in early May 2018 Joomlatools Pages 0.1.0 was born!
A year later we re-launched Joomlatools.com on Pages v0.7.0. Today our site is running the latest v0.17.0 release and you'll have noticed that it's blisteringly fast, this is in large part down to the power of Joomlatools Pages.
Joomlatools Pages is for every website developer and designer that creates bespoke Joomla sites and has experience with HTML, JSON, Markdown, etc. In a nutshell, if you know how to use notepad you can build a site with Pages, knowledge of PHP is not required at all to get started!
We recommend that you download and install Joomlatools Pages using the Joomla Installer, if you want to play with it on your own site. For the developers among you, installation using composer or Joomlatools Console is also possible.
Don't be alarmed, once installed don't expect to find an administrator menu item. It's not there and that's perfectly fine. After all, you are now playing with the big boys, that means no UI's! Capisce?!
In the root folder of your Joomla installation, create the following folder structure:
To create a new page, simply go to your
/joomlatools-pages/pages directory and add a new file. In this example, we'll use the file
hello.html but you can name it anything you like. Open the file in a text editor and copy/paste the following code snippet:
<p>Welcome to my new page.</p>
Now save this, (make sure you have SEF enabled in Joomla), then in your browser go to
If you also have url rewriting enabled (recommended) in Joomla you can drop the
/index.php and use
That's it! You're done! That was easy right?
Want to do a bit more? Here are some simple examples on how to create a Markdown page, set the page title and description and how to use PHP in a page.
Although we have done our best to cover as much as possible to get you started, it is inevitable that there will be questions we have not (yet) answered. We want to be as accessible as possible, so you can hop on to the discussions on Github to ask questions about Pages.
We welcome any feedback to help us make Joomlatools Pages even better, contributions are most welcome too! For more info check our contributor guidelines.