This project consists of several components. Let's just go down what's what.Squire
A function library I use as the groundwork for creating CMS systems. It pretty much consists of the contents of (what's now called)
squire.lib.php, and the idea of having /template/templateName
/*.template.php files filled with template_* functions such as template_header and template_footer. It is not nor should it be considered a "framework" as it doesn't actually create significant architecture.Note, my presenting a demo of a "poor man's" system built using Squire has led to some confusion, with people picking it up and running with it. Hence my thinking it's time to make a real CMS for everyone.
Squire is currently very much in flux as I modernize it, and expand what it can/cannot do. Currently the next major Squire release (4.x) provides the following basic implementations:
1) page startup setting up output buffering / compression, initial http headers
2) global settings control from .ini and direct set
3) form/session hashes
4) parsing of REQUEST_URI for "one index to rule them all" with "friendly" URI's
hooks/loaders for PHP function driven templates (that may be replaced with tree based string/anonymous functions to let mods / extensions / plugins / "whatever name is hot and trendy this week" hook themselves in easier)
5) Multilingual regionalization of major UI components
6) Styled error handlers that output a full templated error page hiding actual errors, logging the REAL error data, and then die()
7) "DSS" style selector splitting.
8) "Safe" loader methods, to help prevent scope bleed, automatically search through directory stacks, or otherwise auto-plug in user side data into directory lookups.Paladin
The name I use for a CMS built upon Squire, adding database support with users, dynamic posts, and so forth. Over the years I've used "Paladin" for a number of clients in one form or another as a private and custom solution. Every version has been turnkey to the client's specific needs, sharing little in common code-wise other than the underlying Squire library.Paladin X
Tenth gen version of Paladin being rebuilt from the ground up. The code is VERY much in flux, since right now (30 Nov 2020) it's not even feature-complete and should be considered in Alpha state. Development is going slow since there's no money coming out of it for my time, but things are proceeding apace. I have a very specific architecture in mind that differs from how most others go about this stuff, and the choices that might seem odd to some are done for very specific reasons; ranging from good practices to paranoia. Ouch, that last part was painfully self-aware!Elemental HTML
The current template uses an alpha-alpha-alpha version of a HTML/CSS framework I'm "playing with making". I generally rail against HTML/CSS frameworks as being utter incompetent rags not even worth wiping with, but I'm trying to "meet them halfway" on reducing most of the things I object to down, leveraging selectors, combinators, and semantics, whilst keeping presentational classes to an absolute minimum. Let the markup do the work, and amazingly you get less markup!
This software is copyright to me, Jason M. Knight. It is released to the public domain under the understanding of zero liability for what you do with it. Contributions to this project will be credited in a "credits.txt" file in the root and are assumed to be donated free-and-clear with forfeiture of distribution to the public domain. I'll be revising and updating this as needed.