I am now using GNU Make and GNU m4 to maintain my website. The main advantages of these tools over others were that I was already familiar with them and they were readily available on the platforms I work on. Some of the things that are now easily possible with the new setup:
- Having a common header and footer for all the pages. They need to be edited just once and all affected pages are automatically regenerated. I can now add/delete sections of my website at will and the common site-navigation menu in all pages is updated automatically. This has already proved quite useful as I deleted the "Links" section of the website.
- Allowing a page to specify its section ("Articles", "Books", etc.), the location of the root folder with respect to its own location and the title for the page. This lets the common header and footer correctly specify the location to images, scripts, stylesheets, etc., generate the correct page title and highlight the appropriate section in the common site-navigation menu.
- Automatically updating the "Last Updated" date in a page footer based on when the page was actually updated, instead of having to manually remember to change that text every time I edit the page.
- Automatically generating a "news entry" such that its title and body are linked together appropriately for my particular expandable/collapsible sections implementation.