A quick introduction to the concept of a »no-database« CMS, blogging in »Markdown« and some amazing »dropbox-disney-magic«.
More than a year ago, I decided to switch my hosting provider, after I learned about the great service and philosophy of the german host uberspace. They offer the best experience you can get on a shared host, if you don't immediately start running away when somebody mentions the command-linewhile. And you decide on your own, what's it worth to you. Okay, great opportunity to finally get a fresh look for my site, I thought. But after I was nearly done with my brand new Wordpress-Theme, I heard somebody on a podcast talk about building his website with a no-database-cms.
Okay, typically a content-management-system works like that: the user enters data into a backend. The backend puts all of that in a database. Then, when there is a request (somebody wants to visit that site in a browser), everything will be pulled out of the database and stuffed into some nice html.
Such a database can be a very mighty tool … if you know how to handle it. Speaking for me, I got to admit, that I'am not really capable of getting a big advantage out of a database.
And I don't really have a need for one, also. Some blog-entries and a few portolio-items don't necessarily require a database. Something like that could be organized in a much less complicated system … like, perhaps, … files and folders?!
So, thats what my site looks like now, powerd by a no-database CMS called kirby: Just a few lovely plain-text files in a simple folder structure. Above you can see the folder that represents this article you are reading right now. Did you notice, that it doesn't start with a number like the other ones? That's because right now - while I am writing this - the article is still a draft. It's as simple as this: Createing a new folder without any number makes it a invisible post (or site). When you put a number at the beginning it goes live. Into this folder you simply put a text-file with a realy simple syntax for the metadata and with your text. The text-file I'am working on right now looks like this:
Not that complicated, isn’t it? Title, date, and tags are the metadata values I decided to use for my posts and intro and text are there for the actual content.
All the text formatting inside the article is of course done via markdown. If you don’t know markdown you should definitely go and take a look at it.
So far, so good. Here is what makes this completely mind-blowing in my eyes: All of these folders, images and plain-text files are stored: in my dropbox! My fellow Max Häßlein came up with that little tutorial about how to install dropbox on your shared host. (it sadly wont be possible with most of the shared hosting providers ... kudos again for uberspace) You cna also find something on this topic atthe kirby blog.
Waiting for the service to start ... 1 2 3 4 5 started! Congratulations - your personal ~/service directory is now ready to use! [user ~]$ uberspace-setup-service dropboxd ~/.dropbox-dist/dropboxd Creating the ~/etc/run-dropboxd/run service run script Creating the ~/etc/run-dropboxd/log/run logging run script Symlinking ~/etc/run-dropboxd to ~/service/dropboxd to start the service Waiting for the service to start ... 1 2 started! Congratulations - the ~/service/dropboxd service is now ready to use!
After I made it through some littly-fiddly terminal action, I've got it now running and it works like a charm!
Whenever I feel like posting something to my site, I just have to throw a folder with a text file into the right place on my dropbox and: BAM, off we go!
The Hitchhiker's Guide to the Galaxy