When you build a portfolio you want to be able to quickly add new content. You need a CMS. During my years as a developer I've built dozens of those, so why not one more.
A CMS can become very complicated very fast, but I wanted to keep this one as simple as possible. This meant coming up with the simplest data structure I could think of. For content you actually only need 2 things: the actual content and a way to connect that content. Which results in a 2 entity data structure ContentItems
and Tags
.
You are able to add tags to both content and other tags. By sticking to some basic naming conventions I am able to create pretty much any type of page or component I might need.