A simply dynamic blogging webapp using PHP, Markdown, and JSON.
fix irregular quote symbols in posts 018 and 027
update missing end tags in minifed RSS XML
update missing end tags in minifed RSS XML


browse  log 



You can also use your local clone with git send-email.


This is the personal blog of Christian Cleberg, ACS, ALMI, PCEP. This blog is not specifically tied to any single topic, but some frequent topics are auditing, security, software development, and FOSS.

If you have any questions, feel free to email me at hello@cleberg.io.


If you want to use any part of this web app, you have full rights to do so. This work is released under the GNU GPL v3.0 license.

#Installation Setup

To make the app work for your website (without modifying the PHP code), you'll need to do a couple things. Copy the following to your website directory:

  • The posts folder - this contains the main content for each blog post.
  • The metdata.json file - this contains metadata for each blog post.
  • The index.php file - this file handles basically everything about the site, except for the functions that the next two files server.
  • The Parsedown.php file - this is what makes the magic happen (i.e. translates Markdown to HTML)
  • The template.php file - this is used by the index.php file whenever it needs to display a web page to the user
#File: metadata.json

Your metadata.json file will need to contain an object for each post in the post folder. If you don't add an object for your new blog post, it won't be displayed in the browser. The structure will follow this exactly:

  "id": "001",
  "title": "Title of Post",
  "author": "Your Name",
  "description": "A quick little description.",
  "tag": "my-category",
  "created": "2018-12-08 00:00:00",
  "modified": "2018-12-08 00:00:00",
  "link": "https:\/\/www.example.com\/post\/blog-post-name.html",
  "published": "Yes"
#Folder: posts

Your posts folder will contain the .md files that will comprise the body of your blog post. Formatting follows standard Markdown guidelines.