I have made some static webpages recently and I have been meaning to make an extremely simple template engine that will drive these sites. I always have a library of functions for getting html headers, footers and common functions, but I didn't have the template portion. Here is a very easy to implement system that allows you to make static websites that do not need databases that load very fast. It basically lets you define a set of pages and then will automatically serve the correct page from a folder. This is instead of having to make new folders and index files for each new page.
Here is some handy code that allows you to upload image(s) from a form on the front end of your WordPress site and have it become attached to a specific post. There is optional code that allows you to make the post the featured image (post thumbnail) as well.
This is a simple way to add custom fields to your posts without much hassle. Download the code and change the example fields to your own specific needs and voila, the custom fields are located on your post.