Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
In it's core the CMS is an MVC structure with a layer of additional logic to produce a series of helpful features.
The Core/Clone model
Built-in is a lookup function for files that allows the components to be partitioned and placed in difference locations. In practice that means that you can have one base app folder and many "satellite" sites, all using the same base. Each website generally has its own data and design and when required can even override specific classes with different logic.
Decoupled Logic / Data / Design
In true MVC fashion KISSCMS enforces the principle that logic loops should be separated from the actual data and the front-end design. To make the separation obvious there are specific folders for each type. All logic is in the "app/" folder, all data in the "data/" folder and all front-end design in the "html/" folder.
Reversing the concept of user-friendly URLs, that takes the breadcrumb as a reference to create the address, the folders that lead up to the specific page are considered categories that contain the page. That way the grouping is automatic and the navigation has added flexibility, as the users can look through the website content in their own terms.
The Public folder
An easy framework to create plugins which allows additions to be contained in their own folder and installed/uninstalled simply by moving files around. The presence of the plugin alone is the only setup required and uninstalling is as simple as just deleting the folder.
The layout is split in a series of sections that are generated by logic and may or may not contain dynamic data. The base Section() class defines the main logic concepts and output variation, and every section is a child class that extends it.