CUTCODEDOWN
Minimalist Semantic Markup

Welcome Guest
Please Login or Register

If you have registered but not recieved your activation e-mail in a reasonable amount of time, or have issues with using the registration form, please use our Contact Form for assistance. Include both your username and the e-mail you tried to register with.

Author Topic: What are Squire and Paladin?  (Read 1177 times)

Jason Knight

  • Administrator
  • Hero Member
  • *****
  • Posts: 1057
  • Karma: +188/-1
    • CutCodeDown -- Minimalist Semantic Markup
What are Squire and Paladin?
« on: 30 Nov 2020, 05:32:06 am »
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!

It also incorporates a LOT of the "without JavaScript" and "minimal JavaScript" techniques I've been writing about on the main site and my various Medium articles. This means the amount of JavaScript the final version of PaladinX relies upon with be low, and all pages should gracefully degrade to still be usable scripting off. JavaScript is for ENHANCING an already working page, and should not be used as the only means of providing basic functionality.

***NOTES***

Internet Explorer
No version of Internet Explorer will get CSS or JavaScript. They will be fed the vanilla semantic markup. ANY pages or subsections designed for this system SHOULD behave at least usable when CSS, images, AND JavaScript disabled / blocked.

Licensing
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.
We are all, we are all, we are all FRIENDS! For today we're all brothers, tonight we're all friends. Our moment of peace in a war that never ends.

 

SMF spam blocked by CleanTalk

Advertisement