config.json holds the configuration data about colors and links. Javascript is responsible for extracting the variables from config.json and setting those properties to the css to keep it clean. I've tried my best to make HTML only define the strucuture, css style the elements and let javascript hold the logic of clicking and supplying variables and config to HTML and CSS. The background of the page is rotating randomly between the images present in the images folder. The python script present in the repo is my script to start the server which serves this file. The only reason I did this was to make the url look good :)
This project was made as a part of my drive to learn HTML, CSS and basic javascript. While coming from a java and android background I see stuff overlapping such as defining color variables and re-using them in CSS (Like colors.xml and style.xml in android). Semantic HTML is pretty similar to writing good XML layout designs for android apps. Anyone who wants to learn HTML, CSS and JS - I would recommend these types of simple projects.