What is Joomlatools Pages?
Joomlatools Pages is an easy to use dynamic 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.
Pages takes your Markdown files, custom HTML or PHP code churns through layouts to create a page, then injects that back into your 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, like a, MySQL or NoSQL database, a headless CMS or a web service like Contentful.
Why Joomlatools Pages?
For the rebuild of Joomlatools.com we needed a solution that would allow us to easily include, and update, content on our site. Using Joomla articles and modules would make the site very hard to manage. Pages solves this in an elegant and simple way, not to mention it's super fast too!
What can Joomlatools Pages do?
A lot! Joomlatools Pages is more than just a page generator, Pages:
... includes a new PHP based template system, supporting hierarchical layouts and partials, making it very easy to re-use templates and build more complex website designs.
... offers a very simple and powerful way to use structured data files, with support for YAML, JSON, INI, PHP, XML and even MD (markdown).
... can retrieve content from local (filesystem, database) and remote sources. Very easily get data out of any (Joomla) database table and or even from a headless CMS, or webservice.
... can create modules on the fly and insert them into any module position defined by your template, Pages also makes it possible to define new module positions on the fly.
... cures module-itis with a new mechanism for template overrides that lets you decorate the output in any component, on one or more Joomla pages, allowing to add modules or other content around the component's output.
... has advanced support for HTTP caching, with out-of-the-box support for CDNs.
... has a completely re-built routing system to create internal links and handle both internal and external redirects.
... comes with multisite support making it super easy to create different micro-sites, landing pages squeeze pages with a single Joomla installation!
And best of all ... Pages doesn't need a database to work, everything happens through the filesystem.
Who is Joomlatools Pages for?
Joomlatools Pages is for website developers and designers who create bespoke Joomla sites and have experience with HTML, JSON, Markdown, etc. If you know how to use notepad you can work with Pages, knowledge of PHP is not required to get started.
Joomlatools Pages is an open source, community-driven project. Contributions are welcomed from everyone. We have contributing guidelines to help you get started.
See the list of contributors.
The software is open-source software licensed under the GPLv3 license. The documentation is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.