Heap Sort

This isn't the typical "I wrote a heap sort that doesn't work, help me please" thread, instead, I'm one step before that. I'd really like to understand the innards of a heap sort before I attempt to write one. I'd like to give it a go from scratch, or from some basic pseudo code before resorting to dissecting an already written heap sort algorithm. Any information you could give to gently clear up the mystery here would be greatly appreciated.

This isn't the typical "I wrote a heap sort that doesn't work, help me please" thread, instead, I'm one step before that. I'd really like to understand the innards of a heap sort before I attempt to write one. I'd like to give it a go from scratch, or from some basic pseudo code before resorting to dissecting an already written heap sort algorithm. Any information you could give to gently clear up the mystery here would be greatly appreciated.