From 4fe237fa977eb7fca100aac29960a21c09107217 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Sat, 14 Mar 2015 11:33:14 -0700 Subject: Move test suite into its own folder --- test/.template.html | 123 ++++++++++++++++ test/compile.lua | 102 +++++++++++++ test/css/common.css | 63 ++++++++ test/ipsumlorem.html | 71 +++++++++ test/js/hylo.js | 21 +++ test/js/lozenge.js | 29 ++++ test/loremipsum.html | 71 +++++++++ test/lua/river.lua | 226 +++++++++++++++++++++++++++++ test/river/ipsumlorem.river | 343 ++++++++++++++++++++++++++++++++++++++++++++ test/river/loremipsum.river | 343 ++++++++++++++++++++++++++++++++++++++++++++ test/src/ipsumlorem.txt | 74 ++++++++++ test/src/loremipsum.txt | 74 ++++++++++ 12 files changed, 1540 insertions(+) create mode 100644 test/.template.html create mode 100644 test/compile.lua create mode 100644 test/css/common.css create mode 100644 test/ipsumlorem.html create mode 100644 test/js/hylo.js create mode 100644 test/js/lozenge.js create mode 100644 test/loremipsum.html create mode 100644 test/lua/river.lua create mode 100644 test/river/ipsumlorem.river create mode 100644 test/river/loremipsum.river create mode 100644 test/src/ipsumlorem.txt create mode 100644 test/src/loremipsum.txt diff --git a/test/.template.html b/test/.template.html new file mode 100644 index 0000000..47c7dd9 --- /dev/null +++ b/test/.template.html @@ -0,0 +1,123 @@ + + + + + + + + + + + $title$ | Autocento of the breakfast table + + + + + + + $if(genre)$ + + + $endif$ + $if(project.css)$ + + + $endif$ + + + $for(header-includes)$ + $headerincludes$ + $endfor$ + + + $for(include-before)$ $include-before$ $endfor$ + +
+
+ + $if(title)$

$title$

$endif$ + $if(subtitle)$

$subtitle$

