I feel like I'm constantly recreating my own website. It has evolved into an exploratory platform and a portfolio piece in its own right. Many of the features are not obvious, or not exposed, to the end user.
So, I intend to make some effort to document them here...
FYI: This is a work in progress
Backend
Django has been used as the foundation of this website. It's 'batteries included' approach combined with Python (programming language) makes for a friendly and fast development environment. Documentation is excellent and it is reasonably easy to setup and run in production. Git provides version control along with secondary benefits such as remote backup (thank you github) and an easy method of deployment to the production server with the use of 'post-receive' hooks.
Styles
SASS (SCSS) is used for this site. It has been implemented as middleware but only runs in the development environment compiling a single CSS file. The option to include additional CSS files has been left open and they can be include into template if/when the need arises.
All styles have been written specifically for this site. No CSS libraries have been included. This decision is primarily driven from wanting to control, and purposefully design, all aspects of the interface.
Content authoring
Where layout is tightly controlled, such as galleries and artwork dedicated templates and data models are created. This results with consistent layouts and tightly guided authoring interfaces. Where possible and practical authoring tasks are automated. URLs are derived from page titles and fall back images created automatically.
Markdown is used for prose that is authored (ie not hard coded into a template), I find it an elegant solution for both writing and reading. The markdown module has been extended in the articles section to search for uploaded images from their title to streamline their insertion. If Alt text is saved with the image it is automatically inserted if no alternative has been included.