Using webby (https://github.com/TwP/webby) for example you can code a web-page much like using some server based webapp framework (e.g. Ruby on Rails or Django etc.)
But webby is not server-based but generates static HTML pages for you.
Regions and parts all pages have in common should be separated from page-specific information (We will refer to the latter simply as content).
The idea is to split them up as follows:
So common elements and page specific content can be maintained separatly.
Every time changes have been applied, the final HTML files can be generated via xsl transformation.
<root><content></content></root>
and put the content between the two content tags.<xsl:copy-of select="/root/content/*"/>
Xalan could be used to transform the pages. Then the invokation would look like:java -cp ./xalan/xalan.jar org.apache.xalan.xslt.Process -in content/index.xml -xsl templates/template.xslt -out index.html
Hint: Time saver: Put these calls into a makefile, so only modified pages get transformed.