<h1>
ANSI color escape code highlighting
</h1>
-<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
+<pre class="m-console">!<span class="g g-AnsiBlue">[</span><span class="g g-AnsiBrightWhite">mosra@don-perverzo </span><span class="g g-AnsiWhite">m.css</span><span class="g g-AnsiBlue">]</span><span class="g g-AnsiBrightCyan">$ </span></pre><pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">‌██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">‌██</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">‌██</span> <span style="color: #cd3431; background-color: #cd3431">‌██</span> <span style="color: #2f83cc; background-color: #2f83cc">‌▓▓</span> <span style="color: #747474; background-color: #747474">‌▒▒</span>
-<span style="color: #3bd267"> </span> <span style="color: #3bd267"> </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">‌▒▒</span> <span style="color: #0f7403">‌▒▒</span>
+
+<span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌░░</span> <span style="color: #3bd267">‌▒▒</span> <span style="color: #3bd267">‌▓▓</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span></pre>
</div>
</div>
</div>
('\x1b\\[(\\d+)(;\\d+)?m([^\x1b]*)', callback)]
}
-_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})"')
-_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})"')
+_ansi_fg_color_re = re.compile('class="g g-AnsiForegroundColor([0-9a-f]{6})">')
+_ansi_fg_bg_color_re = re.compile('class="g g-AnsiForegroundBackgroundColor([0-9a-f]{6})">')
class HtmlAnsiFormatter(HtmlFormatter):
def wrap(self, source, outfile):
def _wrap_code(self, source):
for i, t in source:
if i == 1: # it's a line of formatted code
- t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1"', t)
- t = _ansi_fg_color_re.sub('style="color: #\\1"', t)
+ # Add ZWNJ for before each character because otherwise it's
+ # somehow impossible to wrap even with word-break: break-all.
+ # Not sure why (and not sure if this is the best solution), but
+ # had to ship a thing so there it is. Adding <wbr/> did not
+ # help.
+ t = _ansi_fg_bg_color_re.sub('style="color: #\\1; background-color: #\\1">‌', t)
+ t = _ansi_fg_color_re.sub('style="color: #\\1">‌', t)
#t += 'H'
yield i, t
CONTRIBUTING.rst CREDITS.rst <span class="g g-AnsiBrightBlue">doc</span> <span class="g g-AnsiBrightBlue">plugins</span> README.rst
COPYING <span class="g g-AnsiBrightBlue">css</span> <span class="g g-AnsiBrightBlue">documentation</span> <span class="g g-AnsiBrightBlue">pelican-theme</span> <span class="g g-AnsiBrightBlue">site</span></pre>
<p>Console colors:</p>
-<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">██</span> <span style="color: #3bd267; background-color: #3bd267">██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">██</span> <span style="color: #cd3431; background-color: #cd3431">██</span> <span style="color: #2f83cc; background-color: #2f83cc">▓▓</span> <span style="color: #747474; background-color: #747474">▒▒</span>
+<pre class="m-console"><span style="color: #dcdcdc; background-color: #dcdcdc">‌██</span> <span style="color: #a5c9ea; background-color: #a5c9ea">‌██</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span> <span style="color: #c7cf2f; background-color: #c7cf2f">‌██</span> <span style="color: #cd3431; background-color: #cd3431">‌██</span> <span style="color: #2f83cc; background-color: #2f83cc">‌▓▓</span> <span style="color: #747474; background-color: #747474">‌▒▒</span>
-Leading zeros: <span style="color: #0f7403; background-color: #0f7403">▒▒</span> <span style="color: #0f7403">▒▒</span>
+Leading zeros: <span style="color: #0f7403; background-color: #0f7403">‌▒▒</span> <span style="color: #0f7403">‌▒▒</span>
-<span style="color: #3bd267"> </span> <span style="color: #3bd267"> </span> <span style="color: #3bd267">░░</span> <span style="color: #3bd267">▒▒</span> <span style="color: #3bd267">▓▓</span> <span style="color: #3bd267; background-color: #3bd267">██</span></pre>
+<span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌ </span> <span style="color: #3bd267">‌░░</span> <span style="color: #3bd267">‌▒▒</span> <span style="color: #3bd267">‌▓▓</span> <span style="color: #3bd267; background-color: #3bd267">‌██</span></pre>
<pre class="m-code">// this language is not highlighted</pre>
<p>Properly preserve backslashes: <code class="m-code"><span class="k">\frac</span><span class="nb">{</span>a<span class="nb">}{</span>b<span class="nb">}</span></code></p>
<p>Don't trim leading spaces in blocks:</p>