From 9fce418b46c9f0894f429384ef9e3dabaeffbeb4 Mon Sep 17 00:00:00 2001
From: Case Duckworth
Date: Tue, 14 Apr 2015 16:36:17 -0700
Subject: Change file hierarchy and rewrite makefile

- File hierarchy is now as follows:
    - /
        - appendix/  < appendix source files
        - backlinks/ < backlink sources & builds
        - hapax/     < *.hapax source files
        - scripts/   < scripts, like *.js, *.hs, etc.
        - templates/ < templates for outputs
        - text/      < source files
        - trunk/     < assets, like css, images, heads, etc.
        - index.html
        - *.html
        - Makefile
---
 trunk/backlink.head      |  10 +-
 trunk/backlink.sh        |  38 ---
 trunk/common-titles.head |  12 +-
 trunk/common-titles.sh   |  20 --
 trunk/external.js        |   5 -
 trunk/first-lines.head   |  12 +-
 trunk/first-lines.sh     |  26 --
 trunk/forceascii.hs      |  17 --
 trunk/hapax.head         |  14 +-
 trunk/hapax.lua          | 251 -------------------
 trunk/hapaxlink.sh       |  26 --
 trunk/hylo.js            |  21 --
 trunk/island.head        |   9 -
 trunk/islands.head       |  17 ++
 trunk/lozenge.js         |  27 --
 trunk/lozenge.sh         |  15 --
 trunk/river.lua          | 230 -----------------
 trunk/style.css          | 640 +++++++++++++++++++++++++++++++++++++++++++++++
 trunk/toc.head           |   7 +-
 trunk/toc.sh             |  26 --
 trunk/versify.exe        | Bin 13686106 -> 0 bytes
 trunk/versify.hs         |  15 --
 trunk/white-streak.jpg   | Bin 352757 -> 0 bytes
 23 files changed, 685 insertions(+), 753 deletions(-)
 delete mode 100644 trunk/backlink.sh
 delete mode 100644 trunk/common-titles.sh
 delete mode 100644 trunk/external.js
 delete mode 100644 trunk/first-lines.sh
 delete mode 100644 trunk/forceascii.hs
 delete mode 100644 trunk/hapax.lua
 delete mode 100644 trunk/hapaxlink.sh
 delete mode 100644 trunk/hylo.js
 delete mode 100644 trunk/island.head
 create mode 100644 trunk/islands.head
 delete mode 100644 trunk/lozenge.js
 delete mode 100644 trunk/lozenge.sh
 delete mode 100644 trunk/river.lua
 create mode 100644 trunk/style.css
 delete mode 100644 trunk/toc.sh
 delete mode 100644 trunk/versify.exe
 delete mode 100644 trunk/versify.hs
 delete mode 100644 trunk/white-streak.jpg

(limited to 'trunk')

diff --git a/trunk/backlink.head b/trunk/backlink.head
index 816ee7d..4537545 100644
--- a/trunk/backlink.head
+++ b/trunk/backlink.head
@@ -1,11 +1,11 @@
 ---
-title: _TITLE_
-id: _ID_
-subtitle: back-links
+title: __TITLE__
+subtitle: backlinks
+id: __ID__
 genre: list
 
 project:
-    title: About autocento
-    class: meta
+    title: Backlinks to Autocento
+    class: backlinks
 ...
 
diff --git a/trunk/backlink.sh b/trunk/backlink.sh
deleted file mode 100644
index f6feb7d..0000000
--- a/trunk/backlink.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# Command-line variables
-searchQuery="$1";               # .html file to backlink
-outFile="$2";                   # .back file to create
-headerFile="$3";                # header information file
-shift 3;
-glob="$@";                      # where to search for backlinks
-
-# Find backlinkers
-echo -n "Back-linking \"$searchQuery\""
-cat "$headerFile" > "$outFile";
-if ! grep -ql "$searchQuery" $glob >> "$outFile"; then
-    echo "[_island_](${islandLink}.htm)." >> "$outFile";
-    title=`grep '^title:' "${searchQuery%.html}.txt" | cut -d' ' -f2-`;
-    echo "- [$title]($searchQuery)" >> "${islandLink}.txt"
-fi
-
-# Change title & id of $outFile
-inText="`basename $searchQuery .html`.txt";
-title=`grep '^title:' "$inText" | cut -d' ' -f2-`;
-id=`grep '^id:' "${searchQuery%.html}.txt" | cut -d' ' -f2`;
-sed -i "s/_TITLE_/$title/" "$outFile";
-sed -i "s/_ID_/$id/" "$outFile";
-echo -n "."
-
-# Change *.txt to *.html
-sed -i 's/^\(.*\)\.txt/\1.html/g' "$outFile";
-
-# Link to backlinks
-for file in `grep '.html$' "$outFile"`; do
-    fText="`basename $file .html`.txt";
-    title=`grep '^title:' $fText | cut -d' ' -f2-`;
-    sed -i "s/^$file$/- [$title](&)/" "$outFile";
-    echo -n "."
-done
-
-echo "Done."
diff --git a/trunk/common-titles.head b/trunk/common-titles.head
index 705647d..784ca4d 100644
--- a/trunk/common-titles.head
+++ b/trunk/common-titles.head
@@ -1,17 +1,17 @@
 ---
