init
This commit is contained in:
commit
a6f4a16486
|
@ -0,0 +1,2 @@
|
|||
L
|
||||
O/
|
|
@ -0,0 +1,49 @@
|
|||
Carpe diem
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
|
@ -0,0 +1 @@
|
|||
../README.md
|
|
@ -0,0 +1,44 @@
|
|||
Rosa Rosa Rosam
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
|
@ -0,0 +1,57 @@
|
|||
S.P.Q.R.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
|
@ -0,0 +1,56 @@
|
|||
Tu quoque
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
|
@ -0,0 +1,6 @@
|
|||
(c) 2020 Case Duckworth <acdw@acdw.net>
|
||||
|
||||
Everyone is permitted to do whatever with this software, without limitation.
|
||||
This software comes without any warranty whatsoever.
|
||||
Don't hurt yourself.
|
||||
Make good choices.
|
|
@ -0,0 +1,95 @@
|
|||
NEF
|
||||
|
||||
an even <i>smaller</i> static site generator
|
||||
|
||||
<hr>
|
||||
|
||||
from the mind that brought you <b>UNK</b>, comes the new and improved SON OF
|
||||
UNK, <b>NEF</b>. Where <b>UNK</b> was a bloated <i>one thousand bytes</i>, the
|
||||
entirety of <b>NEF</b> is <i>four hundred forty-four</i>, over a fifty per cent
|
||||
<i>reduction</i> in size.
|
||||
|
||||
<h2>installation</h2>
|
||||
|
||||
clone this repo.
|
||||
<b>NEF</b> requires a POSIX environment.
|
||||
|
||||
<h2>use</h2>
|
||||
|
||||
create the following files and directories in the same directory as <b>NEF</b>:
|
||||
|
||||
<ul>
|
||||
<li><b>L</b>, the <i>Layout</i> file, which gets expanded by <b>NEF</b>.
|
||||
if <b>L</b> isn't provided, a default <b>L</b> will be generated.
|
||||
<li><b>H</b>, the <i>Html</i> generator, which converts the input files to
|
||||
HTML. if <b>H</b> isn't provided, a default function H is called, which
|
||||
is pretty stupid: it wraps blank-line-separated paragraphs in
|
||||
<code><p></code> blocks. otherwise, it's pure HTML (mostly; see
|
||||
<b>layouts</b>, below).
|
||||
<li><b>I/</b>, where the <i>Input</i> files, like pages, go.
|
||||
each page should have a name of the form
|
||||
<code>NAME.OUT-FMT.IN-FMT</code>, where
|
||||
<code>NAME</code> is the basename of the file,
|
||||
<code>OUT-FMT</code> is the output format (usually HTML),
|
||||
and <code>IN-FMT</code> is the input format (whatever -- in this repo
|
||||
it's called <code>.h</code>).
|
||||
<li><b>S/</b>, where the <i>Static</i> files, like CSS and images, go.
|
||||
</ul>
|
||||
|
||||
<h2>layouts</h2>
|
||||
|
||||
the <b>L</b> file is basically a big here-doc, meaning that you can write
|
||||
arbitrary shell in it however you'd like. the following variables and functions
|
||||
are made available to <b>L</b>'s environment (in addition, of course, to
|
||||
whatever <b>NEF</b>'s environment is):
|
||||
|
||||
<ul>
|
||||
<li><b>X</b>, the <i>eXpander</i>. it turns <b>L</b> into a here-doc.
|
||||
<i>make sure to escape your files properly!</i>
|
||||
<li><b>H</b>, the <i>Htmlizer</i>. it's a dumb awk function. even if you
|
||||
have a file <b>H</b> in <b>NEF</b>'s directory, this function will
|
||||
still be here, taunting you with its stupidity.
|
||||
<li><b>P</b>, aliased to <code>echo</code>.
|
||||
<li><b>T</b>, aliased to <code>sed q</code>, which pulls the first line from
|
||||
a file. aka, the <i>Title</i>.
|
||||
<li><b>\$H</b>, which keeps track of whether you're using the <b>H</b> file
|
||||
or function. you probably don't need this. but it's here.
|
||||
<li><b>\$F</b>, the <i>Filename</i> of the current input file.
|
||||
<li><b>\$N</b>, the <i>baseName</i> (without <code>I/</code>) of the current
|
||||
input file.
|
||||
</ul>
|
||||
|
||||
the default <b>L</b> <i>also</i> runs each input file through the
|
||||
<b>X</b> function (<b>UNK</b> devotees will be aware of the <b>X</b> function;
|
||||
it's basically <a href=https://github.com/zimbatm/shab>shab</a> but stupider and
|
||||
smaller), meaning that input files can basically function as templates
|
||||
themselves, and create their own fun.
|
||||
|
||||
<h2>uh, yeah, that's it</h2>
|
||||
|
||||
look, the script is a super short POSIX shell script. it's barely usable by
|
||||
itself. you're probably going to throw it out and write something else --
|
||||
that's what I do.
|
||||
|
||||
<h2>legal</h2>
|
||||
|
||||
<b>UNK</b> used the <a href="http://www.wtfpl.net/">WTFPL</a>, which is the
|
||||
shortest license I've been able to find. however, for <b>NEF</b>, 443 bytes is
|
||||
<i>far</i> too long: it basically <i>doubles</i> the size of the repo! so I
|
||||
wrote my own license, which I'm calling the <b>good choices license</b>, or
|
||||
<b>GCL</b> for short. you can read the LICENSE file, or just read it here:
|
||||
|
||||
<blockquote>
|
||||
(c) 2020 Case Duckworth <acdw@acdw.net>
|
||||
|
||||
Everyone is permitted to do whatever with this software, without limitation.
|
||||
This software comes without any warranty whatsoever.
|
||||
Don't hurt yourself.
|
||||
Make good choices.
|
||||
</blockquote>
|
||||
|
||||
a trim 169 bytes, exclusive of the copyright information!
|
||||
|
||||
<h2>contributing</h2>
|
||||
|
||||
uh... send me an email? yeah. do that.
|
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
rm -r O;mkdir O;cp -r S O;alias P=echo T=sed\ q
|
||||
X()(eval "$(P 'cat<<.';cat;P;P .)");H()(awk -F'
|
||||
' -vRS='' '!/^<.*>$/{$0="<p>"$0"</p>"}{print}')
|
||||
[ -x H ]&&H=./H||H=H
|
||||
[ -f L ]||P '<!DOCTYPE html><title>$(T $F)</title>
|
||||
<style>body{max-width:70ch;padding:1%}</style>
|
||||
<h1>$(T $F)</h1>$(sed 1d $F|X|$H)<hr>/ $(for P in I/*;do
|
||||
[ $P = $F ]||(N=${P#I/};P "<a href=./${N%.*}>$(T $P)</a> ")
|
||||
done)'>L;for F in I/*;do N=${F#I/};X<L>O/${N%.*};done
|
Loading…
Reference in New Issue