Skip to content
Ricky edited this page Feb 21, 2022 · 7 revisions

Welcome to the HamletCMS wiki!

Concept

HamletCMS is a multidimensional content management system:

Level 1 - Website front-end

This is the umbrella which all blogs sit under, there is a basic structure in place to help build routes for this part of the website, but you as the developer are largely left to your own devices. An understanding of PHP and Smarty templating language is required to produce content for this site (see: Creating website pages).

Level 2 - CMS

Sitting behind the website is the CMS where users with an account can log in and create blog their own blogs using the HamletCMS interface. Login is accessible from [www.your-domain.com]/cms.

Level 3 - Blog front-end

Each blog created within the CMS has it's own URL (by default this is [www.your-domain.com]/blogs/[random 10 digit ID]). The front page to each blog can either list out most recent posts, show a specific post, or show posts grouped by tag.

Code architecture

The code is broken down into modules, many of which are optional such as post comments, see Creating modules for details. The system follows an MVC structure and utilises code i've separated out in the core repository.

Key features

  • Create many blogs
  • Create blog content using Markdown
  • Automatic thumbnails for images
  • Highly customisable blog settings
  • Configurable post and blog templates
  • Multiple users can contribute to single blog
  • Flexible permissions system
  • Use custom domain name for a blog

Functionality map

Current status

HamletCMS has always been a hobby project. It is still under active development, and the API is constantly changing. I would not recommended using it for business critical projects, however if you're a developer with an interest in PHP then I welcome feedback / suggestions / contributions if you want to get involved. In reality you would be better off choosing a well established CMS such Drupal.