-title: Autocento of the breakfast table
-id: common-titles
+title: Appendix C
 subtitle: index of common titles
+id: common-titles
 genre: prose
 
 project:
-    title: About Autocento
-    class: meta
+    title: Appendices
+    class: appendices
     next:
     - title: Index of first lines
       link: first-lines
     prev:
-    - title: About _Autocento_
-      link: about
+    - title: Index of islands
+      link: islands
 ...
 
diff --git a/trunk/common-titles.sh b/trunk/common-titles.sh
deleted file mode 100644
index bae8a10..0000000
--- a/trunk/common-titles.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-outFile="$1";
-shift 1;
-glob="$@";
-
-echo -n "Compiling ${outFile}";
-
-for file in $glob; do
-    # Copy title to $outFile & link
-    title="$(grep '^title:' "$file" | cut -d' ' -f2- | sed 's/"//g')";
-    if (( $RANDOM % 13 == 0 )); then
-        echo -n "| " >> "$outFile";
-    else
-        echo -n "  " >> "$outFile";
-    fi
-    echo "[$title](${file%.*}.html)" >> "$outFile";
-    echo -n ".";
-done
-echo "Done.";
diff --git a/trunk/external.js b/trunk/external.js
deleted file mode 100644
index ee425cd..0000000
--- a/trunk/external.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/* External.js for Autocento of the breakfast table
- * this gives external links the class "external."
- */
-
-
diff --git a/trunk/first-lines.head b/trunk/first-lines.head
index f73b410..d2b9eca 100644
--- a/trunk/first-lines.head
+++ b/trunk/first-lines.head
@@ -1,15 +1,15 @@
 ---
-title: Autocento of the breakfast table
-id: first-lines
+title: Appendix F
 subtitle: index of first lines
+id: first-lines
 genre: prose
 
 project:
-    title: About Autocento
-    class: meta
+    title: Appendices
+    class: appendices
     next:
-    - title: About _Autocento_
-      link: about
+    - title: Index of hapax legomena
+      link: hapax
     prev:
     - title: Index of common titles
       link: common-titles
diff --git a/trunk/first-lines.sh b/trunk/first-lines.sh
deleted file mode 100644
index 1378a82..0000000
--- a/trunk/first-lines.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-outFile="$1";
-shift 1;
-glob="$@";
-
-firstLineOf() { # $1 = file
-    endOfYaml=$(sed -n '/^\.\.\.$/=' "$1")
-    tryLineNumber=$((endOfYaml + 1))
-    try=""
-    while [[ -z $try ]]; do
-        try=$(head -n $tryLineNumber "$1" | tail -n 1 |\
-              sed -e 's/^[|>] //' -e 's/[][]//g' -e 's/^#.*//' -e 's/^--.*//')
-        (( tryLineNumber += 1 ))
-    done
-    echo "$try"
-}
-
-echo -n "Compiling ${outFile}"
-
-for file in $glob; do
-    # Copy first line to $outFile & link
-    echo "[$(firstLineOf "$file")](${file%.*}.html)" >> $outFile;
-    echo -n ".";
-done
-echo "Done."
diff --git a/trunk/forceascii.hs b/trunk/forceascii.hs
deleted file mode 100644
index b5f1645..0000000
--- a/trunk/forceascii.hs
+++ /dev/null
@@ -1,17 +0,0 @@
--- Preprocessor for hapax.lua writer
--- because for some damn reason, UTF-8 confuses things
-
-import Text.Pandoc.JSON
-import Data.Char (isAscii)
-
-main :: IO ()
-main = toJSONFilter unFancy
-
-unFancy :: Inline -> Inline
-unFancy (Str s) = Str $ map makeAscii s
-unFancy x       = x
-
-makeAscii :: Char -> Char
-makeAscii c
-    | isAscii c = c
-    | otherwise = ' '
diff --git a/trunk/hapax.head b/trunk/hapax.head
index 88b23bf..c07e79c 100644
--- a/trunk/hapax.head
+++ b/trunk/hapax.head
@@ -1,11 +1,17 @@
 ---
-title: Autocento of the breakfast table
+title: Appendix H
+subtitle: index of hapax legomena
 id: hapax
-subtitle: hapax legomena
 genre: prose
 
 project:
-    title: About autocento
-    class: meta
+    title: Appendices
+    class: appendices
+    next:
+    - title: Index of islands
+      link: islands
+    prev:
+    - title: Index of first lines
+      link: first-lines
 ...
 
