What you need to know
Theming absolutely requires knowledge of HTML and CSS. If you do not have experience writing HTML or CSS, then you should work through a book on HTML and CSS. You can create an entire theme using just CSS. Creating more advanced themes involves writing PHP and JavaScript (especially jQuery). Because a theme is a plugin in Elgg, at a minimum, you will need to know how to set up a plugin's structure, override views, and extend views. These concepts are reviewed in this chapter, but Chapter 7 and 8 provide more detailed introductions to these topics.