This is more of a personal reminder than anything.
The site is built using Mezzanine, which is itself built on Django.
I needed the git version of Mezzanine due to some bugfixes that didn't make it to the release.
The CV and Publications sections are a separate app. The PDF files generated are built using easy-pdf-django, which uses reportlab and xhtml2pdf. There is an issue with some Turkish letters, so I reduce them to their ASCII counterparts, but only for the PDFs.
I further used Mezzanine Pagedown for Markdown support. I also added Google Prettifier and MathJax for syntax highlighting and maths notation.
The deployment is as a Django app on Amazon Beanstalk. Pretty hassle free. The whole thing is self-contained. This makes the uploaded versions available through Amazon's environment history.
Also, justification of the blog text was interestingly hairy. I ended up using [this] in the end.