diff --git a/trunk/hapax.lua b/trunk/hapax.lua
deleted file mode 100644
index af59e59..0000000
--- a/trunk/hapax.lua
+++ /dev/null
@@ -1,251 +0,0 @@
--- Pandoc Hapax writer
--- it takes out all formatting, leaving only a river of text
--- running down the page: one word per line, stripping all duplicates
--- vim: fdm=marker
--- invoke with: pandoc -t hapax.lua
-
-os.setlocale("en_US.UTF-8")
-
-function hapax(s)
-    local function tablify (s, p)
-        local t={}
-        for w in s:gmatch(p) do
-            table.insert(t, w)
-        end
-        return t
-    end
-    local function stripDupes (t)
-        local seen = {}
-        local remove = {}
-        for i = 1, #t do
-            element = t[i]
-            if seen[element] then
-                remove[element] = true
-            else
-                seen[element] = true
-            end
-        end
-        for i = #t, 1, -1 do
-            if remove[t[i]] then
-                table.remove(t, i)
-            end
-        end
-        return t
-    end
-    return table.concat(stripDupes(tablify(s, "%S+")), "\n")
-end
-
-function flow(s)
-    return s:gsub("%s+", "\n")
-end
-
-function nude(s)
-    s = s:lower()
-    -- Expand contractions
-    s = s:gsub("'ll", " will ")
-    s = s:gsub("'ve", " have ")
-    s = s:gsub("'re", " are ")
-    s = s:gsub("i'm", " i am ")
-    s = s:gsub("it's", "it is")
-    s = s:gsub("n't", " not ")
-    s = s:gsub("&", " and ")
-    -- -- Remove dashes (not hyphens)
-    s = s:gsub('%-[%-%s]+', ' ')
-    -- Remove everything that is not letters or numbers
-    s = s:gsub('[^A-Za-z0-9/\'-]', ' ')
-    -- Remove extra spaces
-    s = s:gsub('%s+', ' ')
-    return " "..s.." "
-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
-    add(body)
-    return hapax(flow(buffer))
-    -- return flow(buffer)
-end
-
--- Remove all formatting {{{
-function Note(s)
-    return s
-end
-
-function Blocksep()
-    return "\n"
-end
-function Emph(s)
-    return s
-end
-
-function Strong(s)
-    return s
-end
-
-function Subscript(s)
-    return s
-end
-
-function Superscript(s)
-    return s
-end
-
-function SmallCaps(s)
-    return s
-end
-
-function Strikeout(s)
-    return s
-end
-
-function Code(s, attr)
-    return s
-end
-
-function CodeBlock(s, attr)
-    return s
-end
-
-function InlineMath(s)
-    return s
-end
-
-function DisplayMath(s)
-    return s
-end
-
-function Span(s, attr)
-    return s
-end
-
-function Cite(s)
-    return s
-end
-
-function Plain(s)
-    return s
-end
-
--- Links only include the link text
-function Link(s, src, tit)
-    return s
-end
-
--- Images have nothing to give us
--- (but add a space just in case)
-function Image(s, src, tit)
-    return "\n"
-end
-
-function RawBlock(s)
-    return s
-end
-
-function RawInline(s)
-    return s
-end
-
-function CaptionedImage(s, src, tit)
-    return "\n"
-end
-
-function Str(s)
-    return s
-end
-
-function Div(s, attr)
-    return s
-end
-
-function Space(s)
-    return "\n"
-end
-
-function LineBreak()
-    return "\n"
-end
-
-function Para(s)
-    return s
-end
-
-function Header(lev, s, attr)
-    return s
-end
-
-function BlockQuote(s)
-    return s
-end
-
-function HorizontalRule()
-    return "\n"
-end
-
-function BulletList(items)
-    local buffer = ""
-    for _, item in pairs(items) do
-        buffer = buffer .. " " .. item .. "\n"
-    end
-    return buffer .. "\n"
-end
-
-function OrderedList(items)
-    local buffer = ""
-    for _, item in pairs(items) do
-        buffer = buffer .. " " .. 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 .. " " .. k .. "\n" .. v .. "\n"
-        end
-    end
-    return buffer .. "\n"
-end
-
-function Table(caption, aligns, widths, headers, rows)
-    local buffer = ""
-    local function add(s)
-        buffer = buffer .. " " .. 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/trunk/hapaxlink.sh b/trunk/hapaxlink.sh
deleted file mode 100644
index 286c43d..0000000
--- a/trunk/hapaxlink.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-file="$1";
-headFile="$2";
-shift 2;
-glob="$@";                       # *.hapax
-
-tempFile="${RANDOM}.tmp"
-
-echo -n "Linking \"$file\""
-# Begin
-cat "$headFile" > "$tempFile";
-echo -n "."
-# Link words to files they appear in
-for word in `sort "$file"`; do
-    f=`grep -liwq "^$word$" $glob`;
-    link="`basename $f .hapax`.html"
-    echo "[$word]($link)" >> "$tempFile";
-    echo -n "."
-done
-
-# Make the changes happen
-rm "$file"
-mv "$tempFile" "$file"
-
-echo "Done."
diff --git a/trunk/hylo.js b/trunk/hylo.js
deleted file mode 100644
index 5a39427..0000000
--- a/trunk/hylo.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- *  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<fl;i+=1){haveAccess=undefined;try{haveAccess=window.frames[i].document.toString();}catch(e){haveAccess=undefined;}if(!!haveAccess){if(window.frames[i].location.href!=='about:blank'){init(window.frames[i]);}}}contextWindow=window;f();hyphRunForThis[window.location.href]=true;}else{init(window);}},DOMContentLoaded=function(e){if(e.type==='readystatechange'&&window.document.readyState!=='complete'){return;}window.document[rem](pre+e.type,DOMContentLoaded,false);if(!doFrames&&window.frames.length===0){init(window);}};if(window.document.readyState==="complete"||window.document.readyState==="interactive"){window.setTimeout(doOnLoad,1);}else{window.document[add](pre+"DOMContentLoaded",DOMContentLoaded,false);window.document[add](pre+'readystatechange',DOMContentLoaded,false);window[add](pre+'load',doOnLoad,false);toplevel=false;try{toplevel=!window.frameElement;}catch(ignore){}if(window.document.documentElement.doScroll&&toplevel){doScrollCheck();}}};return{init:function(langs,p,configs){languages=langs;path=p;config=configs||{};runOnContentLoaded(window,runner);}};}(window));Hyphenator_Loader.init({"en":"hyphenationalgorithm",},"./Hyphenator.js",{classname:'prose',defaultlanguage:'en',displaytogglebox:true,togglebox:function(){var bdy,myTextNode,text=(Hyphenator.doHyphenation?'-':'~'),myBox=contextWindow.document.getElementById('HyphenatorToggleBox');if(!!myBox){myBox.firstChild.data=text;}else{bdy=contextWindow.document.getElementsByTagName('body')[0];myBox=createElem('div',contextWindow);myBox.setAttribute('id','HyphenatorToggleBox');myBox.setAttribute('class',dontHyphenateClass);myTextNode=contextWindow.document.createTextNode(text);myBox.appendChild(myTextNode);myBox.onclick=Hyphenator.toggleHyphenation;myBox.style.position='absolute';myBox.style.top='0px';myBox.style.right='0px';myBox.style.margin='0';myBox.style.backgroundColor=rgba(0,0,0,255);myBox.style.color=rgba(255,255,255,100);myBox.style.font='6pt Arial';myBox.style.letterSpacing='0.2em';myBox.style.padding='3px';myBox.style.cursor='pointer';myBox.style.WebkitBorderBottomLeftRadius='4px';myBox.style.MozBorderRadiusBottomleft='4px';myBox.style.borderBottomLeftRadius='4px';bdy.appendChild(myBox);}},useCSS3hyphenation:true});
diff --git a/trunk/island.head b/trunk/island.head
deleted file mode 100644
index 1a9b454..0000000
--- a/trunk/island.head
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Islands
-genre: list
-
-project:
-    title: About autocento
-    class: meta
-...
-
diff --git a/trunk/islands.head b/trunk/islands.head
new file mode 100644
index 0000000..ec04b14
--- /dev/null
+++ b/trunk/islands.head
@@ -0,0 +1,17 @@
+---
+title: Appendix I
+subtitle: islands
+id: islands
+genre: list
+
+project:
+    title: Appendices
+    class: appendices
+    next:
+    - title: Index of common titles
+      link: common-titles
+    prev:
+    - title: Index of hapax legomena
+      link: hapax
+...
+
diff --git a/trunk/lozenge.js b/trunk/lozenge.js
deleted file mode 100644
index 62fcfd0..0000000
--- a/trunk/lozenge.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Lozenge.js for Autocento of the breakfast table
- * Cause a#lozenge to link to random file in array
- * vim: fdm=marker
- */
-
-function _lozenge() {
-    var lozenge = document.getElementById('lozenge');
-    // array with all files {{{
-    var files=["about-the-author.html","about.html","about_author.html","abstract.html","amber-alert.html","and.html","angeltoabraham.html","apollo11.html","arspoetica.html","art.html","axe.html","big-dipper.html","boar.html","boy_bus.html","building.html","call-me-aural-pleasure.html","cereal.html","cold-wind.html","collage-instrument.html","creation-myth.html","deadman.html","death-zone.html","deathstrumpet.html","dollywood.html","dream.html","early.html","elegyforanalternateself.html","epigraph.html","ex-machina.html","exasperated.html","father.html","feedingtheraven.html","finding-the-lion.html","fire.html","found-typewriter-poem.html","hands.html","hard-game.html","hardware.html","howithappened.html","howtoread.html","hymnal.html","i-am.html","i-think-its-you.html","i-want-to-say.html","i-wanted-to-tell-you-something.html","in-bed.html","initial-conditions.html","january.html","joke.html","lappel-du-vide.html","largest-asteroid.html","last-bastion.html","last-passenger.html","leaf.html","leg.html","likingthings.html","listen.html","love-as-god.html","lovesong.html","man.html","manifesto_poetics.html","moon-drowning.html","moongone.html","mountain.html","movingsideways.html","music-433.html","no-nothing.html","notes.html","nothing-is-ever-over.html","on-genre-dimension.html","one-hundred-lines.html","onformalpoetry.html","options.html","ouroboros_memory.html","paul.html","peaches.html","philosophy.html","phone.html","planks.html","plant.html","poetry-time.html","prelude.html","problems.html","process.html","proverbs.html","punch.html","purpose-dogs.html","question.html","real-writer.html","reports.html","riptide_memory.html","ronaldmcdonald.html","roughgloves.html","sapling.html","seasonal-affective-disorder.html","sense-of-it.html","serengeti.html","shed.html","shipwright.html","sixteenth-chapel.html","snow.html","something-simple.html","spittle.html","squirrel.html","stagnant.html","statements-frag.html","stayed-on-the-bus.html","stump.html","swansong-alt.html","swansong.html","swear.html","table_contents.html","tapestry.html","telemarketer.html","the-night-we-met.html","the-sea_the-beach.html","theoceanoverflowswithcamels.html","time-looks-up-to-the-sky.html","todaniel.html","toilet.html","toothpaste.html","treatise.html","underwear.html","walking-in-the-rain.html","wallpaper.html","weplayedthosegamestoo.html","what-we-are-made-of.html","when-im-sorry-i.html","window.html","words-irritable-reaching.html","words-meaning.html","worse-looking-over.html","writing.html","x-ray.html","yellow.html"]
-    // }}}
-
-    var index = Math.floor(Math.random() * files.length);
-
-    var url = window.location.pathname;
-    var current = url.substring(url.lastIndexOf('/')+1);
-
-    if (current != files[index]) {
-        lozenge.setAttribute("href", files[index]);
-        lozenge.setAttribute("title", "To random article");
-    } else {
-        _lozenge()
-    }
-}
-
-window.onload = function () {
-    _lozenge()
-};
diff --git a/trunk/lozenge.sh b/trunk/lozenge.sh
deleted file mode 100644
index 9f0cd55..0000000
--- a/trunk/lozenge.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-outFile="$1";
-shift;
-fileList="$@";
-
-echo -n "Updating \"lozenge.js\"..."
-
-list=`echo ${fileList[@]} |\
-      sed -e 's/\(\S\+.html\) \?/"\1",/g'\
-          -e 's/^\(.*\),$/var files=[\1]/'`
-
-sed -i "s/var files=.*/$list/" "$outFile";
-
-echo "Done."
diff --git a/trunk/river.lua b/trunk/river.lua
deleted file mode 100644
index 4abb6d8..0000000
--- a/trunk/river.lua
+++ /dev/null
@@ -1,230 +0,0 @@
--- 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
-
-os.setlocale("en_US.UTF-8")
-
-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)
-    s = s:gsub("it's", "it is")
-    s = s:gsub("n't", " not ")
-    -- 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 everything that is not letters or numbers
-    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/trunk/style.css b/trunk/style.css
new file mode 100644
index 0000000..5f6a289
--- /dev/null
+++ b/trunk/style.css
@@ -0,0 +1,640 @@
+/* CSS for Autocento at the breakfast table
+ * Case Duckworth | autocento.me
+ * vim: fdm=marker
+ */
+/* COMMON CSS */
+/* @IMPORTS {{{ */
+/* Playfair Display: headings */
+@import url(http://fonts.googleapis.com/css?family=Playfair+Display:400,700,400italic,700italic&subset=latin,latin-ext);
+/* Linux Libertine: body text */
+@import url(trunk/libertine.css);
+/* Courier New: typewriter text */
+@import url(trunk/courier-prime.css);
+/* @imports }}} */
+/* MAIN LAYOUT ELEMENTS {{{ */
+/* HTML + BODY {{{ */
+html, body {
+    margin: 0;
+    padding: 0;
+    font-family: "Libertine", Georgia, serif;
+    font-size: 100%;
+}
+html {
+    height: 100%;
+}
+body {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    min-height: 100%;
+    padding-left: 1em;
+    padding-right: 1em;
+}
+/* html + body }}} */
+/* HEADER + .CONTAINER + .CONTENT {{{ */
+header {
+    max-width: 39em;
+    margin: auto;
+    text-align: center;
+    border-bottom: 1px solid black;
+    padding: 1em 0;
+    margin-bottom: 1em;
+    position: relative;
+}
+.container {
+    margin: 0 auto;
+    padding-bottom: 30px;
+    text-align: center;
+}
+.content {
+    line-height: 1.3em;
+}
+/* header + .container + .content }}} */
+/* NAV + .FOOTNOTES {{{ */
+nav {
+    height: 24px;
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    text-align: center;
+    overflow: hidden;
+}
+.footnotes {
+    font-size: 0.85em;
+    width: 100%;
+    position: absolute;
+    top: 100%;
+    left: 0;
+}
+/* nav + .footnotes }}} */
+/* main layout elements }}} */
+/* HEADER ELEMENTS {{{ */
+/* .TITLE + .SUBTITLE {{{ */
+.title {
+    text-align: left;
+    display: inline-block;
+    font-family: "Playfair Display", Georgia, serif;
+    font-size: 1.5em;
+    font-weight: 400;
+    letter-spacing: 0.1em;
+    text-transform: uppercase;
+    margin: 0;
+}
+.subtitle {
+    text-align: center;
+    display: block;
+    font-family: "Playfair Display", Georgia, serif;
+    font-size: 1.25em;
+    font-style: italic;
+    font-weight: 400;
+    margin-top: 0;
+    margin-bottom: 0;
+}
+/* .title + .subtitle }}} */
+/* .HEADER-EXTRA {{{ */
+/* DEDICATION {{{ */
+.dedication {
+    font-style: italic;
+    font-size: 0.92em;
+    margin-top: 1em;
+    text-align: left;
+}
+.dedication::before {
+    content: 'for ';
+    font-style: italic;
+}
+.dedication:only-child {
+    text-align: right;
+}
+/* dedication }}} */
+/* EPIGRAPH {{{ */
+.epigraph {
+    text-align: right;
+    font-size: 0.92em;
+    font-style: italic;
+    margin-top: 1em;
+}
+.epigraph p {
+    margin: 0;
+}
+.epigraph .attrib {
+    text-align: right;
+    margin-top: 0;
+    font-size: 0.92em;
+    font-style: normal;
+}
+.epigraph .attrib::before {
+    content: '– ';
+}
+/* epigraph }}} */
+.header-extra {
+    text-align: right;
+}
+.dedication,.epigraph {
+    vertical-align: bottom;
+    display: inline-block;
+    margin-left: 2%;
+    margin-right: 2%;
+    width: 45%;
+}
+/* header-extra }}} */
+/* #SRC {{{ */
+#src {
+    border: none;
+    position: absolute;
+    top: 0;
+    right: 10px;
+    color: gray;
+    font-size: 8pt;
+}
+/* #src }}} */
+/* header elements }}} */
+/* .EKPHRASTIC {{{ */
+.ekphrastic {
+    max-width: 41em;
+    /* margin-top: -1em; */
+    margin-bottom: 1em;
+    margin-left: auto;
+    margin-right: auto;
+    text-align: center;
+}
+.ekphrastic a:link { border: none; }
+/* .ekphrastic }}} */
+/* .CONTENT ELEMENTS {{{ */
+/* BLOCK ELEMENTS {{{ */
+.content :first-child {
+    margin-top: 0;
+}
+h2 {
+    font-family: "Playfair Display", Georgia, serif;
+    font-size: 1em;
+    font-weight: 600;
+}
+blockquote {
+    border-left: 1px solid gray;
+    padding-left: 2em;
+    margin-left: 2em;
+    font-style: italic;
+}
+img {
+    max-width: 100%;
+    margin: auto;
+}
+/* block elements }}} */
+/* LINKS {{{ */
+a:link {
+    padding-top: 1px;
+    color: inherit;
+    text-decoration: none;
+    border-bottom: 1px dotted black;
+}
+a:visited {
+    color: inherit;
+}
+a:hover {
+    /* text-decoration: underline; */
+    border-bottom: 1px solid black;
+}
+a:active {
+    /* text-decoration: underline; */
+    border-bottom: 1px solid black;
+}
+/* External Links */
+a[href^="http"]:link {
+    text-decoration: none;
+    border-bottom: 1px dotted #a1a3a1;
+}
+a[href^="http"]:visited {
+}
+a[href^="http"]:hover {
+    border-bottom: 1px dashed black;
+}
+a[href^="http"]:active {
+    border-bottom: 1px dashed black;
+}
+/* links }}} */
+/* .content elements }}} */
+/* NAV ELEMENTS {{{ */
+nav a:link { border-bottom: none; }
+nav a:active { border: none; }
+nav .prevlink {
+    float: left;
+    text-align: left;
+}
+nav .nextlink {
+    float: right;
+    text-align: right;
+}
+/* Properties both types of navlinks share */
+nav .prevlink, nav .nextlink {
+    margin: 0 0.5em;
+    width: 20%;
+    display: block;
+    font-size: 0.85em;
+    font-family: "Playfair Display", Georgia, serif;
+    font-style: italic;
+    text-transform: lowercase;
+    height: 20px;
+    text-decoration: none;
+    position: relative;
+    display: table;
+    vertical-align: top;
+}
+nav .prevlink::before {
+    content: ' «';
+    font-style: normal;
+    display: table-cell;
+    vertical-align: top;
+    text-align: left;
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+    width: 1em;
+}
+nav .nextlink::after {
+    content: ' »';
+    font-style: normal;
+    display: table-cell;
+    vertical-align: top;
+    text-align: right;
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+    width: 1em;
+}
+#randomlink {
+    text-decoration: none;
+}
+nav .anchors {
+    position: absolute;
+    width: 100%;
+    text-align: center;
+}
+nav .anchors a {
+    margin-right: 0.25em;
+    margin-left: 0.25em;
+}
+/* nav elements }}} */
+/* .FOOTNOTES ELEMENTS {{{ */
+.footnotes li {
+    margin-right: 2em;
+    border-bottom: 1px solid gray;
+    max-width: 45em;
+    margin: auto;
+}
+.footnotes li:last-child {
+    border-bottom: none;
+}
+.footnotes p::first-line {
+    font-variant: normal !important;
+}
+.footnotes a[href^="#fnref"] {
+    float: right;
+}
+a.footnoteRef {
+    border: none;
+}
+/* .footnotes elements }}} */
+/* /1* CODE {{{ *1/ */
+/* .sourceCode { */
+/*     max-width: 100%; */
+/*     overflow: auto; */
+/*     background-color: #303030; */
+/*     color: #cccccc; */
+/*     font-family: "Courier Prime", "Courier New", Courier, monospace; */
+/*     font-size: 10pt; */
+/* } */
+/* .sourceCode .kw { /1* keywords *1/ */
+/*     color: #f0dfaf; */
+/*     font-weight: bold; */
+/* } */
+/* .sourceCode .dt { /1* datatype *1/ */
+/*     color: #dfdfbf; */
+/* } */
+/* .sourceCode .dv { /1* decimal value *1/ */
+/*     color: #dcdccc; */
+/* } */
+/* .sourceCode .bn { /1* base N *1/ */
+/*     color: #dca3a3; */
+/* } */
+/* .sourceCode .fl { /1* float *1/ */
+/*     color: #c0bed1; */
+/* } */
+/* .sourceCode .ch { /1* char *1/ */
+/*     color: #dca3a3; */
+/* } */
+/* .sourceCode .st { /1* string *1/ */
+/*     color: #cc9393; */
+/* } */
+/* .sourceCode .co { /1* comment *1/ */
+/*     color: #7f9f7f; */
+/*     font-style: italic; */
+/* } */
+/* .sourceCode .ot { /1* other token *1/ */
+/*     color: #efef8f; */
+/* } */
+/* .sourceCode .at { /1* alert token *1/ */
+/*     color: #ffcfaf; */
+/* } */
+/* .sourceCode .fu { /1* function *1/ */
+/*     color: #efef8f; */
+/* } */
+/* .sourceCode .re { /1* region marker *1/ */
+/* } */
+/* .sourceCode .er { /1* error token *1/ */
+/*     color: #c3bf9f; */
+/* } */
+/* /1* code }}} *1/ */
+/* GENRE CSS */
+/* .PROSE {{{ */
+.prose {
+    display: inline-block;
+    text-align: justify;
+    max-width: 39em;
+    margin: auto;
+    hyphens: auto;
+    -moz-hyphens: auto;
+}
+.prose p::first-child::first-line {
+    font-variant: small-caps;
+    letter-spacing: 0.1em;
+}
+/* .prose }}} */
+/* .VERSE {{{ */
+.verse {
+    display: inline-block;
+    text-align: left;
+}
+.verse p {
+    margin-bottom: 1em;
+    margin-top: 1em;
+}
+.line {
+    display: block;
+    margin: 0;
+    text-indent: -1em;
+    margin-left: 1em;
+}
+/* .verse }}} */
+/* .LIST {{{ */
+.list {
+    display: inline-block;
+    text-align: left;
+    max-width: 39em;
+    margin: auto;
+    hyphens: auto;
+    -moz-hyphens: auto;
+}
+/* .list }}} */
+/* .TABLE {{{ */
+.table {
+    display: inline-block;
+    text-align: left;
+}
+/* .table }}} */
+/* PROJECT CSS */
+/* #COVER {{{ */
+/* Flexboxing {{{ */
+#cover {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    display: -webkit-box;
+    display: -moz-box;
+    display: -ms-flexbox;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-direction: normal;
+    -moz-box-direction: normal;
+    -webkit-box-orient: vertical;
+    -moz-box-orient: vertical;
+    -webkit-flex-direction: column;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-flex-wrap: nowrap;
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+    -webkit-box-pack: center;
+    -moz-box-pack: center;
+    -webkit-justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-align-content: center;
+    -ms-flex-line-pack: center;
+    align-content: center;
+    -webkit-box-align: center;
+    -moz-box-align: center;
+    -webkit-align-items: center;
+    -ms-flex-align: center;
+    align-items: center;
+    }
+#cover .title {
+    -webkit-box-ordinal-group: 1;
+    -moz-box-ordinal-group: 1;
+    -webkit-order: 0;
+    -ms-flex-order: 0;
+    order: 0;
+    -webkit-box-flex: 0;
+    -moz-box-flex: 0;
+    -webkit-flex: 0 1 auto;
+    -ms-flex: 0 1 auto;
+    flex: 0 1 auto;
+    -webkit-align-self: auto;
+    -ms-flex-item-align: auto;
+    align-self: auto;
+}
+#cover .byline {
+    -webkit-box-ordinal-group: 1;
+    -moz-box-ordinal-group: 1;
+    -webkit-order: 0;
+    -ms-flex-order: 0;
+    order: 0;
+    -webkit-box-flex: 0;
+    -moz-box-flex: 0;
+    -webkit-flex: 0 1 auto;
+    -ms-flex: 0 1 auto;
+    flex: 0 1 auto;
+    -webkit-align-self: auto;
+    -ms-flex-item-align: auto;
+    align-self: auto;
+}
+#cover .anchors {
+    -webkit-box-ordinal-group: 1;
+    -moz-box-ordinal-group: 1;
+    -webkit-order: 0;
+    -ms-flex-order: 0;
+    order: 0;
+    -webkit-box-flex: 0;
+    -moz-box-flex: 0;
+    -webkit-flex: 0 1 auto;
+    -ms-flex: 0 1 auto;
+    flex: 0 1 auto;
+    -webkit-align-self: auto;
+    -ms-flex-item-align: auto;
+    align-self: auto;
+}
+/* }}} */
+#cover {
+    color: #b2d9e5;
+    background-image: url('black-streak.jpg');
+    background-position: 0 0;
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    background-attachment: fixed;
+    background-clip: border-box;
+    background-color: black;
+}
+#cover header {
+    border: none;
+    margin: auto;
+    padding: 0;
+}
+#cover .content {
+    max-width: 39em;
+    margin: auto;
+}
+#cover a {
+    text-decoration: none;
+    border: none;
+}
+#cover a:link {
+    color: #b2d9e5;
+}
+#cover a:visited {
+    color: #b2b2e5;
+}
+#cover a:hover {
+    color: #e5bfb2;
+}
+#cover a:active {
+    color: #e5e5b2;
+}
+#cover li {
+    list-style: none;
+}
+#cover .title {
+    text-transform: uppercase;
+    text-align: center;
+    font-size: 1.8em;
+    letter-spacing: 0.5em;
+    color: #efefb2;
+}
+#cover .byline {
+    font-style: italic;
+    text-align: center;
+    font-size: 1.3em;
+    letter-spacing: 0.2em;
+    color: #e5bfb2;
+}
+#cover .anchors a {
+    margin-left: 0.25em;
+    margin-right: 0.25em;
+}
+#cover .randomlink {
+    text-align: center;
+    font-size: 1em;
+    color: #e5bfb2;
+}
+/* #cover }}} */
+/* .ELEGIES {{{ */
+.elegies {
+}
+/* .elegies }}} */
+/* .HEZEKIAH {{{ */
+/* .hezekiah }}} */
+/* .STARK {{{ */
+/* TODO: Change to Everything Changes? */
+table { border-collapse: collapse; }
+td {
+    vertical-align: top;
+    padding-top: 0.25em;
+    padding-bottom: 0.25em;
+}
+tr {
+    border-bottom: 1px solid black;
+    border-top: 1px solid black;
+}
+/* .stark }}} */
+/* .PAUL {{{ */
+/* Blockquote = typewriter */
+.paul blockquote {
+    font-family: "Courier Prime", "Courier New", Courier, monospace;
+    font-style: normal;
+    font-size: 10pt;
+    border: 1px solid black;
+    max-width: 30em;
+    margin: auto;
+    padding: 1em;
+    text-align: left;
+}
+.paul blockquote :last-child {
+    margin: 0;
+}
+.paul blockquote p::first-line {
+    font-variant: normal !important;
+}
+.paul blockquote ul {
+    list-style-type: none;
+}
+.paul blockquote ul li::before {
+    content: '- ';
+}
+
+/* Emphasis = handwritten */
+.paul em {
+    /* font-family: "Playfair Display", Georgia, sans-serif; */
+    font-style: italic;
+}
+/* .paul }}} */
+/* .AUTOCENTO {{{ */
+.autocento {
+    background-color: white;
+}
+/* .autocento }}} */
+/* .BACKLINKS {{{ */
+.backlinks .daisy a:link {
+    font-size: 0.5em;
+    font-style: italic;
+    margin-left: 0.5em;
+    color: gray;
+    border: none;
+    position: relative;
+    top: -1em;
+}
+.backlinks .daisy a:visited {
+    color: #b2b2e5;
+}
+.backlinks .daisy a:hover {
+    color: #e5bfb2;
+}
+.backlinks .daisy a:active {
+    color: #e5e5b2;
+}
+/* .backlinks }}} */
+/* ARTICLE CSS */
+/* #TABLE_CONTENTS {{{ */
+#table_contents table {
+    max-width: 39em;
+}
+#table_contents tr {
+    border: none;
+}
+#table_contents td {
+    max-width: 50%;
+}
+/* #table_contents }}} */
+/* #ABOUT_AUTHOR {{{ */
+#about-the-author td {
+    vertical-align: middle;
+}
+/* #about_author }}} */
+/* #ABOUT {{{ */
+#about img {
+    max-width: 10em;
+    float: right;
+    padding-top: 0.5em;
+    padding-left: 1em;
+}
+/* #about }}} */
diff --git a/trunk/toc.head b/trunk/toc.head
index 29cb69e..83b41d6 100644
--- a/trunk/toc.head
+++ b/trunk/toc.head
@@ -1,11 +1,6 @@
 ---