$endif$ + +
+ $if(dedication)$ + +
$dedication$
+ $endif$ + + $if(epigraph.content)$ + +
+ $if(epigraph.link)$ + $epigraph.content$ + $else$ + $epigraph.content$ + $endif$ + + $if(epigraph.attrib)$ +
$epigraph.attrib$
+ $endif$ +
+ $endif$ +
+
+ + $if(ekphrastic.image)$ +
+ $if(ekphrastic.link)$ + + $ekphrastic.alt$ + + $else$ + $ekphrastic.alt$ + $endif$ +
+ $endif$ + +
$body$
+
+ + + $for(include-after)$ $include-after$ $endfor$ + + diff --git a/test/compile.lua b/test/compile.lua new file mode 100644 index 0000000..765f348 --- /dev/null +++ b/test/compile.lua @@ -0,0 +1,102 @@ +#!/usr/bin/env lua +-- A compiler for Autocento of the breakfast table +-- written in Lua (because we can, and because +-- it's good practice for Functional Programming) +-- ((OR WHATEVER YOU CALL IT, GAHD)) +-- vim: fdm=indent + +dir = "/d/Copy/writing/autocento/" + +function filterout (list, filter) + local output = {} + for _,v in ipairs(list) do + if not string.match(v, filter) then + -- table.insert Y U NO WORK? + output[#output + 1] = v + end + end + return output +end +function intable (table, item) + for k,v in pairs(table) do + if v == item then return k end + end + return false +end +function tabsub (table, pattern, replace) + local output = {} + for k,v in pairs(table) do + output[k] = v:gsub(pattern, replace) + end + return output +end + +function compile (files, output_fmt, extension, template, args) + local errors = {} + if template then table.insert(args, 'template="'..template..'"') end + for _, file in pairs(files) do + local pandoc_run = { + 'pandoc', + '-f markdown', + '-t '..output_fmt, + table.concat(tabsub(args, "^", "--"), ' '), + '-o '..file:gsub('^.*/(.-)%.%a+', '%1.'..extension), + file + } + print("Compiling "..file.." to ".. extension) + -- print(table.concat(pandoc_run, ' ')) + os.execute(table.concat(pandoc_run, ' ')) + end +end + +function move (files, new_dir) + local exe = {} + for _,file in pairs(files) do + print("Moving "..file.." to "..new_dir.."/ ..") + table.insert(exe, 'mv '..file..' '..new_dir..'/') + end + os.execute(table.concat(exe, ' && ')) + -- print(table.concat(exe, '; ')) +end + +function lozenge (files) + local output = 'var files=[' + for _,file in pairs(files) do + output = output .. file:gsub('.*', '"%0",') + end + output = output:gsub(',$', ']') + return output +end + +local files = filterout(arg, '^%-') +if not files or #files == 0 then + print("> No file list. WUT?") + os.exit(1) +end +local args = filterout(arg, '^[^%-]') +if not args or #args == 0 or args == {'-all'} then + args = { + '-html', + '-river', + '-lozenge', + } +end + +if intable(args, '-html') then + print("Compiling HTML ... ") + compile(files, "html5", "html", ".template.html", { + "smart", + "mathml", + "section-divs", + }) + -- move(tabsub(files,'^.*/(.*)%.txt','%1.html'), ".") +end +if intable(args, '-river') then + print("Compiling RIVER ... ") + compile(files, "lua/river.lua", "river", nil, {}) + move(tabsub(files,'^.*/(.*)%.txt','%1.river'), "river") +end +if intable(args, '-lozenge') then + print("Updating lozenge.js with file list ... ") + -- TODO +end diff --git a/test/css/common.css b/test/css/common.css new file mode 100644 index 0000000..3f704b1 --- /dev/null +++ b/test/css/common.css @@ -0,0 +1,63 @@ +/* Colors {{{ */ +#container { + border: 1px dashed black; +} +header { + background-color: black; + border-bottom: 5px dotted maroon; +} +.title { + background-color: blue; + color: white; + border: 1px solid black; +} +.subtitle { + background-color: red; + color: white; + border: 1px solid black; +} +.dedication { + background-color: yellow; + color: black; + border: 1px solid black; +} +.epigraph { + background-color: yellow; + color: blue; +} +.content { + background-color: purple; + color: white; + border: 1px solid black; +} +nav { + border: 1px solid black; +} +/* }}} */ +header { + position: relative; + max-width: 39em; + margin: auto; +} +.dedication { + text-align: left; +} +.epigraph { + border: 1px solid black; + text-align: right; +} +#dedepi { text-align: right; } +.dedication,.epigraph { + vertical-align: bottom; + display: inline-block; + margin: 0 1%; + width: 47%; +} +.epigraph p { margin: 0; padding: 0; } +header::after { + content: " "; + display: inline-block; + clear: both; + height: 0px; + width: 100%; +} diff --git a/test/ipsumlorem.html b/test/ipsumlorem.html new file mode 100644 index 0000000..cd1648b --- /dev/null +++ b/test/ipsumlorem.html @@ -0,0 +1,71 @@ + + + + + + + + + + + Ipsum lorem | Autocento of the breakfast table + + + + + + + + + + + + + + + + +
+
+ +

Ipsum lorem

+

a test suite for the gods

+ + +
+ + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vivamus at vulputate ligula, ac ullamcorper magna.
In in porta metus.
Curabitur iaculis faucibus posuere.
Nunc elementum libero vitae sapien auctor mollis.
Aenean eget tellus ac urna tincidunt vestibulum.
Vivamus eget orci nec purus mollis efficitur.
Pellentesque eu pharetra justo.

+

Duis tincidunt convallis vulputate.
Etiam non magna mi.
Proin porttitor vel quam ac dignissim.
Pellentesque tempus orci orci, quis tincidunt enim tincidunt in.
Vestibulum posuere leo ut lacus imperdiet, nec rutrum turpis pellentesque.
Pellentesque dictum finibus posuere.
Mauris vehicula lacus lorem, a euismod purus cursus eu.
Vivamus magna mauris, vehicula et libero at, commodo consectetur purus.

+

Sed laoreet posuere consectetur.
Proin sed rutrum ligula, id scelerisque eros.
Duis rhoncus magna eu magna scelerisque, non volutpat libero volutpat.
Mauris gravida et tellus non ornare.
Integer nibh nulla, commodo aliquam imperdiet a, condimentum pulvinar magna.
Praesent commodo eros eu nisi sagittis pulvinar.
Cras id lectus vel eros porta faucibus eu eu quam.
Morbi et nisi id nunc elementum facilisis.
Maecenas ultrices eu purus nec auctor.
Cras quis sagittis nunc, in accumsan lacus.

+

