Created library instead of binaries. Added doc.

- Split things into Library and Binary
  - Library has all functionality
  - Binarys are just wrapper like "main = toJsonFilter foo"
- Documented most things
- Created haddock-documentation
- added documentation to repository
This commit is contained in:
Stefan Dresselhaus
2017-09-02 16:44:20 +02:00
parent e30e18b5dc
commit 8376d6298b
38 changed files with 2011 additions and 364 deletions

View File

@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-2"></a><span>
</span><a name="line-3"></a><span class="hs-comment">-- | Conversion of lvl-x-headings to x-column-layouts in HTML</span><span>
</span><a name="line-4"></a><span class="hs-comment">-- especially for use in revealjs-slides</span><span>
</span><a name="line-5"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span><span class="hs-operator">.</span><span class="hs-identifier">Cols</span><span>
</span><a name="line-6"></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Cols.html#cols"><span class="hs-identifier hs-var">cols</span></a><span class="hs-special">)</span><span>
</span><a name="line-7"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-8"></a><span>
</span><a name="line-9"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">JSON</span><span>
</span><a name="line-10"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-11"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Read</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span class="hs-special">)</span><span>
</span><a name="line-12"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Maybe</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fromMaybe</span><span class="hs-special">)</span><span>
</span><a name="line-13"></a><span class="hs-keyword">import</span><span> </span><a href="Text.Pandoc.Util.Filter.html"><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span></a><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-comment">-- | This filter makes multi-column-layouts out of lvl-x-headings</span><span>
</span><a name="line-16"></a><span class="hs-comment">--</span><span>
</span><a name="line-17"></a><span class="hs-comment">-- Syntax is</span><span>
</span><a name="line-18"></a><span class="hs-comment">-- </span><span>
</span><a name="line-19"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-20"></a><span class="hs-comment">-- ## a b</span><span>
</span><a name="line-21"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-22"></a><span class="hs-comment">--</span><span>
</span><a name="line-23"></a><span class="hs-comment">-- yielding a 2-column-layout with aspects a:b i.e. 1:1 for 50/50-layout</span><span>
</span><a name="line-24"></a><span class="hs-comment">-- or 8:2 for 80/20 layout</span><span>
</span><a name="line-25"></a><span class="hs-comment">--</span><span>
</span><a name="line-26"></a><span class="hs-comment">-- currently works for 2 and 3-columns, but extension is straight-forward.</span><span>
</span><a name="line-27"></a><span class="hs-comment">--</span><span>
</span><a name="line-28"></a><span class="hs-comment">-- If you need multiple Block-Elements inside one column, just wrap them</span><span>
</span><a name="line-29"></a><span class="hs-comment">-- with a @\&lt;div\&gt;@:</span><span>
</span><a name="line-30"></a><span class="hs-comment">--</span><span>
</span><a name="line-31"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-32"></a><span class="hs-comment">-- ## 2 5</span><span>
</span><a name="line-33"></a><span class="hs-comment">--</span><span>
</span><a name="line-34"></a><span class="hs-comment">-- \&lt;div\&gt;</span><span>
</span><a name="line-35"></a><span class="hs-comment">-- multiple things</span><span>
</span><a name="line-36"></a><span class="hs-comment">-- ```</span><span>
</span><a name="line-37"></a><span class="hs-comment">-- foo</span><span>
</span><a name="line-38"></a><span class="hs-comment">-- ```</span><span>
</span><a name="line-39"></a><span class="hs-comment">-- ![image](...)</span><span>
</span><a name="line-40"></a><span class="hs-comment">-- \&lt;/div\&gt;</span><span>
</span><a name="line-41"></a><span class="hs-comment">--</span><span>
</span><a name="line-42"></a><span class="hs-comment">-- second column here with only 1 element.</span><span>
</span><a name="line-43"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-44"></a><span class="hs-identifier">cols</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Block</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Block</span><span class="hs-special">]</span><span>
</span><a name="line-45"></a><a name="cols"><a href="Text.Pandoc.Util.Filter.Cols.html#cols"><span class="hs-identifier">cols</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Header</span><span> </span><span class="hs-number">2</span><span> </span><a name="local-6989586621679076570"><a href="#local-6989586621679076570"><span class="hs-identifier">attr</span></a></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Str</span><span> </span><a name="local-6989586621679076571"><a href="#local-6989586621679076571"><span class="hs-identifier">wa</span></a></a><span class="hs-special">,</span><span class="hs-identifier hs-var">Space</span><span class="hs-special">,</span><span class="hs-identifier hs-var">Str</span><span> </span><a name="local-6989586621679076572"><a href="#local-6989586621679076572"><span class="hs-identifier">wb</span></a></a><span class="hs-special">]</span><span class="hs-glyph">:</span><a name="local-6989586621679076573"><a href="#local-6989586621679076573"><span class="hs-identifier">a</span></a></a><span class="hs-glyph">:</span><a name="local-6989586621679076574"><a href="#local-6989586621679076574"><span class="hs-identifier">b</span></a></a><span class="hs-glyph">:</span><a name="local-6989586621679076575"><a href="#local-6989586621679076575"><span class="hs-identifier">rest</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-46"></a><span> </span><a href="#local-6989586621679076581"><span class="hs-identifier hs-var">outerDiv</span></a><span class="hs-glyph">:</span><a href="#local-6989586621679076575"><span class="hs-identifier hs-var">rest</span></a><span>
</span><a name="line-47"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-48"></a><span> </span><a name="local-6989586621679076576"><a href="#local-6989586621679076576"><span class="hs-identifier">wa'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fromMaybe</span><span> </span><span class="hs-number">1</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span> </span><a href="#local-6989586621679076571"><span class="hs-identifier hs-var">wa</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-49"></a><span> </span><a name="local-6989586621679076577"><a href="#local-6989586621679076577"><span class="hs-identifier">wb'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fromMaybe</span><span> </span><span class="hs-number">1</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span> </span><a href="#local-6989586621679076572"><span class="hs-identifier hs-var">wb</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-50"></a><span> </span><a name="local-6989586621679076578"><a href="#local-6989586621679076578"><span class="hs-identifier">total</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679076576"><span class="hs-identifier hs-var">wa'</span></a><span> </span><span class="hs-operator hs-var">+</span><span> </span><a href="#local-6989586621679076577"><span class="hs-identifier hs-var">wb'</span></a><span>
</span><a name="line-51"></a><span> </span><a name="local-6989586621679076579"><a href="#local-6989586621679076579"><span class="hs-identifier">pa</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-number">100</span><span class="hs-operator hs-var">*</span><a href="#local-6989586621679076576"><span class="hs-identifier hs-var">wa'</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">div</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679076578"><span class="hs-identifier hs-var">total</span></a><span>
</span><a name="line-52"></a><span> </span><a name="local-6989586621679076580"><a href="#local-6989586621679076580"><span class="hs-identifier">pb</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-number">100</span><span class="hs-operator hs-var">*</span><a href="#local-6989586621679076577"><span class="hs-identifier hs-var">wb'</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">div</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679076578"><span class="hs-identifier hs-var">total</span></a><span>
</span><a name="line-53"></a><span> </span><a name="local-6989586621679076581"><a href="#local-6989586621679076581"><span class="hs-identifier">outerDiv</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><a href="#local-6989586621679076570"><span class="hs-identifier hs-var">attr</span></a><span> </span><span class="hs-special">[</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier hs-var">makeDiv</span></a><span> </span><a href="#local-6989586621679076579"><span class="hs-identifier hs-var">pa</span></a><span> </span><a href="#local-6989586621679076573"><span class="hs-identifier hs-var">a</span></a><span>
</span><a name="line-54"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier hs-var">makeDiv</span></a><span> </span><a href="#local-6989586621679076580"><span class="hs-identifier hs-var">pb</span></a><span> </span><a href="#local-6989586621679076574"><span class="hs-identifier hs-var">b</span></a><span>
</span><a name="line-55"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#clearDiv"><span class="hs-identifier hs-var">clearDiv</span></a><span>
</span><a name="line-56"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-57"></a><span class="hs-identifier">cols</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Header</span><span> </span><span class="hs-number">3</span><span> </span><a name="local-6989586621679077186"><a href="#local-6989586621679077186"><span class="hs-identifier">attr</span></a></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Str</span><span> </span><a name="local-6989586621679077187"><a href="#local-6989586621679077187"><span class="hs-identifier">wa</span></a></a><span class="hs-special">,</span><span class="hs-identifier hs-var">Space</span><span class="hs-special">,</span><span class="hs-identifier hs-var">Str</span><span> </span><a name="local-6989586621679077188"><a href="#local-6989586621679077188"><span class="hs-identifier">wb</span></a></a><span class="hs-special">,</span><span class="hs-identifier hs-var">Space</span><span class="hs-special">,</span><span class="hs-identifier hs-var">Str</span><span> </span><a name="local-6989586621679077189"><a href="#local-6989586621679077189"><span class="hs-identifier">wc</span></a></a><span class="hs-special">]</span><span class="hs-glyph">:</span><a name="local-6989586621679077190"><a href="#local-6989586621679077190"><span class="hs-identifier">a</span></a></a><span class="hs-glyph">:</span><a name="local-6989586621679077191"><a href="#local-6989586621679077191"><span class="hs-identifier">b</span></a></a><span class="hs-glyph">:</span><a name="local-6989586621679077192"><a href="#local-6989586621679077192"><span class="hs-identifier">c</span></a></a><span class="hs-glyph">:</span><a name="local-6989586621679077193"><a href="#local-6989586621679077193"><span class="hs-identifier">rest</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-58"></a><span> </span><a href="#local-6989586621679077201"><span class="hs-identifier hs-var">outerDiv</span></a><span class="hs-glyph">:</span><a href="#local-6989586621679077193"><span class="hs-identifier hs-var">rest</span></a><span>
</span><a name="line-59"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-60"></a><span> </span><a name="local-6989586621679077194"><a href="#local-6989586621679077194"><span class="hs-identifier">wa'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fromMaybe</span><span> </span><span class="hs-number">1</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span> </span><a href="#local-6989586621679077187"><span class="hs-identifier hs-var">wa</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-61"></a><span> </span><a name="local-6989586621679077195"><a href="#local-6989586621679077195"><span class="hs-identifier">wb'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fromMaybe</span><span> </span><span class="hs-number">1</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span> </span><a href="#local-6989586621679077188"><span class="hs-identifier hs-var">wb</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-62"></a><span> </span><a name="local-6989586621679077196"><a href="#local-6989586621679077196"><span class="hs-identifier">wc'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fromMaybe</span><span> </span><span class="hs-number">1</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">readMaybe</span><span> </span><a href="#local-6989586621679077189"><span class="hs-identifier hs-var">wc</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-63"></a><span> </span><a name="local-6989586621679077197"><a href="#local-6989586621679077197"><span class="hs-identifier">total</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679077194"><span class="hs-identifier hs-var">wa'</span></a><span> </span><span class="hs-operator hs-var">+</span><span> </span><a href="#local-6989586621679077195"><span class="hs-identifier hs-var">wb'</span></a><span> </span><span class="hs-operator hs-var">+</span><span> </span><a href="#local-6989586621679077196"><span class="hs-identifier hs-var">wc'</span></a><span>
</span><a name="line-64"></a><span> </span><a name="local-6989586621679077198"><a href="#local-6989586621679077198"><span class="hs-identifier">pa</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-number">100</span><span class="hs-operator hs-var">*</span><a href="#local-6989586621679077194"><span class="hs-identifier hs-var">wa'</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">div</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679077197"><span class="hs-identifier hs-var">total</span></a><span>
</span><a name="line-65"></a><span> </span><a name="local-6989586621679077199"><a href="#local-6989586621679077199"><span class="hs-identifier">pb</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-number">100</span><span class="hs-operator hs-var">*</span><a href="#local-6989586621679077195"><span class="hs-identifier hs-var">wb'</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">div</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679077197"><span class="hs-identifier hs-var">total</span></a><span>
</span><a name="line-66"></a><span> </span><a name="local-6989586621679077200"><a href="#local-6989586621679077200"><span class="hs-identifier">pc</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-number">100</span><span class="hs-operator hs-var">*</span><a href="#local-6989586621679077196"><span class="hs-identifier hs-var">wc'</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">div</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679077197"><span class="hs-identifier hs-var">total</span></a><span>
</span><a name="line-67"></a><span> </span><a name="local-6989586621679077201"><a href="#local-6989586621679077201"><span class="hs-identifier">outerDiv</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><a href="#local-6989586621679077186"><span class="hs-identifier hs-var">attr</span></a><span> </span><span class="hs-special">[</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier hs-var">makeDiv</span></a><span> </span><a href="#local-6989586621679077198"><span class="hs-identifier hs-var">pa</span></a><span> </span><a href="#local-6989586621679077190"><span class="hs-identifier hs-var">a</span></a><span>
</span><a name="line-68"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier hs-var">makeDiv</span></a><span> </span><a href="#local-6989586621679077199"><span class="hs-identifier hs-var">pb</span></a><span> </span><a href="#local-6989586621679077191"><span class="hs-identifier hs-var">b</span></a><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier hs-var">makeDiv</span></a><span> </span><a href="#local-6989586621679077200"><span class="hs-identifier hs-var">pc</span></a><span> </span><a href="#local-6989586621679077192"><span class="hs-identifier hs-var">c</span></a><span>
</span><a name="line-70"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Cols.html#clearDiv"><span class="hs-identifier hs-var">clearDiv</span></a><span>
</span><a name="line-71"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-72"></a><span class="hs-identifier">cols</span><span> </span><a name="local-6989586621679077202"><a href="#local-6989586621679077202"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679077202"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-73"></a><span>
</span><a name="line-74"></a><span class="hs-identifier">makeDiv</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Int</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Block</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Block</span><span>
</span><a name="line-75"></a><a name="makeDiv"><a href="Text.Pandoc.Util.Filter.Cols.html#makeDiv"><span class="hs-identifier">makeDiv</span></a></a><span> </span><a name="local-6989586621679077203"><a href="#local-6989586621679077203"><span class="hs-identifier">width</span></a></a><span> </span><a name="local-6989586621679077204"><a href="#local-6989586621679077204"><span class="hs-identifier">content</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;width:&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">show</span><span> </span><a href="#local-6989586621679077203"><span class="hs-identifier hs-var">width</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;%;float:left&quot;</span><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679077204"><span class="hs-identifier hs-var">content</span></a><span class="hs-special">]</span><span>
</span><a name="line-76"></a><span>
</span><a name="line-77"></a><span class="hs-identifier">clearDiv</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Block</span><span>
</span><a name="line-78"></a><a name="clearDiv"><a href="Text.Pandoc.Util.Filter.Cols.html#clearDiv"><span class="hs-identifier">clearDiv</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;clear: both&quot;</span><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-string">&quot;&amp;nbsp;&quot;</span><span class="hs-special">]</span><span class="hs-special">]</span><span>
</span><a name="line-79"></a></pre></body></html>

View File

@ -0,0 +1,159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-2"></a><span>
</span><a name="line-3"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span>
</span><a name="line-4"></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#media"><span class="hs-identifier hs-var">media</span></a><span class="hs-special">)</span><span>
</span><a name="line-5"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-6"></a><span>
</span><a name="line-7"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">JSON</span><span>
</span><a name="line-8"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span>
</span><a name="line-9"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-10"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Char</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">toLower</span><span class="hs-special">)</span><span>
</span><a name="line-11"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">FilePath</span><span>
</span><a name="line-12"></a><span>
</span><a name="line-13"></a><span class="hs-keyword">import</span><span> </span><a href="Text.Pandoc.Util.Filter.html"><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span></a><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-pragma">{-# ANN module &quot;HLint: ignore Redundant $&quot; #-}</span><span> </span><span class="hs-comment">-- supress HLint-Warnings about $</span><span>
</span><a name="line-16"></a><span>
</span><a name="line-17"></a><span class="hs-comment">-- | File-extensions that should be treated as audio</span><span>
</span><a name="line-18"></a><span class="hs-identifier">audioExt</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span>
</span><a name="line-19"></a><a name="audioExt"><a href="Text.Pandoc.Util.Filter.Media.html#audioExt"><span class="hs-identifier">audioExt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;mp3&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;aac&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-20"></a><span>
</span><a name="line-21"></a><span class="hs-comment">-- | File-extensions that should be treated as video</span><span>
</span><a name="line-22"></a><span class="hs-identifier">videoExt</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span>
</span><a name="line-23"></a><a name="videoExt"><a href="Text.Pandoc.Util.Filter.Media.html#videoExt"><span class="hs-identifier">videoExt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;avi&quot;</span><span>
</span><a name="line-24"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;mp4&quot;</span><span>
</span><a name="line-25"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;mov&quot;</span><span>
</span><a name="line-26"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-27"></a><span>
</span><a name="line-28"></a><span class="hs-comment">-- | File-extensions that should be treated as image</span><span>
</span><a name="line-29"></a><span class="hs-identifier">imgExt</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span>
</span><a name="line-30"></a><a name="imgExt"><a href="Text.Pandoc.Util.Filter.Media.html#imgExt"><span class="hs-identifier">imgExt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-31"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;jpg&quot;</span><span>
</span><a name="line-32"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;jpeg&quot;</span><span>
</span><a name="line-33"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;png&quot;</span><span>
</span><a name="line-34"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;gif&quot;</span><span>
</span><a name="line-35"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;tif&quot;</span><span>
</span><a name="line-36"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;tiff&quot;</span><span>
</span><a name="line-37"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;bmp&quot;</span><span>
</span><a name="line-38"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;svg&quot;</span><span>
</span><a name="line-39"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-40"></a><span>
</span><a name="line-41"></a><span class="hs-comment">-- | File-extensions that should be treated as demo and will be included</span><span>
</span><a name="line-42"></a><span class="hs-comment">-- in an iframe</span><span>
</span><a name="line-43"></a><span class="hs-identifier">demoExt</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span>
</span><a name="line-44"></a><a name="demoExt"><a href="Text.Pandoc.Util.Filter.Media.html#demoExt"><span class="hs-identifier">demoExt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;html&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;htm&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-45"></a><span>
</span><a name="line-46"></a><span class="hs-comment">-- | main media-plugin.</span><span>
</span><a name="line-47"></a><span class="hs-comment">--</span><span>
</span><a name="line-48"></a><span class="hs-comment">-- Will convert the following syntax</span><span>
</span><a name="line-49"></a><span class="hs-comment">--</span><span>
</span><a name="line-50"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-51"></a><span class="hs-comment">-- ![](foo.aac){#audio}</span><span>
</span><a name="line-52"></a><span class="hs-comment">-- ![](foo.mp4){#video}</span><span>
</span><a name="line-53"></a><span class="hs-comment">-- ![](foo.png){#img}</span><span>
</span><a name="line-54"></a><span class="hs-comment">-- ![](foo.svg){#svg}</span><span>
</span><a name="line-55"></a><span class="hs-comment">-- ![](foo.html){#demo}</span><span>
</span><a name="line-56"></a><span class="hs-comment">-- @</span><span>
</span><a name="line-57"></a><span class="hs-comment">--</span><span>
</span><a name="line-58"></a><span class="hs-comment">-- HTML-id's maybe ommitted if the file-extension is in whitelist.</span><span>
</span><a name="line-59"></a><span class="hs-comment">--</span><span>
</span><a name="line-60"></a><span class="hs-comment">-- If a type is detected by extension a custom id (not matching the extension)</span><span>
</span><a name="line-61"></a><span class="hs-comment">-- will be preserved.</span><span>
</span><a name="line-62"></a><span class="hs-comment">--</span><span>
</span><a name="line-63"></a><span class="hs-identifier">media</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Inline</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span>
</span><a name="line-64"></a><span class="hs-comment">--audio</span><span>
</span><a name="line-65"></a><a name="media"><a href="Text.Pandoc.Util.Filter.Media.html#media"><span class="hs-identifier">media</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079177"><a href="#local-6989586621679079177"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><a name="local-6989586621679079178"><a href="#local-6989586621679079178"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><a name="local-6989586621679079179"><a href="#local-6989586621679079179"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079180"><a href="#local-6989586621679079180"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-66"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079177"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;audio&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079180"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#audioExt"><span class="hs-identifier hs-var">audioExt</span></a><span>
</span><a name="line-67"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;audio &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079181"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079180"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;audio&quot;</span><span> </span><a href="#local-6989586621679079177"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079182"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079179"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/audio&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-68"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079181"><a href="#local-6989586621679079181"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079182"><a href="#local-6989586621679079182"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079178"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-70"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079183"><a href="#local-6989586621679079183"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><a name="local-6989586621679079184"><a href="#local-6989586621679079184"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><a name="local-6989586621679079185"><a href="#local-6989586621679079185"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679079186"><a href="#local-6989586621679079186"><span class="hs-identifier">alt</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079187"><a href="#local-6989586621679079187"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-71"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079183"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;audio&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079187"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#audioExt"><span class="hs-identifier hs-var">audioExt</span></a><span>
</span><a name="line-72"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure&gt;&lt;audio &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079188"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079187"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;audio&quot;</span><span> </span><a href="#local-6989586621679079183"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079189"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079185"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/audio&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-73"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figcaption&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-74"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079186"><span class="hs-identifier hs-var">alt</span></a><span>
</span><a name="line-75"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figcaption&gt;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-76"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-77"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079188"><a href="#local-6989586621679079188"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079189"><a href="#local-6989586621679079189"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079184"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-78"></a><span class="hs-comment">--videos</span><span>
</span><a name="line-79"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079190"><a href="#local-6989586621679079190"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079191"><a href="#local-6989586621679079191"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079192"><a href="#local-6989586621679079192"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079193"><a href="#local-6989586621679079193"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-80"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079190"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;video&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079193"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#videoExt"><span class="hs-identifier hs-var">videoExt</span></a><span>
</span><a name="line-81"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;video &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079194"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079193"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;video&quot;</span><span> </span><a href="#local-6989586621679079190"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079195"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079192"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/video&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-82"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-83"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079194"><a href="#local-6989586621679079194"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079195"><a href="#local-6989586621679079195"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079191"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-84"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079196"><a href="#local-6989586621679079196"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079197"><a href="#local-6989586621679079197"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079198"><a href="#local-6989586621679079198"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679079199"><a href="#local-6989586621679079199"><span class="hs-identifier">alt</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079200"><a href="#local-6989586621679079200"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-85"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079196"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;video&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079200"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#videoExt"><span class="hs-identifier hs-var">videoExt</span></a><span>
</span><a name="line-86"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-87"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;video &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079201"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079200"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;video&quot;</span><span> </span><a href="#local-6989586621679079196"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079202"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079198"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/video&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-88"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figcaption&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-89"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079199"><span class="hs-identifier hs-var">alt</span></a><span>
</span><a name="line-90"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figcaption&gt;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-91"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-92"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079201"><a href="#local-6989586621679079201"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079202"><a href="#local-6989586621679079202"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079197"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-93"></a><span class="hs-comment">--images</span><span>
</span><a name="line-94"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079203"><a href="#local-6989586621679079203"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079204"><a href="#local-6989586621679079204"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079205"><a href="#local-6989586621679079205"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079206"><a href="#local-6989586621679079206"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-95"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079203"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;img&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079206"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#imgExt"><span class="hs-identifier hs-var">imgExt</span></a><span>
</span><a name="line-96"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-97"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;img &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079207"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079206"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;img&quot;</span><span> </span><a href="#local-6989586621679079203"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079208"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079205"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/img&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-98"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-99"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-100"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079207"><a href="#local-6989586621679079207"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079208"><a href="#local-6989586621679079208"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079204"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-101"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079209"><a href="#local-6989586621679079209"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079210"><a href="#local-6989586621679079210"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079211"><a href="#local-6989586621679079211"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679079212"><a href="#local-6989586621679079212"><span class="hs-identifier">alt</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079213"><a href="#local-6989586621679079213"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-102"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079209"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;img&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079213"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#imgExt"><span class="hs-identifier hs-var">imgExt</span></a><span>
</span><a name="line-103"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-104"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;img &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079214"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079213"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;img&quot;</span><span> </span><a href="#local-6989586621679079209"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><a href="#local-6989586621679079215"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679079211"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/img&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-105"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figcaption&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-106"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079212"><span class="hs-identifier hs-var">alt</span></a><span>
</span><a name="line-107"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figcaption&gt;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-108"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-109"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079214"><a href="#local-6989586621679079214"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079215"><a href="#local-6989586621679079215"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079210"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-110"></a><span class="hs-comment">--load svg and dump it in</span><span>
</span><a name="line-111"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079216"><a href="#local-6989586621679079216"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079217"><a href="#local-6989586621679079217"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079218"><a href="#local-6989586621679079218"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079219"><a href="#local-6989586621679079219"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-112"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079216"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;svg&quot;</span><span>
</span><a name="line-113"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">handle</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679079549"><a href="#local-6989586621679079549"><span class="hs-identifier">fileerror</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IOException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;Could not read file: &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079219"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&lt;br /&gt;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">show</span><span> </span><a href="#local-6989586621679079549"><span class="hs-identifier hs-var">fileerror</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-114"></a><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-115"></a><span> </span><a name="local-6989586621679079690"><a href="#local-6989586621679079690"><span class="hs-identifier">svg</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">readFile</span><span> </span><a href="#local-6989586621679079219"><span class="hs-identifier hs-var">filename</span></a><span>
</span><a name="line-116"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079220"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;svg&quot;</span><span> </span><a href="#local-6989586621679079216"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079221"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079218"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&quot;</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- use attributes on figure, as svg gets dumped in..</span><span>
</span><a name="line-117"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679079690"><span class="hs-identifier hs-var">svg</span></a><span class="hs-special">]</span><span>
</span><a name="line-118"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-119"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-120"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079220"><a href="#local-6989586621679079220"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079221"><a href="#local-6989586621679079221"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079217"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-121"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079691"><a href="#local-6989586621679079691"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079692"><a href="#local-6989586621679079692"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079693"><a href="#local-6989586621679079693"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679079694"><a href="#local-6989586621679079694"><span class="hs-identifier">alt</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079695"><a href="#local-6989586621679079695"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-122"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079691"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;svg&quot;</span><span>
</span><a name="line-123"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">handle</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679079698"><a href="#local-6989586621679079698"><span class="hs-identifier">fileerror</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IOException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;Could not read file: &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079695"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&lt;br /&gt;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">show</span><span> </span><a href="#local-6989586621679079698"><span class="hs-identifier hs-var">fileerror</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-124"></a><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-125"></a><span> </span><a name="local-6989586621679079699"><a href="#local-6989586621679079699"><span class="hs-identifier">svg</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">readFile</span><span> </span><a href="#local-6989586621679079695"><span class="hs-identifier hs-var">filename</span></a><span>
</span><a name="line-126"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079696"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;svg&quot;</span><span> </span><a href="#local-6989586621679079691"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079697"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079693"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&quot;</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- use attributes on figure, as svg gets dumped in..</span><span>
</span><a name="line-127"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679079699"><span class="hs-identifier hs-var">svg</span></a><span class="hs-special">]</span><span>
</span><a name="line-128"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figcaption&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-129"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079694"><span class="hs-identifier hs-var">alt</span></a><span>
</span><a name="line-130"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figcaption&gt;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-131"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-132"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079696"><a href="#local-6989586621679079696"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079697"><a href="#local-6989586621679079697"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079692"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-133"></a><span class="hs-comment">--html-demos etc. as IFrames</span><span>
</span><a name="line-134"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079700"><a href="#local-6989586621679079700"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079701"><a href="#local-6989586621679079701"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079702"><a href="#local-6989586621679079702"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079703"><a href="#local-6989586621679079703"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-135"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079700"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;demo&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079703"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#demoExt"><span class="hs-identifier hs-var">demoExt</span></a><span>
</span><a name="line-136"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;iframe &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079704"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079703"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;?plugin\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;demo&quot;</span><span> </span><a href="#local-6989586621679079700"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079705"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079702"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/iframe&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-137"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-138"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079704"><a href="#local-6989586621679079704"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079705"><a href="#local-6989586621679079705"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079701"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-139"></a><span class="hs-identifier">media</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Image</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079706"><a href="#local-6989586621679079706"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079707"><a href="#local-6989586621679079707"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079708"><a href="#local-6989586621679079708"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679079709"><a href="#local-6989586621679079709"><span class="hs-identifier">alt</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079710"><a href="#local-6989586621679079710"><span class="hs-identifier">filename</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-140"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679079706"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;demo&quot;</span><span> </span><span class="hs-operator hs-var">||</span><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier hs-var">checkExtension</span></a><span> </span><a href="#local-6989586621679079710"><span class="hs-identifier hs-var">filename</span></a><span> </span><a href="Text.Pandoc.Util.Filter.Media.html#demoExt"><span class="hs-identifier hs-var">demoExt</span></a><span>
</span><a name="line-141"></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-142"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;iframe &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679079711"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; src=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079710"><span class="hs-identifier hs-var">filename</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;?plugin\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier hs-var">idFilter</span></a><span> </span><span class="hs-string">&quot;demo&quot;</span><span> </span><a href="#local-6989586621679079706"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079712"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679079708"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/iframe&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-143"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;figcaption&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-144"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679079709"><span class="hs-identifier hs-var">alt</span></a><span>
</span><a name="line-145"></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;/figcaption&gt;&lt;/figure&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-146"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-147"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679079711"><a href="#local-6989586621679079711"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679079712"><a href="#local-6989586621679079712"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679079707"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-148"></a><span class="hs-comment">-- if not matched</span><span>
</span><a name="line-149"></a><span class="hs-identifier">media</span><span> </span><a name="local-6989586621679079713"><a href="#local-6989586621679079713"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679079713"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-150"></a><span>
</span><a name="line-151"></a><span class="hs-identifier">checkExtension</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-152"></a><a name="checkExtension"><a href="Text.Pandoc.Util.Filter.Media.html#checkExtension"><span class="hs-identifier">checkExtension</span></a></a><span> </span><a name="local-6989586621679079714"><a href="#local-6989586621679079714"><span class="hs-identifier">fn</span></a></a><span> </span><a name="local-6989586621679079715"><a href="#local-6989586621679079715"><span class="hs-identifier">exts</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">toLower</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">tail</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">takeExtension</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079714"><span class="hs-identifier hs-var">fn</span></a><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679079715"><span class="hs-identifier hs-var">exts</span></a><span>
</span><a name="line-153"></a><span>
</span><a name="line-154"></a><span class="hs-identifier">idFilter</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span>
</span><a name="line-155"></a><a name="idFilter"><a href="Text.Pandoc.Util.Filter.Media.html#idFilter"><span class="hs-identifier">idFilter</span></a></a><span> </span><a name="local-6989586621679080112"><a href="#local-6989586621679080112"><span class="hs-identifier">a</span></a></a><span> </span><a name="local-6989586621679080113"><a href="#local-6989586621679080113"><span class="hs-identifier">b</span></a></a><span>
</span><a name="line-156"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679080112"><span class="hs-identifier hs-var">a</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><a href="#local-6989586621679080113"><span class="hs-identifier hs-var">b</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;&quot;</span><span>
</span><a name="line-157"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier hs-var">otherwise</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679080113"><span class="hs-identifier hs-var">b</span></a><span>
</span><a name="line-158"></a><span>
</span><a name="line-159"></a></pre></body></html>

View File

@ -0,0 +1,40 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-2"></a><span>
</span><a name="line-3"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span><span class="hs-operator">.</span><span class="hs-identifier">Quiz</span><span>
</span><a name="line-4"></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Quiz.html#quiz"><span class="hs-identifier hs-var">quiz</span></a><span class="hs-special">)</span><span>
</span><a name="line-5"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-6"></a><span>
</span><a name="line-7"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">JSON</span><span>
</span><a name="line-8"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Walk</span><span>
</span><a name="line-9"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-10"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Maybe</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">isNothing</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">mapMaybe</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">listToMaybe</span><span class="hs-special">)</span><span>
</span><a name="line-11"></a><span>
</span><a name="line-12"></a><span class="hs-comment">-- Move bottom-Up through the structure, find quiz-answers and remove the</span><span>
</span><a name="line-13"></a><span class="hs-comment">-- incorrect formattet ones from the Block they came from.</span><span>
</span><a name="line-14"></a><span class="hs-identifier">quiz</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Block</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Block</span><span class="hs-special">]</span><span>
</span><a name="line-15"></a><a name="quiz"><a href="Text.Pandoc.Util.Filter.Quiz.html#quiz"><span class="hs-identifier">quiz</span></a></a><span> </span><a name="local-6989586621679038523"><a href="#local-6989586621679038523"><span class="hs-identifier">pb</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier hs-var">Plain</span><span> </span><a name="local-6989586621679038524"><a href="#local-6989586621679038524"><span class="hs-identifier">b</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#makeQuiz"><span class="hs-identifier hs-var">makeQuiz</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">query</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findQuiz"><span class="hs-identifier hs-var">findQuiz</span></a><span> </span><a href="#local-6989586621679038523"><span class="hs-identifier hs-var">pb</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">==</span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findQuiz"><span class="hs-identifier hs-var">findQuiz</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679038524"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-16"></a><span class="hs-identifier">quiz</span><span> </span><a name="local-6989586621679042244"><a href="#local-6989586621679042244"><span class="hs-identifier">pb</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier hs-var">Para</span><span> </span><a name="local-6989586621679042245"><a href="#local-6989586621679042245"><span class="hs-identifier">b</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#makeQuiz"><span class="hs-identifier hs-var">makeQuiz</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">query</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findQuiz"><span class="hs-identifier hs-var">findQuiz</span></a><span> </span><a href="#local-6989586621679042244"><span class="hs-identifier hs-var">pb</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">==</span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findQuiz"><span class="hs-identifier hs-var">findQuiz</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679042245"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-17"></a><span class="hs-identifier">quiz</span><span> </span><a name="local-6989586621679042246"><a href="#local-6989586621679042246"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679042246"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-18"></a><span>
</span><a name="line-19"></a><span class="hs-comment">-- If we have []{.answer} then we have a quiz-answer</span><span>
</span><a name="line-20"></a><span class="hs-comment">-- maybe with a tooltip</span><span>
</span><a name="line-21"></a><span class="hs-identifier">findQuiz</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Inline</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">Attr</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Attr</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-22"></a><a name="findQuiz"><a href="Text.Pandoc.Util.Filter.Quiz.html#findQuiz"><span class="hs-identifier">findQuiz</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Span</span><span> </span><a name="local-6989586621679042247"><a href="#local-6989586621679042247"><span class="hs-identifier">attributes</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier">_</span><span class="hs-special">,</span><span> </span><a name="local-6989586621679042248"><a href="#local-6989586621679042248"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><a name="local-6989586621679042249"><a href="#local-6989586621679042249"><span class="hs-identifier">answerText</span></a></a><span class="hs-special">)</span><span>
</span><a name="line-23"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;answer&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679042248"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679042247"><span class="hs-identifier hs-var">attributes</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679042250"><span class="hs-identifier hs-var">answerText'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679042251"><span class="hs-identifier hs-var">tooltip</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-24"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-25"></a><span> </span><a name="local-6989586621679042250"><a href="#local-6989586621679042250"><span class="hs-identifier">answerText'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">isNothing</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findTooltip"><span class="hs-identifier hs-var">findTooltip</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679042249"><span class="hs-identifier hs-var">answerText</span></a><span> </span><span class="hs-comment">--filter everything that is a tooltip</span><span>
</span><a name="line-26"></a><span> </span><a name="local-6989586621679042251"><a href="#local-6989586621679042251"><span class="hs-identifier">tooltip</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">listToMaybe</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">mapMaybe</span><span> </span><a href="Text.Pandoc.Util.Filter.Quiz.html#findTooltip"><span class="hs-identifier hs-var">findTooltip</span></a><span> </span><a href="#local-6989586621679042249"><span class="hs-identifier hs-var">answerText</span></a><span> </span><span class="hs-comment">--get the first span that is labled tooltip</span><span>
</span><a name="line-27"></a><span class="hs-identifier">findQuiz</span><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-28"></a><span>
</span><a name="line-29"></a><span class="hs-comment">-- If we have []{.tooltip} we have a tooltip ;)</span><span>
</span><a name="line-30"></a><span class="hs-comment">-- we save the text and the attributes in a tuple</span><span>
</span><a name="line-31"></a><span class="hs-identifier">findTooltip</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Inline</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Attr</span><span class="hs-special">)</span><span>
</span><a name="line-32"></a><a name="findTooltip"><a href="Text.Pandoc.Util.Filter.Quiz.html#findTooltip"><span class="hs-identifier">findTooltip</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Span</span><span> </span><a name="local-6989586621679043307"><a href="#local-6989586621679043307"><span class="hs-identifier">attr</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier">_</span><span class="hs-special">,</span><a name="local-6989586621679043308"><a href="#local-6989586621679043308"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><a name="local-6989586621679043309"><a href="#local-6989586621679043309"><span class="hs-identifier">tooltipText</span></a></a><span class="hs-special">)</span><span>
</span><a name="line-33"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;tooltip&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679043308"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679043309"><span class="hs-identifier hs-var">tooltipText</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679043307"><span class="hs-identifier hs-var">attr</span></a><span class="hs-special">)</span><span>
</span><a name="line-34"></a><span class="hs-identifier">findTooltip</span><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-35"></a><span>
</span><a name="line-36"></a><span class="hs-comment">-- Generate Divs for the quiz</span><span>
</span><a name="line-37"></a><span class="hs-identifier">makeQuiz</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Attr</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="hs-identifier hs-type">Inline</span><span class="hs-special">]</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Attr</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Block</span><span>
</span><a name="line-38"></a><a name="makeQuiz"><a href="Text.Pandoc.Util.Filter.Quiz.html#makeQuiz"><span class="hs-identifier">makeQuiz</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679043310"><a href="#local-6989586621679043310"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679043311"><a href="#local-6989586621679043311"><span class="hs-identifier">answer</span></a></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><a href="#local-6989586621679043310"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><a href="#local-6989586621679043311"><span class="hs-identifier hs-var">answer</span></a><span class="hs-special">]</span><span>
</span><a name="line-39"></a><span class="hs-identifier">makeQuiz</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679043312"><a href="#local-6989586621679043312"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679043313"><a href="#local-6989586621679043313"><span class="hs-identifier">answer</span></a></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679043314"><a href="#local-6989586621679043314"><span class="hs-identifier">tooltip</span></a></a><span class="hs-special">,</span><a name="local-6989586621679043315"><a href="#local-6989586621679043315"><span class="hs-identifier">a</span></a></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><a href="#local-6989586621679043312"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><a href="#local-6989586621679043313"><span class="hs-identifier hs-var">answer</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Div</span><span> </span><a href="#local-6989586621679043315"><span class="hs-identifier hs-var">a</span></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Plain</span><span> </span><a href="#local-6989586621679043314"><span class="hs-identifier hs-var">tooltip</span></a><span class="hs-special">]</span><span class="hs-special">]</span><span>
</span><a name="line-40"></a></pre></body></html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-2"></a><span>
</span><a name="line-3"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span><span class="hs-operator">.</span><span class="hs-identifier">Styling</span><span>
</span><a name="line-4"></a><span> </span><span class="hs-special">(</span><a href="Text.Pandoc.Util.Filter.Styling.html#styling"><span class="hs-identifier hs-var">styling</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.Styling.html#inlineStyling"><span class="hs-identifier hs-var">inlineStyling</span></a><span class="hs-special">)</span><span>
</span><a name="line-5"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-6"></a><span>
</span><a name="line-7"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">JSON</span><span>
</span><a name="line-8"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-9"></a><span class="hs-keyword">import</span><span> </span><a href="Text.Pandoc.Util.Filter.html"><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span></a><span>
</span><a name="line-10"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">div</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">span</span><span class="hs-special">)</span><span>
</span><a name="line-11"></a><span>
</span><a name="line-12"></a><span class="hs-comment">-- | Block-Styling</span><span>
</span><a name="line-13"></a><span class="hs-comment">--</span><span>
</span><a name="line-14"></a><span class="hs-comment">-- Special cases captured:</span><span>
</span><a name="line-15"></a><span class="hs-comment">--</span><span>
</span><a name="line-16"></a><span class="hs-comment">-- - #col turns a div into a floating-div for multiple columns</span><span>
</span><a name="line-17"></a><span class="hs-comment">-- - CodeBlock gets attributes @data-trim@ and @data-noescape@</span><span>
</span><a name="line-18"></a><span class="hs-comment">-- automatically</span><span>
</span><a name="line-19"></a><span class="hs-comment">-- - .fragment and .frame work properly on divs</span><span>
</span><a name="line-20"></a><span class="hs-identifier">styling</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Block</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Block</span><span class="hs-special">]</span><span>
</span><a name="line-21"></a><a name="styling"><a href="Text.Pandoc.Util.Filter.Styling.html#styling"><span class="hs-identifier">styling</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;col&quot;</span><span class="hs-special">,</span><a name="local-6989586621679084969"><a href="#local-6989586621679084969"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><a name="local-6989586621679084970"><a href="#local-6989586621679084970"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679084971"><a href="#local-6989586621679084971"><span class="hs-identifier">inner</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toBlockHtml"><span class="hs-identifier hs-var">toBlockHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;div style=\&quot;float:left; margin-bottom:10px;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679084972"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><a href="#local-6989586621679084973"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679084970"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-22"></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><a href="#local-6989586621679084971"><span class="hs-identifier hs-var">inner</span></a><span>
</span><a name="line-23"></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><span class="hs-special">[</span><a href="Text.Pandoc.Util.Filter.html#toBlockHtml"><span class="hs-identifier hs-var">toBlockHtml</span></a><span class="hs-string">&quot;&lt;/div&gt;&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-24"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-25"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679084972"><a href="#local-6989586621679084972"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679084973"><a href="#local-6989586621679084973"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679084969"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-26"></a><span class="hs-identifier">styling</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">CodeBlock</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679084974"><a href="#local-6989586621679084974"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><a name="local-6989586621679084975"><a href="#local-6989586621679084975"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><a name="local-6989586621679084976"><a href="#local-6989586621679084976"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679084977"><a href="#local-6989586621679084977"><span class="hs-identifier">inner</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span>
</span><a name="line-27"></a><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">CodeBlock</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679084974"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;data-trim&quot;</span><span>
</span><a name="line-28"></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;data-noescape&quot;</span><span>
</span><a name="line-29"></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679084975"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-30"></a><span> </span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679084976"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span>
</span><a name="line-31"></a><span> </span><a href="#local-6989586621679084977"><span class="hs-identifier hs-var">inner</span></a><span class="hs-special">]</span><span>
</span><a name="line-32"></a><span class="hs-identifier">styling</span><span> </span><a name="local-6989586621679084978"><a href="#local-6989586621679084978"><span class="hs-identifier">div</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679084979"><a href="#local-6989586621679084979"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><a name="local-6989586621679084980"><a href="#local-6989586621679084980"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><a name="local-6989586621679084981"><a href="#local-6989586621679084981"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679084982"><a href="#local-6989586621679084982"><span class="hs-identifier">inner</span></a></a><span class="hs-special">)</span><span>
</span><a name="line-33"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;fragment&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679084980"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679084979"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679084980"><span class="hs-identifier hs-var">att</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span> </span><span class="hs-string">&quot;display: block;&quot;</span><span> </span><a href="#local-6989586621679084981"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679084982"><span class="hs-identifier hs-var">inner</span></a><span class="hs-special">]</span><span>
</span><a name="line-34"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;frame&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679084980"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">Div</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679084979"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;fragment&quot;</span><span> </span><span class="hs-comment">--insert fragment</span><span>
</span><a name="line-35"></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;current-visible&quot;</span><span> </span><span class="hs-comment">--insert current-visible</span><span>
</span><a name="line-36"></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">/=</span><span> </span><span class="hs-string">&quot;frame&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-comment">--remove frame</span><span>
</span><a name="line-37"></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679084980"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-38"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span> </span><span class="hs-string">&quot;display: block;&quot;</span><span> </span><a href="#local-6989586621679084981"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679084982"><span class="hs-identifier hs-var">inner</span></a><span class="hs-special">]</span><span>
</span><a name="line-39"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier hs-var">otherwise</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679084978"><span class="hs-identifier hs-var">div</span></a><span class="hs-special">]</span><span>
</span><a name="line-40"></a><span class="hs-identifier">styling</span><span> </span><a name="local-6989586621679084983"><a href="#local-6989586621679084983"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679084983"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-41"></a><span>
</span><a name="line-42"></a><span>
</span><a name="line-43"></a><span class="hs-comment">-- | Inline-Styling</span><span>
</span><a name="line-44"></a><span class="hs-comment">--</span><span>
</span><a name="line-45"></a><span class="hs-comment">-- Special cases captured:</span><span>
</span><a name="line-46"></a><span class="hs-comment">--</span><span>
</span><a name="line-47"></a><span class="hs-comment">-- - .fragment and .frame work properly on spans</span><span>
</span><a name="line-48"></a><span class="hs-comment">-- - .vspace inside span adds a vertical space with @height=xxx@</span><span>
</span><a name="line-49"></a><span class="hs-comment">-- - .hspace inside span adds a horizontal space with @width=xxx@</span><span>
</span><a name="line-50"></a><span class="hs-identifier">inlineStyling</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Inline</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Inline</span><span>
</span><a name="line-51"></a><a name="inlineStyling"><a href="Text.Pandoc.Util.Filter.Styling.html#inlineStyling"><span class="hs-identifier">inlineStyling</span></a></a><span> </span><a name="local-6989586621679084984"><a href="#local-6989586621679084984"><span class="hs-identifier">span</span></a></a><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="hs-identifier hs-var">Span</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679084985"><a href="#local-6989586621679084985"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679084986"><a href="#local-6989586621679084986"><span class="hs-identifier">att</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679084987"><a href="#local-6989586621679084987"><span class="hs-identifier">att'</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679084988"><a href="#local-6989586621679084988"><span class="hs-identifier">inner</span></a></a><span class="hs-special">)</span><span>
</span><a name="line-52"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;fragment&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679084986"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Span</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679084985"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679084986"><span class="hs-identifier hs-var">att</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span> </span><span class="hs-string">&quot;display: inline-block;&quot;</span><span> </span><a href="#local-6989586621679084987"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679084988"><span class="hs-identifier hs-var">inner</span></a><span>
</span><a name="line-53"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-string">&quot;frame&quot;</span><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679084986"><span class="hs-identifier hs-var">att</span></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Span</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679084985"><span class="hs-identifier hs-var">id'</span></a><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;fragment&quot;</span><span> </span><span class="hs-comment">--insert fragment</span><span>
</span><a name="line-54"></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><span class="hs-string">&quot;current-visible&quot;</span><span> </span><span class="hs-comment">--insert current-visible</span><span>
</span><a name="line-55"></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">/=</span><span> </span><span class="hs-string">&quot;frame&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-comment">--remove frame</span><span>
</span><a name="line-56"></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679084986"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-57"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span> </span><span class="hs-string">&quot;display: inline-block;&quot;</span><span> </span><a href="#local-6989586621679084987"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679084988"><span class="hs-identifier hs-var">inner</span></a><span>
</span><a name="line-58"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679084985"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;vspace&quot;</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;div style=\&quot;clear:both;\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679084989"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><a href="#local-6989586621679084990"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679084987"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/div&gt;&quot;</span><span>
</span><a name="line-59"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679084985"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;hspace&quot;</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-string">&quot;&lt;span &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679084989"><span class="hs-identifier hs-var">direct</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><a href="#local-6989586621679084990"><span class="hs-identifier hs-var">css</span></a><span class="hs-special">,</span><a href="#local-6989586621679084987"><span class="hs-identifier hs-var">att'</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;&gt;&lt;/span&gt;&quot;</span><span>
</span><a name="line-60"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier hs-var">otherwise</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679084984"><span class="hs-identifier hs-var">span</span></a><span>
</span><a name="line-61"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-62"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679084989"><a href="#local-6989586621679084989"><span class="hs-identifier">direct</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679084990"><a href="#local-6989586621679084990"><span class="hs-identifier">css</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span> </span><a href="#local-6989586621679084986"><span class="hs-identifier hs-var">att</span></a><span>
</span><a name="line-63"></a><span class="hs-identifier">inlineStyling</span><span> </span><a name="local-6989586621679084991"><a href="#local-6989586621679084991"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679084991"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-64"></a><span>
</span><a name="line-65"></a></pre></body></html>