-title: Autocento of the breakfast table
+title: Table of contents
 id: toc
-subtitle: table of contents
 genre: list
-
-project:
-    title: About autocento
-    class: meta
 ...
 
diff --git a/trunk/toc.sh b/trunk/toc.sh
deleted file mode 100644
index fe440cb..0000000
--- a/trunk/toc.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-outFile="$1";
-shift 1;
-glob="$@";
-
-echo -n "Compiling $outFile"
-
-for file in $glob; do
-    title=$(grep '^title: ' $file | cut -d' ' -f2-);
-    subtitle=$(grep '^subtitle: ' $file | cut -d' ' -f2-);
-    htmlFile="${file%.txt}.html"
-    # if [[ "$title" == "Autocento of the breakfast table" ]]; then
-    #     echo "#. [$subtitle]($htmlFile)" >> "$outFile";
-    # else
-    #     echo "#. [$title]($htmlFile)" >> "$outFile";
-    # fi
-    if [[ -n "$subtitle" ]]; then
-        echo "#. [$title: $subtitle]($htmlFile)" >> "$outFile"
-    else
-        echo "#. [$title]($htmlFile)" >> "$outFile";
-    fi
-    echo -n "."
-done
-
-echo "Done."
diff --git a/trunk/versify.exe b/trunk/versify.exe
deleted file mode 100644
index d479c80..0000000
Binary files a/trunk/versify.exe and /dev/null differ
diff --git a/trunk/versify.hs b/trunk/versify.hs
deleted file mode 100644
index 48e9c00..0000000
--- a/trunk/versify.hs
+++ /dev/null
@@ -1,15 +0,0 @@
-import Text.Pandoc.JSON
-import Data.List.Split
-
-main :: IO ()
-main = toJSONFilter transformVerseParas
-
-transformVerseParas :: Block -> Block
-transformVerseParas (Para xs)
-    | LineBreak `elem` xs = Para (addLineSpans xs)
-    | otherwise = Para xs
-transformVerseParas x = x
-
-addLineSpans :: [Inline] -> [Inline]
-addLineSpans = map encloseInSpan . splitWhen (== LineBreak)
-    where encloseInSpan = Span ("", ["line"], [])
diff --git a/trunk/white-streak.jpg b/trunk/white-streak.jpg
deleted file mode 100644
index 318f654..0000000
Binary files a/trunk/white-streak.jpg and /dev/null differ
-- 
cgit 1.4.1-21-gabe81