Keith's Web site:

Web site


This Web site is designed to use only local files in the main site directory - no databases or other external resources (apart from fonts). Updates are made to a local Vagrant installation, and then pushed to the server using scp. By relying on PHP alone, the Web site becomes much easier to synchronize, manage, and work on offline, and there are less possible points of failure.

Current Status


In Progress

About the dynamic sitemap

To avoid having to manually modify the sitemap each time I added a page, I wrote a PHP script to generate one dynamically for me. It creates a page entry for every PHP file it finds. When it finds a subdirectory with an index.php file, it stores all the other pages in the directory as children of that index.php file. To get the name of each page, it reads the first line of each PHP file, which contains the page name in an HTML comment. (Fun fact: you can still see this comment in the page source.)