View File

@ -0,0 +1,103 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Util</span><span class="hs-operator">.</span><span class="hs-identifier">Filter</span><span>
</span><a name="line-2"></a><span> </span><span class="hs-special">(</span><span> </span><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier hs-var">attToString</span></a><span>
</span><a name="line-3"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#revealjsSpecialAttrs"><span class="hs-identifier hs-var">revealjsSpecialAttrs</span></a><span>
</span><a name="line-4"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier hs-var">classToRevealAttr</span></a><span>
</span><a name="line-5"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier hs-var">toHtml</span></a><span>
</span><a name="line-6"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#toBlockHtml"><span class="hs-identifier hs-var">toBlockHtml</span></a><span>
</span><a name="line-7"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span>
</span><a name="line-8"></a><span> </span><span class="hs-special">,</span><span> </span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span>
</span><a name="line-9"></a><span> </span><span class="hs-special">)</span><span>
</span><a name="line-10"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-11"></a><span>
</span><a name="line-12"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Pandoc</span><span class="hs-operator">.</span><span class="hs-identifier">Definition</span><span>
</span><a name="line-13"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span>
</span><a name="line-14"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">List</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">partition</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">isInfixOf</span><span class="hs-special">)</span><span>
</span><a name="line-15"></a><span>
</span><a name="line-16"></a><span class="hs-comment">-- | adds a given String to the list if not in there; Does nothing if the</span><span>
</span><a name="line-17"></a><span class="hs-comment">-- given String is already present.</span><span>
</span><a name="line-18"></a><span class="hs-identifier">addToAtt</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Eq</span><span> </span><a href="#local-6989586621679076134"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679076134"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679076134"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679076134"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span>
</span><a name="line-19"></a><a name="addToAtt"><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier">addToAtt</span></a></a><span> </span><a name="local-6989586621679076135"><a href="#local-6989586621679076135"><span class="hs-identifier">toAdd</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679076136"><a href="#local-6989586621679076136"><span class="hs-identifier">a</span></a></a><span class="hs-glyph">:</span><span class="hs-keyword">as</span><span class="hs-special">)</span><span>
</span><a name="line-20"></a><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679076136"><span class="hs-identifier hs-var">a</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><a href="#local-6989586621679076135"><span class="hs-identifier hs-var">toAdd</span></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679076135"><span class="hs-identifier hs-var">toAdd</span></a><span class="hs-glyph">:</span><span class="hs-keyword">as</span><span>
</span><a name="line-21"></a><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier hs-var">otherwise</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679076136"><span class="hs-identifier hs-var">a</span></a><span class="hs-glyph">:</span><a href="Text.Pandoc.Util.Filter.html#addToAtt"><span class="hs-identifier hs-var">addToAtt</span></a><span> </span><a href="#local-6989586621679076135"><span class="hs-identifier hs-var">toAdd</span></a><span> </span><span class="hs-keyword">as</span><span>
</span><a name="line-22"></a><span class="hs-identifier">addToAtt</span><span> </span><a name="local-6989586621679076138"><a href="#local-6989586621679076138"><span class="hs-identifier">toAdd</span></a></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679076138"><span class="hs-identifier hs-var">toAdd</span></a><span class="hs-special">]</span><span>
</span><a name="line-23"></a><span>
</span><a name="line-24"></a><span class="hs-comment">-- | adds given String to List of key-value-pairs (like in 'Attr')</span><span>
</span><a name="line-25"></a><span class="hs-comment">-- in the \&quot;style\&quot;-Key.</span><span>
</span><a name="line-26"></a><span class="hs-comment">--</span><span>
</span><a name="line-27"></a><span class="hs-comment">-- Useful when trying to add CSS-styles directly to (generated) elements</span><span>
</span><a name="line-28"></a><span class="hs-identifier">addToStyle</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">String</span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">String</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-29"></a><span class="hs-comment">-- we are looking for style and inject</span><span>
</span><a name="line-30"></a><a name="addToStyle"><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier">addToStyle</span></a></a><span> </span><a name="local-6989586621679076139"><a href="#local-6989586621679076139"><span class="hs-identifier">toAdd</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><a name="local-6989586621679076140"><a href="#local-6989586621679076140"><span class="hs-identifier">val</span></a></a><span class="hs-special">)</span><span class="hs-glyph">:</span><span class="hs-keyword">as</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-keyword">if</span><span> </span><a href="#local-6989586621679076139"><span class="hs-identifier hs-var">toAdd</span></a><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">isInfixOf</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679076140"><span class="hs-identifier hs-var">val</span></a><span> </span><span class="hs-keyword">then</span><span> </span><a href="#local-6989586621679076140"><span class="hs-identifier hs-var">val</span></a><span> </span><span class="hs-keyword">else</span><span> </span><a href="#local-6989586621679076140"><span class="hs-identifier hs-var">val</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076139"><span class="hs-identifier hs-var">toAdd</span></a><span class="hs-special">)</span><span class="hs-glyph">:</span><span class="hs-keyword">as</span><span>
</span><a name="line-31"></a><span class="hs-comment">-- if we land here the current one is not style -&gt; skip</span><span>
</span><a name="line-32"></a><span class="hs-identifier">addToStyle</span><span> </span><a name="local-6989586621679076271"><a href="#local-6989586621679076271"><span class="hs-identifier">toAdd</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679076272"><a href="#local-6989586621679076272"><span class="hs-identifier">a</span></a></a><span class="hs-glyph">:</span><span class="hs-keyword">as</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679076272"><span class="hs-identifier hs-var">a</span></a><span class="hs-glyph">:</span><a href="Text.Pandoc.Util.Filter.html#addToStyle"><span class="hs-identifier hs-var">addToStyle</span></a><span> </span><a href="#local-6989586621679076271"><span class="hs-identifier hs-var">toAdd</span></a><span> </span><span class="hs-keyword">as</span><span>
</span><a name="line-33"></a><span class="hs-comment">-- if we land here we have no more to skip -&gt; add</span><span>
</span><a name="line-34"></a><span class="hs-identifier">addToStyle</span><span> </span><a name="local-6989586621679076274"><a href="#local-6989586621679076274"><span class="hs-identifier">toAdd</span></a></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679076274"><span class="hs-identifier hs-var">toAdd</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-35"></a><span>
</span><a name="line-36"></a><span class="hs-comment">-- | converts Attributes to String for usage in HTML</span><span>
</span><a name="line-37"></a><span class="hs-comment">--</span><span>
</span><a name="line-38"></a><span class="hs-comment">-- Also converts @width=xxx@ and @height=xxx@ to the</span><span>
</span><a name="line-39"></a><span class="hs-comment">-- corresponding style-attributes</span><span>
</span><a name="line-40"></a><span class="hs-identifier">attToString</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Attr</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span>
</span><a name="line-41"></a><a name="attToString"><a href="Text.Pandoc.Util.Filter.html#attToString"><span class="hs-identifier">attToString</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;&quot;</span><span class="hs-special">,</span><span> </span><a name="local-6989586621679076275"><a href="#local-6989586621679076275"><span class="hs-identifier">classes</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679076276"><a href="#local-6989586621679076276"><span class="hs-identifier">kvpairs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;class=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679076275"><span class="hs-identifier hs-var">classes</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076278"><a href="#local-6989586621679076278"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679076279"><a href="#local-6989586621679076279"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076278"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076279"><span class="hs-identifier hs-var">v</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679076277"><span class="hs-identifier hs-var">kvpairs'</span></a><span class="hs-special">)</span><span>
</span><a name="line-42"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-43"></a><span> </span><a name="local-6989586621679076277"><a href="#local-6989586621679076277"><span class="hs-identifier">kvpairs'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#convertToStyle"><span class="hs-identifier hs-var">convertToStyle</span></a><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;width&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;height&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;transform&quot;</span><span class="hs-special">]</span><span> </span><a href="#local-6989586621679076276"><span class="hs-identifier hs-var">kvpairs</span></a><span>
</span><a name="line-44"></a><span class="hs-identifier">attToString</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679076289"><a href="#local-6989586621679076289"><span class="hs-identifier">id'</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679076290"><a href="#local-6989586621679076290"><span class="hs-identifier">classes</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679076291"><a href="#local-6989586621679076291"><span class="hs-identifier">kvpairs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;id=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076289"><span class="hs-identifier hs-var">id'</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot; class=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><a href="#local-6989586621679076290"><span class="hs-identifier hs-var">classes</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier hs-var">unwords</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076293"><a href="#local-6989586621679076293"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679076294"><a href="#local-6989586621679076294"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076293"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;=\&quot;&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076294"><span class="hs-identifier hs-var">v</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;\&quot;&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679076292"><span class="hs-identifier hs-var">kvpairs'</span></a><span class="hs-special">)</span><span>
</span><a name="line-45"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-46"></a><span> </span><a name="local-6989586621679076292"><a href="#local-6989586621679076292"><span class="hs-identifier">kvpairs'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Text.Pandoc.Util.Filter.html#convertToStyle"><span class="hs-identifier hs-var">convertToStyle</span></a><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;width&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;height&quot;</span><span class="hs-special">,</span><span class="hs-string">&quot;transform&quot;</span><span class="hs-special">]</span><span> </span><a href="#local-6989586621679076291"><span class="hs-identifier hs-var">kvpairs</span></a><span>
</span><a name="line-47"></a><span>
</span><a name="line-48"></a><span class="hs-identifier">convertToStyle</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-49"></a><a name="convertToStyle"><a href="Text.Pandoc.Util.Filter.html#convertToStyle"><span class="hs-identifier">convertToStyle</span></a></a><span> </span><a name="local-6989586621679076295"><a href="#local-6989586621679076295"><span class="hs-identifier">keys</span></a></a><span> </span><a name="local-6989586621679076296"><a href="#local-6989586621679076296"><span class="hs-identifier">kvpairs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679076300"><span class="hs-identifier hs-var">newstyle</span></a><span class="hs-special">)</span><span class="hs-glyph">:</span><a href="#local-6989586621679076299"><span class="hs-identifier hs-var">rest</span></a><span>
</span><a name="line-50"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-51"></a><span> </span><a name="local-6989586621679076297"><a href="#local-6989586621679076297"><span class="hs-identifier">oldstyle</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076301"><a href="#local-6989586621679076301"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076301"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-operator hs-var">==</span><span> </span><span class="hs-string">&quot;style&quot;</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679076296"><span class="hs-identifier hs-var">kvpairs</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-52"></a><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier">_</span><span class="hs-special">,</span><a name="local-6989586621679076302"><a href="#local-6989586621679076302"><span class="hs-identifier">st</span></a></a><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076302"><span class="hs-identifier hs-var">st</span></a><span>
</span><a name="line-53"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-string">&quot;&quot;</span><span>
</span><a name="line-54"></a><span> </span><a name="local-6989586621679076298"><a href="#local-6989586621679076298"><span class="hs-identifier">stylesToAdd</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076303"><a href="#local-6989586621679076303"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076303"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679076295"><span class="hs-identifier hs-var">keys</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679076296"><span class="hs-identifier hs-var">kvpairs</span></a><span>
</span><a name="line-55"></a><span> </span><a name="local-6989586621679076299"><a href="#local-6989586621679076299"><span class="hs-identifier">rest</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">filter</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076304"><a href="#local-6989586621679076304"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076304"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-special">`</span><span class="hs-identifier hs-var">notElem</span><span class="hs-special">`</span><span> </span><a href="#local-6989586621679076295"><span class="hs-identifier hs-var">keys</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679076296"><span class="hs-identifier hs-var">kvpairs</span></a><span>
</span><a name="line-56"></a><span> </span><a name="local-6989586621679076300"><a href="#local-6989586621679076300"><span class="hs-identifier">newstyle</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">concat</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679076305"><a href="#local-6989586621679076305"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679076306"><a href="#local-6989586621679076306"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679076305"><span class="hs-identifier hs-var">k</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;:&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076306"><span class="hs-identifier hs-var">v</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;;&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679076298"><span class="hs-identifier hs-var">stylesToAdd</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679076297"><span class="hs-identifier hs-var">oldstyle</span></a><span>
</span><a name="line-57"></a><span>
</span><a name="line-58"></a><span class="hs-comment">-- | revealjs has some special attributes that has to be</span><span>
</span><a name="line-59"></a><span class="hs-comment">-- passed to the html, but Pandoc only allows</span><span>
</span><a name="line-60"></a><span class="hs-comment">-- @key=value@-attributes, so we have to abuse</span><span>
</span><a name="line-61"></a><span class="hs-comment">-- @.class@ to rewrite them.</span><span>
</span><a name="line-62"></a><span class="hs-comment">--</span><span>
</span><a name="line-63"></a><span class="hs-comment">-- The classes that get rewritten are listed here.</span><span>
</span><a name="line-64"></a><span class="hs-comment">--</span><span>
</span><a name="line-65"></a><span class="hs-comment">-- You probably want 'classToRevealAttr', as that</span><span>
</span><a name="line-66"></a><span class="hs-comment">-- is a wrapper for splitting the class-attribute</span><span>
</span><a name="line-67"></a><span class="hs-identifier">revealjsSpecialAttrs</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span>
</span><a name="line-68"></a><a name="revealjsSpecialAttrs"><a href="Text.Pandoc.Util.Filter.html#revealjsSpecialAttrs"><span class="hs-identifier">revealjsSpecialAttrs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;data-markdown&quot;</span><span>
</span><a name="line-70"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-timing&quot;</span><span>
</span><a name="line-71"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-template&quot;</span><span>
</span><a name="line-72"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-autoplay&quot;</span><span>
</span><a name="line-73"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-prevent-swipe&quot;</span><span>
</span><a name="line-74"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-background-interactive&quot;</span><span>
</span><a name="line-75"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-trim&quot;</span><span>
</span><a name="line-76"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-noescape&quot;</span><span>
</span><a name="line-77"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;data-ignore&quot;</span><span>
</span><a name="line-78"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;controls&quot;</span><span>
</span><a name="line-79"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-80"></a><span>
</span><a name="line-81"></a><span class="hs-comment">-- | revealjs has some special attributes that has to be</span><span>
</span><a name="line-82"></a><span class="hs-comment">-- passed to the html, but Pandoc only allows</span><span>
</span><a name="line-83"></a><span class="hs-comment">-- @key=value@-attributes, so we have to abuse</span><span>
</span><a name="line-84"></a><span class="hs-comment">-- @.class@ to rewrite them.</span><span>
</span><a name="line-85"></a><span class="hs-comment">--</span><span>
</span><a name="line-86"></a><span class="hs-comment">-- This is a wrapper-function which just splits the list</span><span>
</span><a name="line-87"></a><span class="hs-comment">-- into real classes and 'revealjsSpecialAttrs'</span><span>
</span><a name="line-88"></a><span class="hs-identifier">classToRevealAttr</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span class="hs-special">,</span><span class="hs-special">[</span><span class="hs-identifier hs-type">String</span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><a name="line-89"></a><a name="classToRevealAttr"><a href="Text.Pandoc.Util.Filter.html#classToRevealAttr"><span class="hs-identifier">classToRevealAttr</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">partition</span><span> </span><span class="hs-special">(</span><span class="hs-special">`</span><span class="hs-identifier hs-var">elem</span><span class="hs-special">`</span><span> </span><a href="Text.Pandoc.Util.Filter.html#revealjsSpecialAttrs"><span class="hs-identifier hs-var">revealjsSpecialAttrs</span></a><span class="hs-special">)</span><span>
</span><a name="line-90"></a><span>
</span><a name="line-91"></a><span class="hs-comment">-- | small wrapper around @RawInline (Format &quot;html&quot;)@</span><span>
</span><a name="line-92"></a><span class="hs-comment">-- as this is less line-noise in the filters and the</span><span>
</span><a name="line-93"></a><span class="hs-comment">-- intent is more clear.</span><span>
</span><a name="line-94"></a><span class="hs-identifier">toHtml</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Inline</span><span>
</span><a name="line-95"></a><a name="toHtml"><a href="Text.Pandoc.Util.Filter.html#toHtml"><span class="hs-identifier">toHtml</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">RawInline</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Format</span><span> </span><span class="hs-string">&quot;html&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-96"></a><span>
</span><a name="line-97"></a><span>
</span><a name="line-98"></a><span class="hs-comment">-- | small wrapper around @Raw (Format &quot;html&quot;)@</span><span>
</span><a name="line-99"></a><span class="hs-comment">-- as this is less line-noise in the filters and the</span><span>
</span><a name="line-100"></a><span class="hs-comment">-- intent is more clear.</span><span>
</span><a name="line-101"></a><span class="hs-identifier">toBlockHtml</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Block</span><span>
</span><a name="line-102"></a><a name="toBlockHtml"><a href="Text.Pandoc.Util.Filter.html#toBlockHtml"><span class="hs-identifier">toBlockHtml</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">RawBlock</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Format</span><span> </span><span class="hs-string">&quot;html&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-103"></a></pre></body></html>

27
doc/src/highlight.js Normal file
View File

@ -0,0 +1,27 @@
var highlight = function (on) {
return function () {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
var that = links[i];
if (this.href != that.href) {
continue;
}
if (on) {
that.classList.add("hover-highlight");
} else {
that.classList.remove("hover-highlight");
}
}
}
};
window.onload = function () {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].onmouseover = highlight(true);
links[i].onmouseout = highlight(false);
}
};

55
doc/src/style.css Normal file
View File

@ -0,0 +1,55 @@
body {
background-color: #fdf6e3;
}
.hs-identifier {
color: #073642;
}
.hs-identifier.hs-var {
}
.hs-identifier.hs-type {
color: #5f5faf;
}
.hs-keyword {
color: #af005f;
}
.hs-string, .hs-char {
color: #cb4b16;
}
.hs-number {
color: #268bd2;
}
.hs-operator {
color: #d33682;
}
.hs-glyph, .hs-special {
color: #dc322f;
}
.hs-comment {
color: #8a8a8a;
}
.hs-pragma {
color: #2aa198;
}
.hs-cpp {
color: #859900;
}
a:link, a:visited {
text-decoration: none;
border-bottom: 1px solid #eee8d5;
}
a:hover, a.hover-highlight {
background-color: #eee8d5;
}