This Web site is designed to require only local files in the main site directory - no databases or other external resources (apart from fonts). Updates are made to a local git repository, tested on a VM, and then pushed to the server. 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.
Some parts of this site do use a database - currently, the mailbox page and the "increment" button in the footer; however, these components don't affect the rest of the site if they fail.
- Navigation sidebar
- Mobile layout
- Mailbox system
- Recent Changes display
- Git server?
- More content
About the dynamic sitemap
The dynamic sitemap is no longer in use due to performance issues & spaghetti code. At some point I may come back to it.
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.)