Chapters (second edition)

Part I: Learning to Program

Chapter 1: Programming for World of Warcraft
Chapter 2: Exploring Lua Basics
Chapter 3: Basic Functions and Control Structures
Chapter 4: Working with Tables
Chapter 5: Advanced Functions and Control Structures
Chapter 6: Lua Standard Libraries
Chapter 7: Learning XML

Part II: Programming in World of Warcraft

Chapter 8: Anatomy of an Addon
Chapter 9: Working with Frames, Widgets, and Other Graphical Elements
Chapter 10: Saving Time with Frame Templates
Chapter 11: Exploring the World of Warcraft API
Chapter 12: Interacting with Widgets
Chapter 13: Responding to Game Events
Chapter 14: Tracking Damage with CombatTracker

Part III: Advanced Addon Techniques

Chapter 15: Taking Action with Secure Templates
Chapter 16: Binding Keys and Clicks to Addon Code
Chapter 17: Creating Slash Commands
Chapter 18: Responding to Graphic Updates with OnUpdate
Chapter 19: Altering Existing Behavior with Function Hooking
Chapter 20: Creating Custom Graphics
Chapter 21: Responding to the Combat Log and Threat Information
Chapter 22: Creating Scroll Frames
Chapter 23: Creating Dropdown Menus
Chapter 24: Scanning and Constructing Tooltips
Chapter 25: Taking Protected Action in Combat
Chapter 26: Creating Unit Frames with Group Templates

Part IV: Reference

For up-to-date API documentation, see the [[docs/api|Reference]] section.

Part V: Appendixes

Appendix A: Best Practices
Appendix B: Utilizing Addon Libraries
Appendix C: Tracking History Using Version Control Systems
Appendix D: Addon Author Resources

Errata can be found on individual chapter pages, or in a single list

View the first edition