Reputation: 33049
I'm trying to write a blog post which includes a code segment inside a <pre>
tag. The code segment includes a generic type and uses <>
to define that type. This is what the segment looks like:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
The resulting HTML removes the <>
and ends up like this:
PrimeCalc calc = new PrimeCalc();
Func del = calc.GetNextPrime;
How do I escape the <>
so they show up in the HTML?
Upvotes: 105
Views: 97494
Reputation: 34640
<pre>></pre>
renders as:
>
So you want:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
which turns out like:
PrimeCalc calc = new PrimeCalc(); Func<int, int> del = calc.GetNextPrime;
Upvotes: 24
Reputation: 576
A better way to do is not to have to worry about the character codes at all. Just wrap all your code inside the <pre>
tags with the following
<pre>
${fn:escapeXml('
<!-- all your code -->
')};
</pre>
You'll need to have jQuery enabled for it to work, tho.
Upvotes: -6
Reputation: 78104
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
Upvotes: 126
Reputation: 33149
What rp said, just replace the greater-than(>) and less-than(<) symbols with their html entity equivalent. Here's an example:
<pre>
PrimeCalc calc = new PrimeCalc();
Func<int, int> del = calc.GetNextPrime;
</pre>
This should appear as (this time using exactly the same without the prepended spaces for markdown):
PrimeCalc calc = new PrimeCalc(); Func<int, int> del = calc.GetNextPrime;
Upvotes: 3
Reputation: 25378
It's probably something specific to your blog software, but you might want to give the following strings a try (remove the underscore character): &_lt; &_gt;
Upvotes: -1