4b6a090b7bc76b3bce0c394d7724a9529b20a3bb — Case 2 months ago 1e1a514
Add unk
6 files changed, 403 insertions(+), 0 deletions(-)

A unk/S/not-this-day.gif
A unk/carpe-diem.htm
A unk/index.htm
A unk/rosa-rosa-rosam.htm
A unk/spqr.htm
A unk/tu-quoque.htm
A unk/S/not-this-day.gif => unk/S/not-this-day.gif +0 -0

A unk/carpe-diem.htm => unk/carpe-diem.htm +52 -0
@@ 0,0 1,52 @@
+ <!DOCTYPE html>
+ <meta charset=utf-8>
+ <title>Carpe diem</title>
+ <style>body{max-width:70ch;padding:1em;margin:auto}
+ #toc{background:pink;padding:1em;display:block}</style>
+ <h1>Carpe diem</h1>
+ <p>Fusce tortor quam, egestas in posuere quis, porttitor vel turpis. Donec
+ vulputate porttitor augue at rhoncus. Proin iaculis consectetur sagittis.
+ Curabitur venenatis turpis sit amet purus tristique nec posuere risus laoreet.
+ Nullam nisi sem, dapibus id semper id, egestas vel arcu. Morbi porttitor ipsum
+ placerat erat consequat sed consequat purus feugiat. Donec auctor elit ut
+ risus mattis facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing
+ elit.</p>
+ <p>Proin vulputate sapien facilisis leo ornare pulvinar. Fusce tempus massa a
+ risus semper iaculis. Suspendisse sollicitudin posuere nunc, sit amet rutrum
+ leo facilisis mattis. Sed ornare auctor dui, vitae rutrum neque auctor sit
+ amet. Proin ac dui magna. Mauris vehicula interdum augue, nec ultrices libero
+ egestas quis. Nunc convallis euismod ipsum, id sollicitudin orci consequat ac.
+ Fusce bibendum congue libero, in rutrum nulla congue non. Cras sit amet risus
+ tortor, eu pellentesque dui. Phasellus euismod enim non nibh sodales quis
+ consectetur lorem laoreet. Vivamus a egestas quam. Curabitur in tortor augue,
+ vitae varius tellus. Integer varius, elit ac gravida suscipit, eros erat
+ pellentesque nisi, et tristique augue odio id nulla. Aliquam sit amet nunc vel
+ tellus hendrerit tempus ac vel sem.</p>
+ <p>Aenean tincidunt sollicitudin sapien ut porttitor. Curabitur molestie
+ adipiscing lorem vel scelerisque. Donec vitae interdum est. Proin rutrum
+ vulputate faucibus. Suspendisse sit amet felis odio, non volutpat ante. Sed eu
+ lectus quam. Curabitur tristique rhoncus est, vel commodo tortor suscipit
+ semper. Maecenas feugiat vestibulum nisi id facilisis. Nulla non tincidunt
+ libero. Praesent ultrices interdum commodo. Sed euismod nisl auctor leo
+ ultrices rutrum. Aliquam nibh felis, congue molestie blandit at, bibendum at
+ eros. Aenean tincidunt, tortor iaculis placerat sollicitudin, lorem justo
+ tempor diam, et posuere sapien leo et magna. Quisque vel aliquam mauris.</p>
+ <p>Proin varius tempus fermentum. Cum sociis natoque penatibus et magnis dis
+ parturient montes, nascetur ridiculus mus. Sed tincidunt nunc id magna
+ adipiscing non sollicitudin turpis tempor. Etiam vel elit ipsum, quis euismod
+ velit. Quisque elementum magna vitae quam venenatis lacinia. Sed at arcu
+ ipsum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
+ inceptos himenaeos. Donec ut lorem ac sapien cursus lacinia sit amet mollis
+ dolor. Vivamus tempus odio nec magna faucibus sed hendrerit lorem tempor.</p>
+ <p>Vestibulum eu nisi arcu. Curabitur nisi risus, fermentum ut lacinia ut,
+ interdum nec magna. Nunc aliquet gravida massa, eu aliquam lorem faucibus at.
+ Sed sollicitudin volutpat velit id tempor. In nibh justo, pharetra et pretium
+ dignissim, tempus in turpis. Phasellus eget lobortis nisl. Phasellus sed
+ fermentum diam. Nam tempus pharetra odio, quis congue eros imperdiet eu.
+ Aliquam dui eros, hendrerit et vulputate vel, porta eu eros. Nullam nisi dui,
+ commodo eget pharetra ut, ornare sit amet nunc. Fusce vel neque urna. Maecenas
+ nulla ante, egestas at consequat quis, fermentum a enim. Aliquam id tristique
+ urna. Integer augue justo, scelerisque et consectetur id, rhoncus eget enim.</p>
+ <a id=toc href=index.htm>return</a>
+ <p id=ft>&copy; 2019</p>
+ 

