[# Safely display user-content text, such a program source code, with
   line numbers.

Other EZT variables used:
  file_lines: List of lines in the file, each with a line number and content.
  should_prettify: whether the text should be syntax highlighted.
  prettify_class: additional CSS class used to tell prettify.js how to
      best syntax highlight this source file.
]

[# Display the line numbers and source lines in separate columns.
   See corresponding comments L1, L2, L3 and S1, S2, S3 below.
   This is messy because the pre tags have significant whitespace, so we
   break lines inside the tags themslves to make our templates readable.]
<table class="opened"><tr>
<td id="nums">
[# L1. Start with a nocursor row at the top to space the line numbers down the
       same amount as the source code lines w/ their initial cursor_hidden row.]
<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>

[# L2. Display each line number in a row that we can refer
       to by ID, and make each line number a self-link w/ anchor.]
<pre><table width="100%" id="nums_table_0">[for file_lines]<tr id="gr_[file_lines.num]"
><td id="[file_lines.num]"><a href="#[file_lines.num]">[file_lines.num]</a></td></tr
>[end]</table></pre>

[# L3. Finish the line numbers column with another nocursor row to match
       the spacing of the source code column's final cursor_hidden row.]
<pre><table width="100%"><tr class="nocursor"><td></td></tr></table></pre>
</td>
<td id="lines">

[# S1. Start the source code column with a cursor row. ]
<pre><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>

[# S2. Display each source code line in a table row and cell
       that we can identify by id.]
<pre [if-any should_prettify]class="prettyprint [prettify_class]"[end]><table id="src_table_0">[for file_lines]<tr
id=sl_[file_lines.num]
><td class="source">[file_lines.line]<br></td></tr
>[end]</table></pre>

[# S3. Finish the line numbers column with another cursor stop.]
<pre><table width="100%"><tr class="cursor_stop cursor_hidden"><td></td></tr></table></pre>
</td>
</tr></table>
