diff options
Diffstat (limited to 'trunk')
-rw-r--r-- | trunk/Courier_Prime.ttf | bin | 0 -> 98156 bytes | |||
-rw-r--r-- | trunk/Courier_Prime_Bold.ttf | bin | 0 -> 91368 bytes | |||
-rw-r--r-- | trunk/Courier_Prime_Bold_Italic.ttf | bin | 0 -> 91908 bytes | |||
-rw-r--r-- | trunk/Courier_Prime_Italic.ttf | bin | 0 -> 96196 bytes | |||
-rw-r--r-- | trunk/LinLibertine_R.otf | bin | 0 -> 528064 bytes | |||
-rw-r--r-- | trunk/LinLibertine_R.woff | bin | 0 -> 515460 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RB.otf | bin | 0 -> 426060 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RB.woff | bin | 0 -> 442244 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RBI.otf | bin | 0 -> 363740 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RBI.woff | bin | 0 -> 301560 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RI.otf | bin | 0 -> 445044 bytes | |||
-rw-r--r-- | trunk/LinLibertine_RI.woff | bin | 0 -> 458368 bytes | |||
-rw-r--r-- | trunk/amber.jpg | bin | 0 -> 20805 bytes | |||
-rw-r--r-- | trunk/black-streak.jpg | bin | 0 -> 128292 bytes | |||
-rw-r--r-- | trunk/courier-prime.css | 30 | ||||
-rw-r--r-- | trunk/external.js | 5 | ||||
-rw-r--r-- | trunk/favico.png | bin | 0 -> 877 bytes | |||
-rw-r--r-- | trunk/favico.xcf | bin | 0 -> 2147 bytes | |||
-rw-r--r-- | trunk/gould.png | bin | 0 -> 1740535 bytes | |||
-rw-r--r-- | trunk/hapax.lua | 256 | ||||
-rw-r--r-- | trunk/hylo.js | 21 | ||||
-rw-r--r-- | trunk/libertine.css | 31 | ||||
-rw-r--r-- | trunk/lozenge.js | 27 | ||||
-rw-r--r-- | trunk/moongone.jpg | bin | 0 -> 1922472 bytes | |||
-rw-r--r-- | trunk/panorama-apollo11.jpg | bin | 0 -> 720983 bytes | |||
-rw-r--r-- | trunk/river.lua | 230 | ||||
-rw-r--r-- | trunk/tbedemugshot.jpg | bin | 0 -> 137980 bytes | |||
-rw-r--r-- | trunk/white-streak.jpg | bin | 0 -> 352757 bytes |
28 files changed, 600 insertions, 0 deletions
diff --git a/trunk/Courier_Prime.ttf b/trunk/Courier_Prime.ttf new file mode 100644 index 0000000..db4e6c1 --- /dev/null +++ b/trunk/Courier_Prime.ttf | |||
Binary files differ | |||
diff --git a/trunk/Courier_Prime_Bold.ttf b/trunk/Courier_Prime_Bold.ttf new file mode 100644 index 0000000..1b0888c --- /dev/null +++ b/trunk/Courier_Prime_Bold.ttf | |||
Binary files differ | |||
diff --git a/trunk/Courier_Prime_Bold_Italic.ttf b/trunk/Courier_Prime_Bold_Italic.ttf new file mode 100644 index 0000000..d4e7186 --- /dev/null +++ b/trunk/Courier_Prime_Bold_Italic.ttf | |||
Binary files differ | |||
diff --git a/trunk/Courier_Prime_Italic.ttf b/trunk/Courier_Prime_Italic.ttf new file mode 100644 index 0000000..75a1343 --- /dev/null +++ b/trunk/Courier_Prime_Italic.ttf | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_R.otf b/trunk/LinLibertine_R.otf new file mode 100644 index 0000000..6d345d5 --- /dev/null +++ b/trunk/LinLibertine_R.otf | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_R.woff b/trunk/LinLibertine_R.woff new file mode 100644 index 0000000..0357ad4 --- /dev/null +++ b/trunk/LinLibertine_R.woff | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RB.otf b/trunk/LinLibertine_RB.otf new file mode 100644 index 0000000..811cea8 --- /dev/null +++ b/trunk/LinLibertine_RB.otf | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RB.woff b/trunk/LinLibertine_RB.woff new file mode 100644 index 0000000..a0dbbbf --- /dev/null +++ b/trunk/LinLibertine_RB.woff | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RBI.otf b/trunk/LinLibertine_RBI.otf new file mode 100644 index 0000000..c1a4ff7 --- /dev/null +++ b/trunk/LinLibertine_RBI.otf | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RBI.woff b/trunk/LinLibertine_RBI.woff new file mode 100644 index 0000000..402494e --- /dev/null +++ b/trunk/LinLibertine_RBI.woff | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RI.otf b/trunk/LinLibertine_RI.otf new file mode 100644 index 0000000..288f5d0 --- /dev/null +++ b/trunk/LinLibertine_RI.otf | |||
Binary files differ | |||
diff --git a/trunk/LinLibertine_RI.woff b/trunk/LinLibertine_RI.woff new file mode 100644 index 0000000..e2a0ae4 --- /dev/null +++ b/trunk/LinLibertine_RI.woff | |||
Binary files differ | |||
diff --git a/trunk/amber.jpg b/trunk/amber.jpg new file mode 100644 index 0000000..7b70b35 --- /dev/null +++ b/trunk/amber.jpg | |||
Binary files differ | |||
diff --git a/trunk/black-streak.jpg b/trunk/black-streak.jpg new file mode 100644 index 0000000..5b44525 --- /dev/null +++ b/trunk/black-streak.jpg | |||
Binary files differ | |||
diff --git a/trunk/courier-prime.css b/trunk/courier-prime.css new file mode 100644 index 0000000..0a38383 --- /dev/null +++ b/trunk/courier-prime.css | |||
@@ -0,0 +1,30 @@ | |||
1 | /* COURIER PRIME FONT for Autocento project. | ||
2 | * ONLY PUT @font-face RULES HERE. | ||
3 | */ | ||
4 | |||
5 | /* Normal = normal */ | ||
6 | @font-face { | ||
7 | font-family: "Courier Prime"; | ||
8 | font-weight: normal; | ||
9 | font-style: normal; | ||
10 | src: url("Courier_Prime.ttf"); | ||
11 | } | ||
12 | @font-face { | ||
13 | font-family: "Courier Prime"; | ||
14 | font-weight: normal; | ||
15 | font-style: italic; | ||
16 | src: url("Courier_Prime_Italic.ttf"); | ||
17 | } | ||
18 | /* Bold = bold */ | ||
19 | @font-face { | ||
20 | font-family: "Courier Prime"; | ||
21 | font-weight: bold; | ||
22 | font-style: normal; | ||
23 | src: url("Courier_Prime_Bold.ttf"); | ||
24 | } | ||
25 | @font-face { | ||
26 | font-family: "Courier Prime"; | ||
27 | font-weight: bold; | ||
28 | font-style: italic; | ||
29 | src: url("Courier_Prime_Bold_Italic.ttf"); | ||
30 | } | ||
diff --git a/trunk/external.js b/trunk/external.js new file mode 100644 index 0000000..ee425cd --- /dev/null +++ b/trunk/external.js | |||
@@ -0,0 +1,5 @@ | |||
1 | /* External.js for Autocento of the breakfast table | ||
2 | * this gives external links the class "external." | ||
3 | */ | ||
4 | |||
5 | |||
diff --git a/trunk/favico.png b/trunk/favico.png new file mode 100644 index 0000000..4f85004 --- /dev/null +++ b/trunk/favico.png | |||
Binary files differ | |||
diff --git a/trunk/favico.xcf b/trunk/favico.xcf new file mode 100644 index 0000000..bdd2949 --- /dev/null +++ b/trunk/favico.xcf | |||
Binary files differ | |||
diff --git a/trunk/gould.png b/trunk/gould.png new file mode 100644 index 0000000..833c2dd --- /dev/null +++ b/trunk/gould.png | |||
Binary files differ | |||
diff --git a/trunk/hapax.lua b/trunk/hapax.lua new file mode 100644 index 0000000..7e8410c --- /dev/null +++ b/trunk/hapax.lua | |||
@@ -0,0 +1,256 @@ | |||
1 | -- Pandoc River writer | ||
2 | -- it takes out all formatting, leaving only a river of text | ||
3 | -- running down the page: one word per line | ||
4 | -- vim: fdm=marker | ||
5 | -- invoke with: pandoc -t river.lua | ||
6 | |||
7 | os.setlocale("en_US.UTF-8") | ||
8 | |||
9 | function hapax(s) | ||
10 | local function tablify (s, p) | ||
11 | local t={} | ||
12 | for w in s:gmatch(p) do | ||
13 | table.insert(t, w) | ||
14 | end | ||
15 | return t | ||
16 | end | ||
17 | local function stripDupes (t) | ||
18 | local seen = {} | ||
19 | local remove = {} | ||
20 | for i = 1, #t do | ||
21 | element = t[i] | ||
22 | if seen[element] then | ||
23 | remove[element] = true | ||
24 | else | ||
25 | seen[element] = true | ||
26 | end | ||
27 | end | ||
28 | for i = #t, 1, -1 do | ||
29 | if remove[t[i]] then | ||
30 | table.remove(t, i) | ||
31 | end | ||
32 | end | ||
33 | return t | ||
34 | end | ||
35 | return table.concat(stripDupes(tablify(s, "%S+")), "\n") | ||
36 | end | ||
37 | |||
38 | function flow(s) | ||
39 | return s:gsub("%s+", "\n") | ||
40 | end | ||
41 | |||
42 | function nude(s) | ||
43 | -- Expand contractions | ||
44 | s = s:gsub("'%a+%s", function (x) | ||
45 | if x == "'ll" then | ||
46 | return " will " | ||
47 | elseif x == "'ve" then | ||
48 | return " have " | ||
49 | elseif x == "'re" then | ||
50 | return " are " | ||
51 | else | ||
52 | return x | ||
53 | end | ||
54 | end) | ||
55 | s = s:gsub("it's", "it is") | ||
56 | s = s:gsub("n't", " not ") | ||
57 | -- Get rid of quotes around words | ||
58 | s = s:gsub('"', ' ') | ||
59 | s = s:gsub("%s'", ' ') | ||
60 | s = s:gsub("'%s", ' ') | ||
61 | -- Remove HTML entities | ||
62 | s = s:gsub('&.-;', ' ') | ||
63 | s = s:gsub('%b<>', ' ') | ||
64 | -- Remove end-of-line backslashes | ||
65 | s = s:gsub('\\$', ' ') | ||
66 | -- Remove dashes (not hyphens) | ||
67 | s = s:gsub('%-[%-%s]+', ' ') | ||
68 | -- Remove everything that is not letters or numbers | ||
69 | s = s:gsub('[%.!%?:;,%[%]%(%)<>]', ' ') | ||
70 | -- Remove extra spaces | ||
71 | s = s:gsub('%s+', ' ') | ||
72 | return s:lower() | ||
73 | end | ||
74 | |||
75 | -- This function is called once for the whole document. Parameters: | ||
76 | -- body is a string, metadata is a table, variables is a table. | ||
77 | -- One could use some kind of templating | ||
78 | -- system here; this just gives you a simple standalone HTML file. | ||
79 | function Doc(body, metadata, variables) | ||
80 | local buffer = "" | ||
81 | local function add(s) | ||
82 | buffer = buffer .. nude(s) .. "\n" | ||
83 | end | ||
84 | if metadata['title'] then | ||
85 | add(metadata['title']) | ||
86 | end | ||
87 | if metadata['subtitle'] then | ||
88 | add(metadata['subtitle']) | ||
89 | end | ||
90 | add(body) | ||
91 | return hapax(flow(buffer)) | ||
92 | end | ||
93 | |||
94 | -- Remove all formatting {{{ | ||
95 | function Note(s) | ||
96 | return nude(s) | ||
97 | end | ||
98 | |||
99 | function Blocksep() | ||
100 | return "\n" | ||
101 | end | ||
102 | function Emph(s) | ||
103 | return nude(s) | ||
104 | end | ||
105 | |||
106 | function Strong(s) | ||
107 | return nude(s) | ||
108 | end | ||
109 | |||
110 | function Subscript(s) | ||
111 | return nude(s) | ||
112 | end | ||
113 | |||
114 | function Superscript(s) | ||
115 | return nude(s) | ||
116 | end | ||
117 | |||
118 | function SmallCaps(s) | ||
119 | return nude(s) | ||
120 | end | ||
121 | |||
122 | function Strikeout(s) | ||
123 | return nude(s) | ||
124 | end | ||
125 | |||
126 | function Code(s, attr) | ||
127 | return nude(s) | ||
128 | end | ||
129 | |||
130 | function CodeBlock(s, attr) | ||
131 | return nude(s) | ||
132 | end | ||
133 | |||
134 | function InlineMath(s) | ||
135 | return nude(s) | ||
136 | end | ||
137 | |||
138 | function DisplayMath(s) | ||
139 | return nude(s) | ||
140 | end | ||
141 | |||
142 | function Span(s, attr) | ||
143 | return nude(s) | ||
144 | end | ||
145 | |||
146 | function Cite(s) | ||
147 | return nude(s) | ||
148 | end | ||
149 | |||
150 | function Plain(s) | ||
151 | return nude(s) | ||
152 | end | ||
153 | |||
154 | -- Links only include the link text | ||
155 | function Link(s, src, tit) | ||
156 | return nude(s) | ||
157 | end | ||
158 | |||
159 | -- Images have nothing to give us | ||
160 | -- (but add a space just in case) | ||
161 | function Image(s, src, tit) | ||
162 | return "\n" | ||
163 | end | ||
164 | |||
165 | function CaptionedImage(s, src, tit) | ||
166 | return "\n" | ||
167 | end | ||
168 | |||
169 | function Str(s) | ||
170 | return nude(s) | ||
171 | end | ||
172 | |||
173 | function Div(s, attr) | ||
174 | return nude(s) | ||
175 | end | ||
176 | |||
177 | function Space(s) | ||
178 | return "\n" | ||
179 | end | ||
180 | |||
181 | function LineBreak() | ||
182 | return "\n" | ||
183 | end | ||
184 | |||
185 | function Para(s) | ||
186 | return nude(s) | ||
187 | end | ||
188 | |||
189 | function Header(lev, s, attr) | ||
190 | return nude(s) | ||
191 | end | ||
192 | |||
193 | function BlockQuote(s) | ||
194 | return nude(s) | ||
195 | end | ||
196 | |||
197 | function HorizontalRule() | ||
198 | return "\n" | ||
199 | end | ||
200 | |||
201 | function BulletList(items) | ||
202 | local buffer = "" | ||
203 | for _, item in pairs(items) do | ||
204 | buffer = buffer .. nude(item) .. "\n" | ||
205 | end | ||
206 | return buffer .. "\n" | ||
207 | end | ||
208 | |||
209 | function OrderedList(items) | ||
210 | local buffer = "" | ||
211 | for _, item in pairs(items) do | ||
212 | buffer = buffer .. nude(item) .. "\n" | ||
213 | end | ||
214 | return buffer .. "\n" | ||
215 | end | ||
216 | |||
217 | function DefinitionList(items) | ||
218 | local buffer = "" | ||
219 | for _, item in pairs(items) do | ||
220 | for k, v in pairs(item) do | ||
221 | buffer = buffer .. nude(k) .. "\n" .. nude(v) .. "\n" | ||
222 | end | ||
223 | end | ||
224 | return buffer .. "\n" | ||
225 | end | ||
226 | |||
227 | function Table(caption, aligns, widths, headers, rows) | ||
228 | local buffer = "" | ||
229 | local function add(s) | ||
230 | buffer = buffer .. nude(s) .. "\n" | ||
231 | end | ||
232 | if caption ~= "" then | ||
233 | add(caption) | ||
234 | end | ||
235 | for _,h in pairs(headers) do | ||
236 | add(h) | ||
237 | end | ||
238 | for _, row in pairs(rows) do | ||
239 | for _, cell in pairs(row) do | ||
240 | add(cell) | ||
241 | end | ||
242 | end | ||
243 | return buffer | ||
244 | end | ||
245 | -- }}} | ||
246 | |||
247 | -- The following code will produce runtime warnings when you haven't defined | ||
248 | -- all of the functions you need for the custom writer, so it's useful | ||
249 | -- to include when you're working on a writer. | ||
250 | local meta = {} | ||
251 | meta.__index = | ||
252 | function(_, key) | ||
253 | io.stderr:write(string.format("WARNING: Undefined function '%s'\n",key)) | ||
254 | return function() return "" end | ||
255 | end | ||
256 | setmetatable(_G, meta) | ||
diff --git a/trunk/hylo.js b/trunk/hylo.js new file mode 100644 index 0000000..5a39427 --- /dev/null +++ b/trunk/hylo.js | |||
@@ -0,0 +1,21 @@ | |||
1 | /* | ||
2 | * Hyphenator_Loader 1.1.0 - client side hyphenation for webbrowsers | ||
3 | * Copyright (C) 2014 Mathias Nater, Zürich (mathias at mnn dot ch) | ||
4 | * Project and Source hosted on http://code.google.com/p/hyphenator/ | ||
5 | * | ||
6 | * This JavaScript code is free software: you can redistribute | ||
7 | * it and/or modify it under the terms of the GNU Lesser | ||
8 | * General Public License (GNU LGPL) as published by the Free Software | ||
9 | * Foundation, either version 3 of the License, or (at your option) | ||
10 | * any later version. The code is distributed WITHOUT ANY WARRANTY; | ||
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS | ||
12 | * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. | ||
13 | * | ||
14 | * As additional permission under GNU GPL version 3 section 7, you | ||
15 | * may distribute non-source (e.g., minimized or compacted) forms of | ||
16 | * that code without the copy of the GNU GPL normally required by | ||
17 | * section 4, provided you include this license notice and a URL | ||
18 | * through which recipients can access the Corresponding Source. | ||
19 | */ | ||
20 | |||
21 | 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/libertine.css b/trunk/libertine.css new file mode 100644 index 0000000..7432d14 --- /dev/null +++ b/trunk/libertine.css | |||
@@ -0,0 +1,31 @@ | |||
1 | /* CSS for Linux Libertine family of fonts */ | ||
2 | |||
3 | @font-face { | ||
4 | font-family: "Libertine"; | ||
5 | src: url('LinLibertine_R.woff'), | ||
6 | url('LinLibertine_R.otf'); | ||
7 | font-weight: 400; | ||
8 | font-style: normal; | ||
9 | } | ||
10 | @font-face { | ||
11 | font-family: "Libertine"; | ||
12 | src: url('LinLibertine_RB.woff'), | ||
13 | url('LinLibertine_RB.otf'); | ||
14 | font-weight: 700; | ||
15 | font-style: normal; | ||
16 | } | ||
17 | |||
18 | @font-face { | ||
19 | font-family: "Libertine"; | ||
20 | src: url('LinLibertine_RI.woff'), | ||
21 | url('LinLibertine_RI.otf'); | ||
22 | font-weight: 400; | ||
23 | font-style: italic; | ||
24 | } | ||
25 | @font-face { | ||
26 | font-family: "Libertine"; | ||
27 | src: url('LinLibertine_RBI.woff'), | ||
28 | url('LinLibertine_RBI.otf'); | ||
29 | font-weight: 700; | ||
30 | font-style: italic; | ||
31 | } | ||
diff --git a/trunk/lozenge.js b/trunk/lozenge.js new file mode 100644 index 0000000..2df6cad --- /dev/null +++ b/trunk/lozenge.js | |||
@@ -0,0 +1,27 @@ | |||
1 | /* Lozenge.js for Autocento of the breakfast table | ||
2 | * Cause a#lozenge to link to random file in array | ||
3 | * vim: fdm=marker | ||
4 | */ | ||
5 | |||
6 | function _lozenge() { | ||
7 | var lozenge = document.getElementById('lozenge'); | ||
8 | // array with all files {{{ | ||
9 | var files=["100-lines.html","about-the-author.html","about.html","about_author.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","common-titles.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","first-lines.html","found-typewriter-poem.html","hands.html","hapax.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","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","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"] | ||
10 | // }}} | ||
11 | |||
12 | var index = Math.floor(Math.random() * files.length); | ||
13 | |||
14 | var url = window.location.pathname; | ||
15 | var current = url.substring(url.lastIndexOf('/')+1); | ||
16 | |||
17 | if (current != files[index]) { | ||
18 | lozenge.setAttribute("href", files[index]); | ||
19 | lozenge.setAttribute("title", "Random article"); | ||
20 | } else { | ||
21 | _lozenge() | ||
22 | } | ||
23 | } | ||
24 | |||
25 | window.onload = function () { | ||
26 | _lozenge() | ||
27 | }; | ||
diff --git a/trunk/moongone.jpg b/trunk/moongone.jpg new file mode 100644 index 0000000..f49a75e --- /dev/null +++ b/trunk/moongone.jpg | |||
Binary files differ | |||
diff --git a/trunk/panorama-apollo11.jpg b/trunk/panorama-apollo11.jpg new file mode 100644 index 0000000..c56a109 --- /dev/null +++ b/trunk/panorama-apollo11.jpg | |||
Binary files differ | |||
diff --git a/trunk/river.lua b/trunk/river.lua new file mode 100644 index 0000000..4abb6d8 --- /dev/null +++ b/trunk/river.lua | |||
@@ -0,0 +1,230 @@ | |||
1 | -- Pandoc River writer | ||
2 | -- it takes out all formatting, leaving only a river of text | ||
3 | -- running down the page: one word per line | ||
4 | -- vim: fdm=marker | ||
5 | -- invoke with: pandoc -t river.lua | ||
6 | |||
7 | os.setlocale("en_US.UTF-8") | ||
8 | |||
9 | local function flow(s) | ||
10 | return s:gsub("%s+", "\n") | ||
11 | end | ||
12 | |||
13 | local function nude(s) | ||
14 | -- Expand contractions | ||
15 | s = s:gsub("'%a+%s", function (x) | ||
16 | if x == "'ll" then | ||
17 | return " will " | ||
18 | elseif x == "'ve" then | ||
19 | return " have " | ||
20 | elseif x == "'re" then | ||
21 | return " are " | ||
22 | else | ||
23 | return x | ||
24 | end | ||
25 | end) | ||
26 | s = s:gsub("it's", "it is") | ||
27 | s = s:gsub("n't", " not ") | ||
28 | -- Get rid of quotes around words | ||
29 | s = s:gsub('"', ' ') | ||
30 | s = s:gsub("%s+'", ' ') | ||
31 | s = s:gsub("'%s+", ' ') | ||
32 | -- Remove HTML entities | ||
33 | s = s:gsub('&.-;', ' ') | ||
34 | s = s:gsub('%b<>', ' ') | ||
35 | -- Remove end-of-line backslashes | ||
36 | s = s:gsub('%s+\\$', ' ') | ||
37 | -- Remove dashes (not hyphens) | ||
38 | s = s:gsub('%-%-+', ' ') | ||
39 | s = s:gsub('%-%s', ' ') | ||
40 | -- Remove everything that is not letters or numbers | ||
41 | s = s:gsub('[%.!%?:;,%[%]%(%)<>]', ' ') | ||
42 | -- Remove extra spaces | ||
43 | s = s:gsub('%s+', ' ') | ||
44 | return s:lower() | ||
45 | end | ||
46 | |||
47 | -- This function is called once for the whole document. Parameters: | ||
48 | -- body is a string, metadata is a table, variables is a table. | ||
49 | -- One could use some kind of templating | ||
50 | -- system here; this just gives you a simple standalone HTML file. | ||
51 | function Doc(body, metadata, variables) | ||
52 | local buffer = "" | ||
53 | local function add(s) | ||
54 | buffer = buffer .. nude(s) .. "\n" | ||
55 | end | ||
56 | if metadata['title'] then | ||
57 | add(metadata['title']) | ||
58 | end | ||
59 | if metadata['subtitle'] then | ||
60 | add(metadata['subtitle']) | ||
61 | end | ||
62 | -- TODO: epigraph.content, epigraph.attrib, dedication, other metadata? | ||
63 | add(body) | ||
64 | return flow(buffer) | ||
65 | end | ||
66 | |||
67 | -- Remove all formatting {{{ | ||
68 | function Note(s) | ||
69 | return nude(s) | ||
70 | end | ||
71 | |||
72 | function Blocksep() | ||
73 | return "\n" | ||
74 | end | ||
75 | function Emph(s) | ||
76 | return nude(s) | ||
77 | end | ||
78 | |||
79 | function Strong(s) | ||
80 | return nude(s) | ||
81 | end | ||
82 | |||
83 | function Subscript(s) | ||
84 | return nude(s) | ||
85 | end | ||
86 | |||
87 | function Superscript(s) | ||
88 | return nude(s) | ||
89 | end | ||
90 | |||
91 | function SmallCaps(s) | ||
92 | return nude(s) | ||
93 | end | ||
94 | |||
95 | function Strikeout(s) | ||
96 | return nude(s) | ||
97 | end | ||
98 | |||
99 | function Code(s, attr) | ||
100 | return nude(s) | ||
101 | end | ||
102 | |||
103 | function CodeBlock(s, attr) | ||
104 | return nude(s) | ||
105 | end | ||
106 | |||
107 | function InlineMath(s) | ||
108 | return nude(s) | ||
109 | end | ||
110 | |||
111 | function DisplayMath(s) | ||
112 | return nude(s) | ||
113 | end | ||
114 | |||
115 | function Span(s, attr) | ||
116 | return nude(s) | ||
117 | end | ||
118 | |||
119 | function Cite(s) | ||
120 | return nude(s) | ||
121 | end | ||
122 | |||
123 | function Plain(s) | ||
124 | return nude(s) | ||
125 | end | ||
126 | |||
127 | -- Links only include the link text | ||
128 | function Link(s, src, tit) | ||
129 | return nude(s) | ||
130 | end | ||
131 | |||
132 | -- Images have nothing to give us | ||
133 | -- (but add a space just in case) | ||
134 | function Image(s, src, tit) | ||
135 | return "\n" | ||
136 | end | ||
137 | |||
138 | function CaptionedImage(s, src, tit) | ||
139 | return "\n" | ||
140 | end | ||
141 | |||
142 | function Str(s) | ||
143 | return nude(s) | ||
144 | end | ||
145 | |||
146 | function Div(s, attr) | ||
147 | return nude(s) | ||
148 | end | ||
149 | |||
150 | function Space(s) | ||
151 | return "\n" | ||
152 | end | ||
153 | |||
154 | function LineBreak() | ||
155 | return "\n" | ||
156 | end | ||
157 | |||
158 | function Para(s) | ||
159 | return nude(s) | ||
160 | end | ||
161 | |||
162 | function Header(lev, s, attr) | ||
163 | return nude(s) | ||
164 | end | ||
165 | |||
166 | function BlockQuote(s) | ||
167 | return nude(s) | ||
168 | end | ||
169 | |||
170 | function HorizontalRule() | ||
171 | return "\n" | ||
172 | end | ||
173 | |||
174 | function BulletList(items) | ||
175 | local buffer = "" | ||
176 | for _, item in pairs(items) do | ||
177 | buffer = buffer .. nude(item) .. "\n" | ||
178 | end | ||
179 | return buffer .. "\n" | ||
180 | end | ||
181 | |||
182 | function OrderedList(items) | ||
183 | local buffer = "" | ||
184 | for _, item in pairs(items) do | ||
185 | buffer = buffer .. nude(item) .. "\n" | ||
186 | end | ||
187 | return buffer .. "\n" | ||
188 | end | ||
189 | |||
190 | function DefinitionList(items) | ||
191 | local buffer = "" | ||
192 | for _, item in pairs(items) do | ||
193 | for k, v in pairs(item) do | ||
194 | buffer = buffer .. nude(k) .. "\n" .. nude(v) .. "\n" | ||
195 | end | ||
196 | end | ||
197 | return buffer .. "\n" | ||
198 | end | ||
199 | |||
200 | function Table(caption, aligns, widths, headers, rows) | ||
201 | local buffer = "" | ||
202 | local function add(s) | ||
203 | buffer = buffer .. nude(s) .. "\n" | ||
204 | end | ||
205 | if caption ~= "" then | ||
206 | add(caption) | ||
207 | end | ||
208 | for _,h in pairs(headers) do | ||
209 | add(h) | ||
210 | end | ||
211 | for _, row in pairs(rows) do | ||
212 | for _, cell in pairs(row) do | ||
213 | add(cell) | ||
214 | end | ||
215 | end | ||
216 | return buffer | ||
217 | end | ||
218 | -- }}} | ||
219 | |||
220 | -- The following code will produce runtime warnings when you haven't defined | ||
221 | -- all of the functions you need for the custom writer, so it's useful | ||
222 | -- to include when you're working on a writer. | ||
223 | local meta = {} | ||
224 | meta.__index = | ||
225 | function(_, key) | ||
226 | io.stderr:write(string.format("WARNING: Undefined function '%s'\n",key)) | ||
227 | return function() return "" end | ||
228 | end | ||
229 | setmetatable(_G, meta) | ||
230 | |||
diff --git a/trunk/tbedemugshot.jpg b/trunk/tbedemugshot.jpg new file mode 100644 index 0000000..0fd03b2 --- /dev/null +++ b/trunk/tbedemugshot.jpg | |||
Binary files differ | |||
diff --git a/trunk/white-streak.jpg b/trunk/white-streak.jpg new file mode 100644 index 0000000..318f654 --- /dev/null +++ b/trunk/white-streak.jpg | |||
Binary files differ | |||