Sed sem arcu, eleifend imperdiet ligula consectetur, tempus efficitur massa.
Donec commodo convallis cursus.
Donec id magna at arcu malesuada vulputate.
Nam cursus leo eros, vel volutpat diam tincidunt eu.
Morbi eleifend accumsan mollis.
Sed dui lacus, tincidunt eu elit eu, venenatis ultrices erat.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Fusce sit amet imperdiet sapien, ut finibus ex.
Quisque tincidunt, est vitae iaculis bibendum, augue odio pharetra libero, nec ornare erat risus ac quam.
Nam varius mauris sit amet purus cursus, eget molestie ex tempus.

+

Proin augue ligula, interdum quis fermentum eu, suscipit eget tortor.
Suspendisse nec egestas odio, vitae vestibulum turpis.
Proin ipsum ligula, maximus vitae mauris ut, imperdiet ultricies eros.
Integer mi orci, vestibulum ut porttitor quis, dictum eu lacus.
Ut placerat lectus metus, vel molestie felis luctus ac.
Quisque facilisis lectus id magna hendrerit, auctor ornare nisl rutrum.
Pellentesque vehicula purus vitae dui auctor, in accumsan risus efficitur.

+
+ + + + + diff --git a/test/js/hylo.js b/test/js/hylo.js new file mode 100644 index 0000000..5a39427 --- /dev/null +++ b/test/js/hylo.js @@ -0,0 +1,21 @@ +/* + * Hyphenator_Loader 1.1.0 - client side hyphenation for webbrowsers + * Copyright (C) 2014 Mathias Nater, Zürich (mathias at mnn dot ch) + * Project and Source hosted on http://code.google.com/p/hyphenator/ + * + * This JavaScript code is free software: you can redistribute + * it and/or modify it under the terms of the GNU Lesser + * General Public License (GNU LGPL) as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) + * any later version. The code is distributed WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + * + * As additional permission under GNU GPL version 3 section 7, you + * may distribute non-source (e.g., minimized or compacted) forms of + * that code without the copy of the GNU GPL normally required by + * section 4, provided you include this license notice and a URL + * through which recipients can access the Corresponding Source. + */ + +var Hyphenator_Loader=(function(window){'use strict';var languages,config,path,createElem=function(tagname){var r;if(window.document.createElementNS){r=window.document.createElementNS('http://www.w3.org/1999/xhtml',tagname);}else if(window.document.createElement){r=window.document.createElement(tagname);}return r;},checkLangSupport=function(lang,longword){var shadow,computedHeight,bdy=window.document.getElementsByTagName('body')[0];shadow=createElem('div');shadow.style.width='5em';shadow.style.MozHyphens='auto';shadow.style['-webkit-hyphens']='auto';shadow.style['-ms-hyphens']='auto';shadow.style.hyphens='auto';shadow.style.fontSize='12px';shadow.style.lineHeight='12px';shadow.style.visibility='hidden';shadow.lang=lang;shadow.style['-webkit-locale']="'"+lang+"'";shadow.innerHTML=longword;bdy.appendChild(shadow);computedHeight=shadow.offsetHeight;bdy.removeChild(shadow);return(computedHeight>12)?true:false;},loadNrunHyphenator=function(config){var head,script,interval;head=window.document.getElementsByTagName('head').item(0);script=createElem('script');script.src=path;script.type='text/javascript';head.appendChild(script);interval=window.setInterval(function(){if(window.Hyphenator!==undefined){window.clearInterval(interval);Hyphenator.config(config);Hyphenator.run();}},10);},runner=function(){var loadHyphenator=false,r,results={},lang;for(lang in languages){if(languages.hasOwnProperty(lang)){r=checkLangSupport(lang,languages[lang]);results[lang]=r;loadHyphenator=loadHyphenator||!r;}}if(loadHyphenator){loadNrunHyphenator(config);}},runOnContentLoaded=function(window,f){var toplevel,hyphRunForThis={},doFrames=false,contextWindow,documentLoaded,add=window.document.addEventListener?'addEventListener':'attachEvent',rem=window.document.addEventListener?'removeEventListener':'detachEvent',pre=window.document.addEventListener?'':'on',init=function(context){contextWindow=context||window;if(!hyphRunForThis[contextWindow.location.href]&&(!documentLoaded||!!contextWindow.frameElement)){documentLoaded=true;f();hyphRunForThis[contextWindow.location.href]=true;}},doScrollCheck=function(){try{window.document.documentElement.doScroll("left");}catch(error){window.setTimeout(doScrollCheck,1);return;}init(window);},doOnLoad=function(){var i,haveAccess,fl=window.frames.length;if(doFrames&&fl>0){for(i=0;i + + + + + + + + + + Lorem ipsum | Autocento of the breakfast table + + + + + + + + + + + + + + + + +
+
+ +

Lorem ipsum

+

a test suite for the gods

+ + +
+ + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus at vulputate ligula, ac ullamcorper magna. In in porta metus. Curabitur iaculis faucibus posuere. Nunc elementum libero vitae sapien auctor mollis. Aenean eget tellus ac urna tincidunt vestibulum. Vivamus eget orci nec purus mollis efficitur. Pellentesque eu pharetra justo.

+

Duis tincidunt convallis vulputate. Etiam non magna mi. Proin porttitor vel quam ac dignissim. Pellentesque tempus orci orci, quis tincidunt enim tincidunt in. Vestibulum posuere leo ut lacus imperdiet, nec rutrum turpis pellentesque. Pellentesque dictum finibus posuere. Mauris vehicula lacus lorem, a euismod purus cursus eu. Vivamus magna mauris, vehicula et libero at, commodo consectetur purus.

+

Sed laoreet posuere consectetur. Proin sed rutrum ligula, id scelerisque eros. Duis rhoncus magna eu magna scelerisque, non volutpat libero volutpat. Mauris gravida et tellus non ornare. Integer nibh nulla, commodo aliquam imperdiet a, condimentum pulvinar magna. Praesent commodo eros eu nisi sagittis pulvinar. Cras id lectus vel eros porta faucibus eu eu quam. Morbi et nisi id nunc elementum facilisis. Maecenas ultrices eu purus nec auctor. Cras quis sagittis nunc, in accumsan lacus.

+

Sed sem arcu, eleifend imperdiet ligula consectetur, tempus efficitur massa. Donec commodo convallis cursus. Donec id magna at arcu malesuada vulputate. Nam cursus leo eros, vel volutpat diam tincidunt eu. Morbi eleifend accumsan mollis. Sed dui lacus, tincidunt eu elit eu, venenatis ultrices erat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce sit amet imperdiet sapien, ut finibus ex. Quisque tincidunt, est vitae iaculis bibendum, augue odio pharetra libero, nec ornare erat risus ac quam. Nam varius mauris sit amet purus cursus, eget molestie ex tempus.

+

Proin augue ligula, interdum quis fermentum eu, suscipit eget tortor. Suspendisse nec egestas odio, vitae vestibulum turpis. Proin ipsum ligula, maximus vitae mauris ut, imperdiet ultricies eros. Integer mi orci, vestibulum ut porttitor quis, dictum eu lacus. Ut placerat lectus metus, vel molestie felis luctus ac. Quisque facilisis lectus id magna hendrerit, auctor ornare nisl rutrum. Pellentesque vehicula purus vitae dui auctor, in accumsan risus efficitur.

+
+ + + + + diff --git a/test/lua/river.lua b/test/lua/river.lua new file mode 100644 index 0000000..d060ba9 --- /dev/null +++ b/test/lua/river.lua @@ -0,0 +1,226 @@ +-- Pandoc River writer +-- it takes out all formatting, leaving only a river of text +-- running down the page: one word per line +-- vim: fdm=marker +-- invoke with: pandoc -t river.lua + +local function flow(s) + return s:gsub("%s+", "\n") +end + +local function nude(s) + -- Expand contractions + s = s:gsub("'%a+%s", function (x) + if x == "'ll" then + return " will " + elseif x == "'ve" then + return " have " + elseif x == "'re" then + return " are " + else + return x + end + end) + -- Get rid of quotes around words + s = s:gsub('"', ' ') + s = s:gsub("%s+'", ' ') + s = s:gsub("'%s+", ' ') + -- Remove HTML entities + s = s:gsub('&.-;', ' ') + s = s:gsub('%b<>', ' ') + -- Remove end-of-line backslashes + s = s:gsub('%s+\\$', ' ') + -- Remove dashes (not hyphens) + s = s:gsub('%-%-+', ' ') + s = s:gsub('%-%s', ' ') + -- Remove general punctuation + s = s:gsub('[%.!%?:;,%[%]%(%)<>]', ' ') + -- Remove extra spaces + s = s:gsub('%s+', ' ') + return s:lower() +end + +-- This function is called once for the whole document. Parameters: +-- body is a string, metadata is a table, variables is a table. +-- One could use some kind of templating +-- system here; this just gives you a simple standalone HTML file. +function Doc(body, metadata, variables) + local buffer = "" + local function add(s) + buffer = buffer .. nude(s) .. "\n" + end + if metadata['title'] then + add(metadata['title']) + end + if metadata['subtitle'] then + add(metadata['subtitle']) + end + -- TODO: epigraph.content, epigraph.attrib, dedication, other metadata? + add(body) + return flow(buffer) +end + +-- Remove all formatting {{{ +function Note(s) + return nude(s) +end + +function Blocksep() + return "\n" +end +function Emph(s) + return nude(s) +end + +function Strong(s) + return nude(s) +end + +function Subscript(s) + return nude(s) +end + +function Superscript(s) + return nude(s) +end + +function SmallCaps(s) + return nude(s) +end + +function Strikeout(s) + return nude(s) +end + +function Code(s, attr) + return nude(s) +end + +function CodeBlock(s, attr) + return nude(s) +end + +function InlineMath(s) + return nude(s) +end + +function DisplayMath(s) + return nude(s) +end + +function Span(s, attr) + return nude(s) +end + +function Cite(s) + return nude(s) +end + +function Plain(s) + return nude(s) +end + +-- Links only include the link text +function Link(s, src, tit) + return nude(s) +end + +-- Images have nothing to give us +-- (but add a space just in case) +function Image(s, src, tit) + return "\n" +end + +function CaptionedImage(s, src, tit) + return "\n" +end + +function Str(s) + return nude(s) +end + +function Div(s, attr) + return nude(s) +end + +function Space(s) + return "\n" +end + +function LineBreak() + return "\n" +end + +function Para(s) + return nude(s) +end + +function Header(lev, s, attr) + return nude(s) +end + +function BlockQuote(s) + return nude(s) +end + +function HorizontalRule() + return "\n" +end + +function BulletList(items) + local buffer = "" + for _, item in pairs(items) do + buffer = buffer .. nude(item) .. "\n" + end + return buffer .. "\n" +end + +function OrderedList(items) + local buffer = "" + for _, item in pairs(items) do + buffer = buffer .. nude(item) .. "\n" + end + return buffer .. "\n" +end + +function DefinitionList(items) + local buffer = "" + for _, item in pairs(items) do + for k, v in pairs(item) do + buffer = buffer .. nude(k) .. "\n" .. nude(v) .. "\n" + end + end + return buffer .. "\n" +end + +function Table(caption, aligns, widths, headers, rows) + local buffer = "" + local function add(s) + buffer = buffer .. nude(s) .. "\n" + end + if caption ~= "" then + add(caption) + end + for _,h in pairs(headers) do + add(h) + end + for _, row in pairs(rows) do + for _, cell in pairs(row) do + add(cell) + end + end + return buffer +end +-- }}} + +-- The following code will produce runtime warnings when you haven't defined +-- all of the functions you need for the custom writer, so it's useful +-- to include when you're working on a writer. +local meta = {} +meta.__index = + function(_, key) + io.stderr:write(string.format("WARNING: Undefined function '%s'\n",key)) + return function() return "" end + end +setmetatable(_G, meta) + diff --git a/test/river/ipsumlorem.river b/test/river/ipsumlorem.river new file mode 100644 index 0000000..a22f432 --- /dev/null +++ b/test/river/ipsumlorem.river @@ -0,0 +1,343 @@ +ipsum +lorem +a +test +suite +for +the +gods +lorem +ipsum +dolor +sit +amet +consectetur +adipiscing +elit +vivamus +at +vulputate +ligula +ac +ullamcorper +magna +in +in +porta +metus +curabitur +iaculis +faucibus +posuere +nunc +elementum +libero +vitae +sapien +auctor +mollis +aenean +eget +tellus +ac +urna +tincidunt +vestibulum +vivamus +eget +orci +nec +purus +mollis +efficitur +pellentesque +eu +pharetra +justo +duis +tincidunt +convallis +vulputate +etiam +non +magna +mi +proin +porttitor +vel +quam +ac +dignissim +pellentesque +tempus +orci +orci +quis +tincidunt +enim +tincidunt +in +vestibulum +posuere +leo +ut +lacus +imperdiet +nec +rutrum +turpis +pellentesque +pellentesque +dictum +finibus +posuere +mauris +vehicula +lacus +lorem +a +euismod +purus +cursus +eu +vivamus +magna +mauris +vehicula +et +libero +at +commodo +consectetur +purus +sed +laoreet +posuere +consectetur +proin +sed +rutrum +ligula +id +scelerisque +eros +duis +rhoncus +magna +eu +magna +scelerisque +non +volutpat +libero +volutpat +mauris +gravida +et +tellus +non +ornare +integer +nibh +nulla +commodo +aliquam +imperdiet +a +condimentum +pulvinar +magna +praesent +commodo +eros +eu +nisi +sagittis +pulvinar +cras +id +lectus +vel +eros +porta +faucibus +eu +eu +quam +morbi +et +nisi +id +nunc +elementum +facilisis +maecenas +ultrices +eu +purus +nec +auctor +cras +quis +sagittis +nunc +in +accumsan +lacus +sed +sem +arcu +eleifend +imperdiet +ligula +consectetur +tempus +efficitur +massa +donec +commodo +convallis +cursus +donec +id +magna +at +arcu +malesuada +vulputate +nam +cursus +leo +eros +vel +volutpat +diam +tincidunt +eu +morbi +eleifend +accumsan +mollis +sed +dui +lacus +tincidunt +eu +elit +eu +venenatis +ultrices +erat +cum +sociis +natoque +penatibus +et +magnis +dis +parturient +montes +nascetur +ridiculus +mus +fusce +sit +amet +imperdiet +sapien +ut +finibus +ex +quisque +tincidunt +est +vitae +iaculis +bibendum +augue +odio +pharetra +libero +nec +ornare +erat +risus +ac +quam +nam +varius +mauris +sit +amet +purus +cursus +eget +molestie +ex +tempus +proin +augue +ligula +interdum +quis +fermentum +eu +suscipit +eget +tortor +suspendisse +nec +egestas +odio +vitae +vestibulum +turpis +proin +ipsum +ligula +maximus +vitae +mauris +ut +imperdiet +ultricies +eros +integer +mi +orci +vestibulum +ut +porttitor +quis +dictum +eu +lacus +ut +placerat +lectus +metus +vel +molestie +felis +luctus +ac +quisque +facilisis +lectus +id +magna +hendrerit +auctor +ornare +nisl +rutrum +pellentesque +vehicula +purus +vitae +dui +auctor +in +accumsan +risus +efficitur diff --git a/test/river/loremipsum.river b/test/river/loremipsum.river new file mode 100644 index 0000000..4bc1769 --- /dev/null +++ b/test/river/loremipsum.river @@ -0,0 +1,343 @@ +lorem +ipsum +a +test +suite +for +the +gods +lorem +ipsum +dolor +sit +amet +consectetur +adipiscing +elit +vivamus +at +vulputate +ligula +ac +ullamcorper +magna +in +in +porta +metus +curabitur +iaculis +faucibus +posuere +nunc +elementum +libero +vitae +sapien +auctor +mollis +aenean +eget +tellus +ac +urna +tincidunt +vestibulum +vivamus +eget +orci +nec +purus +mollis +efficitur +pellentesque +eu +pharetra +justo +duis +tincidunt +convallis +vulputate +etiam +non +magna +mi +proin +porttitor +vel +quam +ac +dignissim +pellentesque +tempus +orci +orci +quis +tincidunt +enim +tincidunt +in +vestibulum +posuere +leo +ut +lacus +imperdiet +nec +rutrum +turpis +pellentesque +pellentesque +dictum +finibus +posuere +mauris +vehicula +lacus +lorem +a +euismod +purus +cursus +eu +vivamus +magna +mauris +vehicula +et +libero +at +commodo +consectetur +purus +sed +laoreet +posuere +consectetur +proin +sed +rutrum +ligula +id +scelerisque +eros +duis +rhoncus +magna +eu +magna +scelerisque +non +volutpat +libero +volutpat +mauris +gravida +et +tellus +non +ornare +integer +nibh +nulla +commodo +aliquam +imperdiet +a +condimentum +pulvinar +magna +praesent +commodo +eros +eu +nisi +sagittis +pulvinar +cras +id +lectus +vel +eros +porta +faucibus +eu +eu +quam +morbi +et +nisi +id +nunc +elementum +facilisis +maecenas +ultrices +eu +purus +nec +auctor +cras +quis +sagittis +nunc +in +accumsan +lacus +sed +sem +arcu +eleifend +imperdiet +ligula +consectetur +tempus +efficitur +massa +donec +commodo +convallis +cursus +donec +id +magna +at +arcu +malesuada +vulputate +nam +cursus +leo +eros +vel +volutpat +diam +tincidunt +eu +morbi +eleifend +accumsan +mollis +sed +dui +lacus +tincidunt +eu +elit +eu +venenatis +ultrices +erat +cum +sociis +natoque +penatibus +et +magnis +dis +parturient +montes +nascetur +ridiculus +mus +fusce +sit +amet +imperdiet +sapien +ut +finibus +ex +quisque +tincidunt +est +vitae +iaculis +bibendum +augue +odio +pharetra +libero +nec +ornare +erat +risus +ac +quam +nam +varius +mauris +sit +amet +purus +cursus +eget +molestie +ex +tempus +proin +augue +ligula +interdum +quis +fermentum +eu +suscipit +eget +tortor +suspendisse +nec +egestas +odio +vitae +vestibulum +turpis +proin +ipsum +ligula +maximus +vitae +mauris +ut +imperdiet +ultricies +eros +integer +mi +orci +vestibulum +ut +porttitor +quis +dictum +eu +lacus +ut +placerat +lectus +metus +vel +molestie +felis +luctus +ac +quisque +facilisis +lectus +id +magna +hendrerit +auctor +ornare +nisl +rutrum +pellentesque +vehicula +purus +vitae +dui +auctor +in +accumsan +risus +efficitur diff --git a/test/src/ipsumlorem.txt b/test/src/ipsumlorem.txt new file mode 100644 index 0000000..2920d0b --- /dev/null +++ b/test/src/ipsumlorem.txt @@ -0,0 +1,74 @@ +--- +title: Ipsum lorem +subtitle: a test suite for the gods +genre: verse + +epigraph: + content: | + Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit. + link: 'http://lipsum.com/' + attrib: Cicero + +dedication: you, dear Reader + +project: + title: Autocento of the breakfast table + css: autocento + order: 2 + next: + - title: Lorem ipsum + link: .loremipsum + prev: + - title: Lorem ipsum + link: .loremipsum +... + +[Lorem ipsum dolor sit amet][], consectetur adipiscing elit. \ +Vivamus at vulputate ligula, ac ullamcorper magna. \ +In in porta metus. \ +Curabitur iaculis faucibus posuere. \ +Nunc elementum libero vitae sapien auctor mollis. \ +Aenean eget tellus ac urna tincidunt vestibulum. \ +Vivamus eget orci nec purus mollis efficitur. \ +Pellentesque eu pharetra justo. + +Duis tincidunt convallis vulputate. \ +Etiam non magna mi. \ +Proin porttitor vel quam ac dignissim. \ +Pellentesque tempus orci orci, quis tincidunt enim tincidunt in. \ +Vestibulum posuere leo ut lacus imperdiet, nec rutrum turpis pellentesque. \ +Pellentesque dictum finibus posuere. \ +Mauris vehicula lacus lorem, a euismod purus cursus eu. \ +Vivamus magna mauris, vehicula et libero at, commodo consectetur purus. + +Sed laoreet posuere consectetur. \ +Proin sed rutrum ligula, id scelerisque eros. \ +Duis rhoncus magna eu magna scelerisque, non volutpat libero volutpat. \ +Mauris gravida et tellus non ornare. \ +Integer nibh nulla, commodo aliquam imperdiet a, condimentum pulvinar magna. \ +Praesent commodo eros eu nisi sagittis pulvinar. \ +Cras id lectus vel eros porta faucibus eu eu quam. \ +Morbi et nisi id nunc elementum facilisis. \ +Maecenas ultrices eu purus nec auctor. \ +Cras quis sagittis nunc, in accumsan lacus. + +Sed sem arcu, eleifend imperdiet ligula consectetur, tempus efficitur massa. \ +Donec commodo convallis cursus. \ +Donec id magna at arcu malesuada vulputate. \ +Nam cursus leo eros, vel volutpat diam tincidunt eu. \ +Morbi eleifend accumsan mollis. \ +Sed dui lacus, tincidunt eu elit eu, venenatis ultrices erat. \ +Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. \ +Fusce sit amet imperdiet sapien, ut finibus ex. \ +Quisque tincidunt, est vitae iaculis bibendum, augue odio pharetra libero, nec ornare erat risus ac quam. \ +Nam varius mauris sit amet purus cursus, eget molestie ex tempus. + +Proin augue ligula, interdum quis fermentum eu, suscipit eget tortor. \ +Suspendisse nec egestas odio, vitae vestibulum turpis. \ +Proin ipsum ligula, maximus vitae mauris ut, imperdiet ultricies eros. \ +Integer mi orci, vestibulum ut porttitor quis, dictum eu lacus. \ +Ut placerat lectus metus, vel molestie felis luctus ac. \ +Quisque facilisis lectus id magna hendrerit, auctor ornare nisl rutrum. \ +Pellentesque vehicula purus vitae dui auctor, in accumsan risus efficitur. + +[Lorem ipsum dolor sit amet]: .loremipsum.html diff --git a/test/src/loremipsum.txt b/test/src/loremipsum.txt new file mode 100644 index 0000000..d1d961c --- /dev/null +++ b/test/src/loremipsum.txt @@ -0,0 +1,74 @@ +--- +title: Lorem ipsum +subtitle: a test suite for the gods +genre: prose + +epigraph: + content: | + Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit. + link: 'http://lipsum.com/' + attrib: Cicero + +dedication: you, dear Reader + +project: + title: Autocento of the breakfast table + css: autocento + order: 1 + next: + - title: Ipsum lorem + link: .ipsumlorem + prev: + - title: Ipsum lorem + link: .ipsumlorem +... + +[Lorem ipsum dolor sit amet][], consectetur adipiscing elit. +Vivamus at vulputate ligula, ac ullamcorper magna. +In in porta metus. +Curabitur iaculis faucibus posuere. +Nunc elementum libero vitae sapien auctor mollis. +Aenean eget tellus ac urna tincidunt vestibulum. +Vivamus eget orci nec purus mollis efficitur. +Pellentesque eu pharetra justo. + +Duis tincidunt convallis vulputate. +Etiam non magna mi. +Proin porttitor vel quam ac dignissim. +Pellentesque tempus orci orci, quis tincidunt enim tincidunt in. +Vestibulum posuere leo ut lacus imperdiet, nec rutrum turpis pellentesque. +Pellentesque dictum finibus posuere. +Mauris vehicula lacus lorem, a euismod purus cursus eu. +Vivamus magna mauris, vehicula et libero at, commodo consectetur purus. + +Sed laoreet posuere consectetur. +Proin sed rutrum ligula, id scelerisque eros. +Duis rhoncus magna eu magna scelerisque, non volutpat libero volutpat. +Mauris gravida et tellus non ornare. +Integer nibh nulla, commodo aliquam imperdiet a, condimentum pulvinar magna. +Praesent commodo eros eu nisi sagittis pulvinar. +Cras id lectus vel eros porta faucibus eu eu quam. +Morbi et nisi id nunc elementum facilisis. +Maecenas ultrices eu purus nec auctor. +Cras quis sagittis nunc, in accumsan lacus. + +Sed sem arcu, eleifend imperdiet ligula consectetur, tempus efficitur massa. +Donec commodo convallis cursus. +Donec id magna at arcu malesuada vulputate. +Nam cursus leo eros, vel volutpat diam tincidunt eu. +Morbi eleifend accumsan mollis. +Sed dui lacus, tincidunt eu elit eu, venenatis ultrices erat. +Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. +Fusce sit amet imperdiet sapien, ut finibus ex. +Quisque tincidunt, est vitae iaculis bibendum, augue odio pharetra libero, nec ornare erat risus ac quam. +Nam varius mauris sit amet purus cursus, eget molestie ex tempus. + +Proin augue ligula, interdum quis fermentum eu, suscipit eget tortor. +Suspendisse nec egestas odio, vitae vestibulum turpis. +Proin ipsum ligula, maximus vitae mauris ut, imperdiet ultricies eros. +Integer mi orci, vestibulum ut porttitor quis, dictum eu lacus. +Ut placerat lectus metus, vel molestie felis luctus ac. +Quisque facilisis lectus id magna hendrerit, auctor ornare nisl rutrum. +Pellentesque vehicula purus vitae dui auctor, in accumsan risus efficitur. + +[Lorem ipsum dolor sit amet]: .ipsumlorem.html -- cgit 1.4.1-21-gabe81