A unk/index.htm => unk/index.htm +185 -0
@@ 0,0 1,185 @@
+ <!DOCTYPE html>
+ <meta charset=utf-8>
+ <title>UNK</title>
+ <style>body{max-width:70ch;padding:1em;margin:auto}
+ #toc{background:pink;padding:1em;display:block}</style>
+ <h1><h1>UNK</h1></h1>
+ <h2>a very small static site generator</h2>
+ <p><strong>UNK</strong> is an experiment in minimalism.
+ It is a templating static site generator
+ with an included markup language
+ that all fits within 1000 bytes.
+ There are three main scripts:</p>
+ <ul>
+     <li><strong>UNK</strong> (253 bytes), a POSIX-sh script that applies
+         the template to each page and publishes them to the output dir,</li>
+     <li><strong>LHT</strong> (241 bytes), an awk script that serves as
+         a (very) basic markup language, and</li>
+     <li><strong>TM</strong> (502 bytes),
+         the default template script for <strong>UNK</strong>.</li>
+ </ul>
+ <p>You are, of course, free to make the template file as large
+ and involved as you like, but it's pretty good already:</p>
+ <ul>
+     <li>it has a plain default CSS
+         (based on <a href="https://jrl.ninja/etc/1/">this article</a>),
+         or will use <code>S/s.css</code> if it exists</li>
+     <li>it automatically adds a list of posts to the index page,
+         or a <em.return</em> link to other pages</li>
+     <li>it cleans up the first line of the input file and makes it a
+         <code>&lt;title&gt;</code>, and a <code>&lt;h1&gt;</code>
+         in the generated HTML</li>
+ </ul>
+ <h1>INSTALLING &amp; RUNNING</h1>
+ <a href="https://git.sr.ht/~acdw/unk"><strong>OFFICIAL REPO</strong></a> //
+ <a href="https://github.com/duckwork/unk"><strong>GITHUB MIRROR</strong></a>
+ <p>To install <strong>UNK</strong>, simply clone this repo and put it where you want it.
+ The default <strong>TM</strong> needs <strong>LHT</strong> to be in the same directory as it,
+ so keep that in mind.</p>
+ <p>To run <strong>UNK</strong>, just <code>cd</code> into your cloned repo and run <code>./unk</code>.
+ It's just a POSIX shell script.</p>
+ <h1>DETAILS</h1>
+ <h2>unk</h2>
+ <p><strong>UNK</strong> takes a set of files in a directory, applies a template to them,
+ and output them into another directory as HTML files ready for a server.
+ To keep a very small size, <strong>UNK</strong> delegates most file processing to <strong>TM</strong>,
+ the main template.  It delegates by using an idea found in
+ <a href="https://github.com/zimbatm/shab">shab</a>:
+ each input file is read as a <code>heredoc</code>, which enables
+ shell interpolation.
+ So the template, as opposed to the engine,
+ can do all the heavy-lifting of index generation and navigation and such.</p>
+ <p>Content goes into the following (hard-coded) directories:</p>
+ <ul>
+     <li><strong>I/</strong>,
+         for written (<em><strong>I</strong>nput</em>) content
+         (the pages of the site),</li>
+     <li><strong>S/</strong>, for <em><strong>S</strong>tatic</em> content
+         (css, images, etc.), &amp;</li>
+     <li><strong>O/</strong>, for the (<em><strong>O</strong>utput</em>)
+         website, ready for <code>rsync</code>ing to a server.</li>
+ </ul>
+ <p>If there is no <strong>TM</strong> in the directory where <strong>UNK</strong> is run,
+ one will be created that will simply <code>cat</code> the file being processed.</p>
+ <p>The following variable is made available to <strong>TM</strong>:</p>
+ <ul>
+     <li><strong>F</strong>: the <em>File</em> name passed to
+         <strong>TM</strong></li>
+     <li><strong>N</strong>: the <em>fileName</em>
+         (with directories removed) of the file being processed</li>
+ </ul>
+ <p>as well as these functions:</p>
+ <ul>
+     <li><strong>X</strong>, for <em>eXpand</em>:
+         the <code>shab</code> stand-in.
+         It is much simpler than <code>shab</code>,
+         and will fail if the template
+         (or if it nests templates, one of the nested ones)
+         has a <code>ZZ</code> on a line by itself,
+         due to its <code>heredoc</code> nature.</li>
+     <li><strong>T</strong>, for <em>Title</em>:
+         it'll return the first line of the current file.</li>
+     <li><strong>B</strong>, for <em>Body</em>:
+         it'll return all lines <em>but</em> the first of the current file.</li>
+ </ul>
+ <p>and these aliases (though they're more an artefact of saving space
+ in the script, but they can be used in templates):</p>
+ <ul>
+     <li><strong>c</strong>: <code>cat</code></li>
+     <li><strong>q</strong>: <code>test</code></li>
+     <li><strong>e</strong>: <code>echo</code></li>
+ </ul>
+ <p>As mentioned above, templates can be nested.
+ Simply call another template from <strong>TM</strong> with the <strong>X</strong> function.</p>
+ <h2>lht</h2>
+ <p><strong>LHT</strong> stands for <em>Less HyperText</em>,
+ because that's what you're writing when you're writing it
+ (though not much less than HTML).
+ Basically,
+ blank lines are interpreted as <code>&lt;p&gt;</code> tag breaks,
+ unless the previous source paragraph started with
+ <code>&lt;</code> and ended with <code>&gt;</code>.
+ It also has support for three inline spans:</p>
+ <ul>
+     <li><code>&#42;em&#42;</code>
+         as <em>em</em></li>
+     <li><code>&#95;&#95;strong&#95;&#95;</code>
+         as <strong>strong</strong></li>
+     <li><code>&#96;code&#96;</code> as <code>code</code></li>
+ </ul>
+ <p>Everything else is just HTML.
+ This means that a valid <code>.lh</code> file is <em>almost</em> a valid <code>.md</code> file,
+ except where it nests HTML and Markdown
+ (so it's not really, but you can run it through Markdown in a pinch
+ and get the basic idea across.
+ This file, for example, is both <code>index.lh</code> and <code>README.md</code>
+ (they're just symlinked to each other),
+ so it's got some weirdness to keep things compatible between Markdown and LHT.
+ But if you're just writing for LHT, it can be much simpler.).</p>
+ <p><strong>LHT</strong> was inspired, in part, by
+ <a href="http://john.ankarstrom.se/html">Writing HTML in HTML</a>
+ by John Ankarstrom,
+ as well as some other articles I can't think of right now.
+ I liked the idea, but some tags in HTML are just annoying to write
+ over and over, and take me out of the flow of writing prose.
+ So I fixed those few tags.
+ <strong>The inline tags are definitely subject to change.</strong></p>
+ <h1>Why?</h1>
+ <p>I was bored and decided I'd try to write a static site generator
+ that could fit in a
+ <a href="https://writing.exchange/web/statuses/102333562361891512">toot</a>
+ (500 characters).
+ I
+ <a href="https://writing.exchange/web/statuses/102334522981990897">wrote</a>
+ <a href="https://writing.exchange/web/statuses/102334522981990897">a few</a>
+ <a href="https://writing.exchange/web/statuses/102339851501562648">of them</a>,
+ making them smaller and smaller each time.
+ By the end, I was left with a <em>tiny</em> script
+ that delegated almost <em>all</em> the work to the template file.
+ That script became <strong>UNK</strong> in this repo.</p>
+ <p>I was feeling pretty high on my horse after writing the tiny SSG,
+ so I thought,
+ <em><a href="https://writing.exchange/@acdw/102339290120562386">maybe
+ I could try for a tootable Markdown converter next</a></em> &mdash;
+ boy, was I wrong about that.
+ Markdown is <em>way</em> too complicated to fit in 500 bytes.
+ So I just wrote the Really Important Parts: <code>&lt;p&gt;</code>
+ and some inlines.</p>
+ <h1>LEGAL</h1>
+ <p>Copyright &copy; 2019 Case Duckworth
+ &lt;<a href="mailto:acdw@acdw.net">acdw@acdw.net</a>&gt;.</p>
+ <p>This work is free.
+ You can redistribute it and/or modify it under the terms of
+ the Do What The Fuck You Want To Public License, Version 2,
+ as published by Sam Hocevar.
+ See the <a href="https://git.sr.ht/~acdw/unk/tree/master/LICENSE">LICENSE</a>
+ file for more details.</p>
+ <h2>Why this license?</h2>
+ <p>I was going to go with a stricter license like the GPL,
+ but realized that</p>
+ <ol>
+     <li>this software isn't so important or time-consuming that I need
+         others to credit me or redistribute the project under the same terms,
+         and</li>
+     <li>the GPL is <em>way</em> too long for a project like this.
+         It's over 35 times <em>bigger</em> than the entirety of this project,
+         not counting the content or this README.
+         It would weigh down the entire undertaking.
+         The WTFPL, by contrast, is a trim 443 characters,
+         which is right in keeping with the smallness of this project.</li>
+ </ol>
+ <h1>CONTRIBUTING</h1>
+ <p>To contribute to this project,
+ head over to <a href="https://github.com/duckwork/unk">its GitHub mirror</a>
+ and send me a pull request or issue.
+ One of these days, I'm sure I'll figure out sr.ht's mailing lists,
+ <img src="S/not-this-day.gif" style="display:block;margin:1em auto;"
+      alt="Meme of Aragorn saying, 'But it is not this day'" /></p>
+ <ul id=toc>Pages
+ <li><a href='carpe-diem.htm'>Carpe diem</a></li>
+ <li><a href='rosa-rosa-rosam.htm'>Rosa Rosa Rosam</a></li>
+ <li><a href='spqr.htm'>S.P.Q.R.</a></li>
+ <li><a href='tu-quoque.htm'>Tu quoque</a></li>
+ </ul>
+ <p id=ft>&copy; 2019</p>
+ 

A unk/rosa-rosa-rosam.htm => unk/rosa-rosa-rosam.htm +47 -0
@@ 0,0 1,47 @@
+ <!DOCTYPE html>
+ <meta charset=utf-8>
+ <title>Rosa Rosa Rosam</title>
+ <style>body{max-width:70ch;padding:1em;margin:auto}
+ #toc{background:pink;padding:1em;display:block}</style>
+ <h1>Rosa Rosa Rosam</h1>
+ <p>Suspendisse pharetra ullamcorper sem et auctor. Suspendisse vitae tellus eu
+ turpis dignissim gravida ut ut tortor. Cum sociis natoque penatibus et magnis
+ dis parturient montes, nascetur ridiculus mus. Morbi aliquam sapien quis nisl
+ sodales non aliquet nisl iaculis. Curabitur fermentum orci vel sapien
+ pellentesque id condimentum metus vehicula. Curabitur turpis purus,
+ scelerisque at interdum quis, placerat sit amet tortor. Aliquam erat volutpat.</p>
+ <p>Integer posuere felis non arcu suscipit ullamcorper. Nam tempus risus
+ venenatis orci sagittis eu aliquam ante tincidunt. Aenean vehicula ipsum id
+ sapien tincidunt commodo. Aliquam erat volutpat. Curabitur vehicula libero ac
+ turpis cursus consectetur. Praesent posuere egestas purus et dapibus. Mauris
+ egestas, lectus vitae scelerisque ultricies, metus lorem tempor nisi, sed
+ vehicula tortor mauris nec urna. Quisque urna tellus, facilisis at mollis
+ eget, adipiscing in nisl. Proin quam arcu, euismod et imperdiet sed, ultricies
+ sed orci.</p>
+ <p>Nulla malesuada sem eget lectus scelerisque nec rhoncus metus interdum. In dui
+ felis, rhoncus id scelerisque eget, vulputate id sem. Nulla facilisi.
+ Vestibulum eleifend, metus dignissim lacinia ornare, magna nulla vehicula
+ nisi, sed molestie mauris ipsum vel turpis. Class aptent taciti sociosqu ad
+ litora torquent per conubia nostra, per inceptos himenaeos. Nulla urna leo,
+ vehicula eget dignissim a, hendrerit ut risus. Fusce ultricies elementum
+ placerat. Nam at dolor sed nisi mollis sollicitudin vitae at urna. Vestibulum
+ iaculis adipiscing eros et mollis.</p>
+ <p>Phasellus ultricies elit eu risus sagittis eu dictum ante ultrices. Nulla
+ congue, augue ac placerat tempor, orci mi luctus nisi, at varius ipsum sem sed
+ eros. Vivamus eget velit eget felis posuere ornare. In sed metus non est
+ iaculis facilisis dapibus sit amet enim. Aliquam viverra tortor eget neque
+ volutpat in auctor urna rutrum. Aliquam ligula augue, congue sit amet rutrum
+ in, semper vel nulla. Sed tempus porttitor faucibus. Donec cursus sodales
+ nulla, quis lacinia mi vehicula vel. Sed nec purus orci. Nam leo sapien,
+ rutrum a ultrices quis, placerat vel ligula. Donec massa quam, pellentesque et
+ molestie nec, hendrerit id mauris. In hac habitasse platea dictumst. Cras quis
+ quam sem. Curabitur in arcu diam, in interdum mauris.</p>
+ <p>Proin lorem sapien, iaculis et faucibus nec, dictum sed nunc. Pellentesque in
+ purus justo. Vestibulum facilisis rutrum nisi, a egestas nunc suscipit sed. Ut
+ quis tortor a arcu bibendum placerat non sed ante. Praesent orci sem, posuere
+ sit amet cursus molestie, volutpat ut purus. Curabitur aliquam, purus in
+ pharetra viverra, lorem leo aliquam tellus, vel consequat felis neque et
+ mauris. Aliquam erat volutpat.</p>
+ <a id=toc href=index.htm>return</a>
+ <p id=ft>&copy; 2019</p>
+ 

A unk/spqr.htm => unk/spqr.htm +60 -0
@@ 0,0 1,60 @@
+ <!DOCTYPE html>
+ <meta charset=utf-8>
+ <title>S.P.Q.R.</title>
+ <style>body{max-width:70ch;padding:1em;margin:auto}
+ #toc{background:pink;padding:1em;display:block}</style>
+ <h1>S.P.Q.R.</h1>
+ <p>Mauris in lorem nisl. Maecenas tempus facilisis ante, eget viverra nisl
+ tincidunt et. Donec turpis lectus, mattis ac malesuada a, accumsan eu libero.
+ Morbi condimentum, tortor et tincidunt ullamcorper, sem quam pretium nulla, id
+ convallis lectus libero nec turpis. Proin dapibus nisi id est sodales nec
+ ultrices tortor pellentesque. Vivamus vel nisi ac lacus sollicitudin vulputate
+ ac ut ligula. Nullam feugiat risus eget eros gravida in molestie sapien
+ euismod. Nunc sed hendrerit orci. Nulla mollis consequat lorem ac blandit. Ut
+ et turpis mauris. Nulla est odio, posuere id ullamcorper sit amet, tincidunt
+ vel justo. Curabitur placerat tincidunt varius. Nulla vulputate, ipsum eu
+ consectetur mollis, dui nibh aliquam neque, at ultricies leo ligula et arcu.
+ Proin et mi eget tellus sodales lobortis. Sed tempor, urna vel pulvinar
+ faucibus, lectus urna vehicula ante, at facilisis dolor odio at lorem. Morbi
+ vehicula euismod urna, et imperdiet urna ornare vitae.</p>
+ <p>Sed tincidunt sollicitudin ultrices. In hac habitasse platea dictumst. Morbi
+ ligula lectus, egestas at ultricies nec, fringilla et tellus. Duis urna lorem,
+ bibendum a ornare sed, euismod sed nunc. Aliquam tempor massa at velit
+ fringilla fringilla. Praesent sit amet tempor felis. Maecenas id felis ac
+ velit aliquam tempor a sit amet orci. Nunc placerat nulla pellentesque sem
+ commodo cursus. Praesent quis sapien orci, quis ultricies augue. Nam
+ vestibulum sem non augue semper tincidunt pellentesque ipsum volutpat. Duis
+ congue, nunc a aliquam luctus, quam ante convallis nisi, ac pellentesque lacus
+ orci vel turpis. Cum sociis natoque penatibus et magnis dis parturient montes,
+ nascetur ridiculus mus. Suspendisse hendrerit nisl eu felis sagittis faucibus.
+ Nunc eu congue lorem. Quisque non nibh nisi, et ultrices massa. Sed vitae erat
+ vitae nulla pellentesque fermentum.</p>
+ <p>Ut diam nunc, consectetur ut ultrices eu, iaculis sed felis. Sed lacinia, odio
+ et accumsan luctus, arcu ipsum accumsan erat, sit amet malesuada libero lacus
+ et velit. Donec accumsan tristique tristique. Proin a metus magna, vitae
+ mattis nisl. Integer a libero ipsum. Mauris faucibus eleifend metus id
+ sodales. Morbi ornare, nibh nec facilisis imperdiet, turpis sem commodo lorem,
+ id commodo mauris metus vitae justo. Etiam at pellentesque tortor. Proin
+ mollis accumsan ligula, nec tempus augue auctor quis. Nulla lacinia, mi quis
+ lobortis auctor, nisi diam posuere dui, pulvinar feugiat dui libero eget quam.
+ Fusce eu risus nunc, a consectetur orci. Class aptent taciti sociosqu ad
+ litora torquent per conubia nostra, per inceptos himenaeos. Maecenas venenatis
+ aliquet orci, a ultricies sem facilisis eu. Donec dolor purus, porta
+ condimentum convallis nec, dignissim nec libero.</p>
+ <p>Etiam rutrum ultricies dui, et interdum metus elementum et. Nulla sapien nunc,
+ interdum tristique porttitor in, laoreet vitae mi. Ut vehicula auctor mauris
+ sit amet bibendum. Phasellus adipiscing mattis libero, eget adipiscing erat
+ dignissim at. Vivamus convallis malesuada metus nec cursus. Ut cursus, lorem
+ eleifend sollicitudin condimentum, felis tortor sodales augue, ac tempus lacus
+ ipsum vitae quam. Vestibulum vitae lacus non tortor vehicula iaculis faucibus
+ quis massa.</p>
+ <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
+ ridiculus mus. Duis malesuada neque nec ante porttitor accumsan. Suspendisse
+ potenti. Aliquam in lacus magna, imperdiet laoreet lectus. Praesent id diam
+ nec ante commodo rhoncus nec vel augue. Pellentesque tortor massa, dignissim
+ ut sagittis sed, hendrerit vitae nunc. Nam gravida, urna vitae hendrerit
+ rutrum, felis augue vulputate tortor, ut varius velit libero nec lectus. In
+ adipiscing massa in est scelerisque ullamcorper. Vivamus in nisi metus.</p>
+ <a id=toc href=index.htm>return</a>
+ <p id=ft>&copy; 2019</p>
+ 

A unk/tu-quoque.htm => unk/tu-quoque.htm +59 -0
@@ 0,0 1,59 @@
+ <!DOCTYPE html>
+ <meta charset=utf-8>
+ <title>Tu quoque</title>
+ <style>body{max-width:70ch;padding:1em;margin:auto}
+ #toc{background:pink;padding:1em;display:block}</style>
+ <h1>Tu quoque</h1>
+ <p>Vestibulum leo turpis, dignissim quis ultrices sit amet, iaculis ac ligula.
+ Pellentesque tristique, velit eget scelerisque scelerisque, est dolor ultrices
+ arcu, quis ullamcorper justo arcu luctus mauris. Integer congue molestie nisi
+ id posuere. Fusce pellentesque gravida tempus. Integer viverra tortor nec eros
+ mollis quis convallis sem laoreet. Nulla id libero ac erat varius laoreet.
+ Proin sed est est. Curabitur lacinia fermentum lorem, elementum malesuada
+ ipsum malesuada ut. Donec suscipit elit id leo vehicula mattis non sed leo.
+ Morbi varius eleifend varius. Nulla vestibulum, neque vitae aliquam eleifend,
+ nisi tellus placerat nunc, quis suscipit elit turpis eu tortor. Etiam euismod
+ convallis lectus quis venenatis. Phasellus laoreet magna in nibh cursus eu
+ egestas nulla convallis. Aliquam vel ullamcorper risus. Fusce dictum, massa id
+ consequat viverra, nulla ante tristique est, a faucibus nisi enim nec dui.
+ Donec metus ligula, condimentum at porttitor eget, lobortis at quam.</p>
+ <p>Aenean vel libero in magna ultricies congue in a odio. Donec faucibus rutrum
+ ornare. Fusce dictum eleifend fermentum. Vestibulum vel nibh a metus porttitor
+ rhoncus. Pellentesque id quam neque, eget molestie arcu. Integer in elit vel
+ neque viverra ultricies in eget massa. Nam ut convallis est. Pellentesque eros
+ eros, sodales non vehicula et, tincidunt ut odio. Cras suscipit ultrices metus
+ sit amet molestie. Fusce enim leo, vehicula sed sodales quis, adipiscing at
+ ipsum.</p>
+ <p>Nunc tempor dignissim enim, sed tincidunt eros bibendum quis. Curabitur et
+ dolor augue, id laoreet mi. Nulla cursus felis id dui vehicula vitae ornare
+ lorem blandit. Cras eget dui nec odio volutpat pharetra. Fusce hendrerit justo
+ justo, vel imperdiet enim. Vivamus elit risus, interdum ultrices accumsan
+ eleifend, vestibulum vitae sapien. Integer bibendum ullamcorper tristique.
+ Nulla quis odio lectus, quis eleifend augue. Integer a ligula mauris. Aenean
+ et tempus tortor. Quisque at tortor mi. Vivamus accumsan feugiat est a
+ blandit. Sed vitae enim ut dolor semper sodales. Duis tristique, ante et
+ placerat elementum, nulla tellus pellentesque sapien, quis posuere velit mi
+ eget nulla. Sed vestibulum nunc non est porttitor ut rutrum nibh semper.
+ Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
+ turpis egestas.</p>
+ <p>Nulla adipiscing ultricies lobortis. Vivamus iaculis nisl vitae tellus laoreet
+ vitae aliquet lacus mollis. Phasellus ut lacus urna, sed sagittis ante. Etiam
+ consectetur pretium nisl sed dignissim. Pellentesque convallis, nisl eget
+ commodo mollis, sem magna consequat arcu, sed pretium ipsum arcu sit amet
+ neque. Aliquam erat volutpat. Morbi sed mi sed urna vestibulum placerat vitae
+ vel metus. Fusce ac ante at justo pharetra vehicula. Vivamus vel tortor eget
+ augue aliquet aliquet at vel odio. Nunc venenatis, magna quis facilisis
+ fringilla, augue tellus varius neque, in vulputate est eros ut tortor. Duis
+ lorem neque, aliquam congue posuere id, condimentum non dui. Phasellus ut dui
+ massa, porttitor suscipit augue. Praesent quis tellus quam, vel volutpat
+ metus. Vivamus enim est, aliquam in imperdiet et, sagittis eu ligula.
+ Vestibulum hendrerit placerat orci et aliquet. Cras pharetra, dolor placerat
+ lobortis tempor, metus odio cursus ligula, et posuere lacus ligula quis dui.</p>
+ <p>Donec a lectus eu nibh malesuada aliquam. Proin at metus quam, et tincidunt
+ leo. Quisque lacus justo, scelerisque sodales pulvinar sed, dignissim ut
+ sapien. Vivamus diam felis, adipiscing sollicitudin ultricies id, accumsan ac
+ felis. In eu posuere ligula. Suspendisse potenti. Donec porttitor dictum dui
+ id vehicula. Integer ante velit, congue id dictum et, adipiscing a tortor.</p>
+ <a id=toc href=index.htm>return</a>
+ <p id=ft>&copy; 2019</p>
+