Hello,
I have been using the fence highlighting method just fine using Pygments. Let’s call this fencehl method for further reference below.
```html
<!-- some code -->
But I see [here][1] that we also have a *shortcodes* version too. Let's call this **shortcodehl** method for further reference below.
{{< highlight html >}}
{{< /highlight >}}
**Q1.**
What are the main differences between the two approaches?
**Q2.**
I believe `fencehl` works **only** if you use *Pygments* (if you have `pygmentsCodeFences = true` in your `config.toml`). Is that right?
**Q3.**
Does the `shortcodehl` approach work whether you use *Pygments* or client-side JS for highlighting?
**Q4.**
If I use `fencehl`, and *Pygments* is not available, the resultant HTML looks like a mess (it's not rendered even as a black and white `<pre>` block!). Is that a bug?
**Q5.**
If I use `shortcodehl`, and if *Pygments* is not available, what happens?
**Q6.**
If I have highlighting JS in the `static/` dir, and *Pygments* is available, can I set a priority like below?
1. Use *Pygments* if available
2. Else use highlighting JS if present
3. Else make the code blocks plain black and white `<pre>` blocks.
I apologize for these many questions. But as there are multiple options available and as many aspects of those are confusing, I want to make sure I pick the right way and use it consistently in all my blog posts.
[1]: http://gohugo.io/extras/shortcodes/#highlight