Add unk
This commit is contained in:
parent
1e1a51460d
commit
4b6a090b7b
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
|
@ -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>© 2019</p>
|
||||
|
|
@ -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><title></code>, and a <code><h1></code>
|
||||
in the generated HTML</li>
|
||||
</ul>
|
||||
<h1>INSTALLING & 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.), &</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><p></code> tag breaks,
|
||||
unless the previous source paragraph started with
|
||||
<code><</code> and ended with <code>></code>.
|
||||
It also has support for three inline spans:</p>
|
||||
<ul>
|
||||
<li><code>*em*</code>
|
||||
as <em>em</em></li>
|
||||
<li><code>__strong__</code>
|
||||
as <strong>strong</strong></li>
|
||||
<li><code>`code`</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> —
|
||||
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><p></code>
|
||||
and some inlines.</p>
|
||||
<h1>LEGAL</h1>
|
||||
<p>Copyright © 2019 Case Duckworth
|
||||
<<a href="mailto:acdw@acdw.net">acdw@acdw.net</a>>.</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>© 2019</p>
|
||||
|
|
@ -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>© 2019</p>
|
||||
|
|
@ -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>© 2019</p>
|
||||
|
|
@ -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>© 2019</p>
|
||||
|
Loading…
Reference in New Issue