What do I have to learn to write my own blog template from scratch?

Answer by Noumaan Yaqoob:

Start with basic HTML and CSS. Write plain HTML/CSS documents using a plain text editor such as notepad. This will strengthen your understanding of HTML, CSS, web design, layout and formatting, etc.

Blogger uses template tags so you need to learn how those blogger tags are used in an HTML+CSS template. Download free sample templates from the web and study the code. It might look complex at first but if you look at it with concentration you will realize that it is not that complex and quite easy to do.

A basic understanding of Javascript would also benefit you. Javascript is client scripting, its more advanced form such as AJAX and jQuery allow you to write client side code that communicates with the server. But this comes under advance development, I guess you should come to Javascript, and jQuery after familiarizing yourself with PHP.

For WordPress you should learn basic PHP programming. Like variables, arrays, if, else, while, loops. When learning PHP use the official PHP manual it is really good PHP Manual – Manual

To set up a PHP MySQL and Apache development environment on your computer you can try WAMP or XAMPP. How to Install WordPress on your Windows Computer Using WAMP Or use MAMP if you are on a Mac, How to Install WordPress Locally on Mac using MAMP

WordPress has some coding practices which are used by most WordPress themes and plugins. You will get familiar with those by studying other people's code. The default WordPress Themes such as Twenty Twelve are a great starter point to understand template hierarchy. Each WordPress templae uses template tags and functions inside it. Which are actually functions pre-defined in WordPress core files. When building themes in WordPress you don't edit the core files. Instead you use these functions through out your theme. A good starting point for learning theme development is WordPress Codex:
Site Design and Layout

Each blogging and CMS platform has their own template engines . However, they all use HTML+CSS, Javascript and they all have template tags which tell the platform what out put to display. Study other people's code and use it as a starting point for your practice will help you learn quicker.

View Answer on Quora