Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Skin n' Bones CMS

Skin n' Bones is a free, flexible, and super-lightweight CMS used to build daily journal entries in HTML. While effort has been made to make pages visually appealing using a minimalist style, it is intended to be used purely for text. If you're not familiar with the shell, Skin n' Bones CMS may not be for you. Features include:

  • Dark mode support
  • Easy override of existing HTML
  • Automatic Table of Contents page generation and updates
  • Fonts optimized for legibility
  • Mobile support
  • Book version of journal entries (new)
  • Easier to customize (new)

Screenshot of Skin n' Bones CMS


  • PHP
  • Basic HTML knowledge.
  • Bash shell skills

You will need PHP installed on your computer or server to generate the webpages. PHP is a programming language that is commonly used to build websites and web applications. On MacOS, PHP is installed by default. For Linux, open Terminal and type sudo apt-get install php. For Windows, you will have to work harder. Some options include installing Bitnami or XAMPP. There is also the Windows Subsystem for Linux. If you need a quick refresher in HTML, you can see this basic guide by W3C.


Get started by downloading or cloning this repository. You create journal entries by going to the src directory and creating an appropriately named file which contains HTML markup or by using the Bash shell script provided (more on that later). Two example files are provided. Stick to the existing naming scheme for files, namely yyyy-mm-dd.

The default sorting for the table of contents is reverse chronological. For chronological order, create a file called toc_ascending in the top-level directory. The content of the toc_ascending file does not matter - it can be empty. The presense of the file tells the Skin n' Bones CMS to sort in chronological order. If at a later time, you would like to change the sorting, just delete the file and run the make PHP file again as seen below.

Once you've created the webpage source, run these command in Terminal. Running these commands without making any changes to the Skin n' Bones repo will generate two default webpages as seen on the demo.

Command Description
cd /my/path/to/skin-n-bones-cms Navigate to Skin n' Bones CMS directory
./ Create an entry for today's date
cd src All edits should be in this directory
php make.php Populate the public_html directory with HTML files

Be careful in the future when running make.php as the public_html directory will be wiped out and repopulated with the latest changes when you do this. You will want to edit all your journal changes in the src directory. A Table of Contents page will be created along with the journal entries which can be seen by visiting public_html in your browser. You can then publish this directory to the web or just keep the entries on your local system. Publishing to the web involves uploading files to your web hosting provider. Hosting is usually not free but can be pretty cheap. Some options include Github Pages, AWS Cloudfront/S3, and Blue Host. I personally use S3_website to upload files though the software is kind of dated. If you need a little help with this CMS, I would be happy to guide you in my spare time.

To add your own Google Analytics tracking code edit the head file and replace the default Google JavaScript with your own. You can also change the author metatag and make other customizations. You can override the:

  • Doctype - doctype
  • head - head
  • favicon.ico - favicon.ico
  • body - body
  • footer - footer
  • Closing body tag - cbody
  • Closing html tag - chtml

Skin n' Bones Diagram

To create custom metatags for the title and description of individual journal pages, go to the src directory and using an existing HTML filename, create a new .meta file that contains the metatag HTML or use the shell script as described above. If you're using the shell script and don't want to deal with meta tags delete the tpl.meta file. Two examples of meta files have been provided.

Feel free to report bugs and feedback to the issue queue. You can also open support requests if necessary. If there are any corrections or additions to this guide, please let me know.

If you found, the software useful, you can star my repo. Happy Journaling!


Skin n' Bones CMS Demo


A free, flexible, and super-lightweight PHP CMS used to build daily journal entries in HTML.




No releases published


No packages published