What is a CMS?
Here's my definition - computer software that helps you build web pages.
It's not very difficult to build a single web page, but if you want a group of them (a website) that are all interconnected with menus and buttons and such, a CMS can help with that.
Why so complicated?
There appears to be an enormous gap between creating a single web page and building a multi-page website. For the first, you just need to know some HTML. For the second, you need a massive, complicated structure with a steep learning curve that must be installed, updated, protected from attack, and often costs a lot of money. You will be advised that building your own CMS is incredibly difficult - leave it to the experts. For example: What is a CMS and Why Should You Card?
But hold on there.... Maybe it's not really so hard after all.
The DIY Approach
If you already have a reasonable understanding of HTML and CSS, it's not very difficult put build a simple website. The magic sauce that lets you do this is PHP, which is a programming language. However, you don't need to be a PHP expert - just know how to use a few commands.
If you choose the DIY approach, you can build on your knowledge and get the same or even better results than you would have with a commercial product. In addition, you will have complete control over your content and the way it looks, and along the way you may even become proficient in PHP.
Metaphor for your CMS
The CMS you will be building will have two 'faces' - public web pages that will be linked by a menu, and private web pages that are used to update and edit the public pages. There's a similarity to a restaurant with an area for customers to be served and the kitchen where the food is prepared. Both have a menu!
The end result
The goal of this project is to create a CMS that can generate a multi-page, dynamic website, managed from a password-protected administrative area. (Whew! That's a lot of words!). The demo website will be called The Nip Shoppe, a catnip retail establishment in the town of Felinia, Ohio. A full version can be seen at The Nip Shoppe. Hopefully, you will be able to use the CMS to build your own website.
A second demo can be found at Wealthy Cats.
Table of Contents:
1. Show a three-page website using three HTML pages
2. Save sections of HTML into separate files.
2a. Create 'header.html' and 'footer.html' files
2b. Create files for remaining HTML in each page
3. Create an password protected administrator's screen for editing page content
4. Make page content editable
4a. Edit blocks of text and assign to pages
4b. Add new pages and blocks of text
4c. Edit menu, username and password
4d. Streamline editing
5. Appearances and theme
5a. Organize CSS files and provide for multiple themes