Highlight.js
JavaScript syntax highlighter with language auto-detection
...There are also 3rd party language definitions available to support even more languages. We strongly recommend <pre><code> wrapping for code blocks. It's quite semantic and "just works" out of the box with zero fiddling. It is possible to use other HTML elements (or combos), but you may need to pay special attention to preserving linebreaks. You can run highlighting inside a web worker to avoid freezing the browser window while dealing with very big chunks of code.