diff options
author | David A. Madore <david+git@madore.org> | 2014-10-03 15:53:02 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2014-10-03 15:53:02 +0200 |
commit | 62f6c6df9e08d469a044e97e7450058146e07de1 (patch) | |
tree | dbe6c9eff3d7696770845b03ebe3d29f8ad83635 /org | |
parent | 67b182059944b3a048a767c46d692472792dfd87 (diff) | |
download | damlengine-62f6c6df9e08d469a044e97e7450058146e07de1.tar.gz damlengine-62f6c6df9e08d469a044e97e7450058146e07de1.tar.bz2 damlengine-62f6c6df9e08d469a044e97e7450058146e07de1.zip |
Remove all templates from damlengine; introduce config variables instead.
Location of template files should now be specified by the
DAMLENGINE_TEMPLATE_PATH environment variable.
Diffstat (limited to 'org')
-rw-r--r-- | org/madore/damlengine/DamlEngine.java | 44 | ||||
-rw-r--r-- | org/madore/damlengine/TodoDamlElement.java | 5 | ||||
-rw-r--r-- | org/madore/damlengine/WeblogDatabaseConnection.java | 36 | ||||
-rw-r--r-- | org/madore/damlengine/WeblogIndexSelect.java | 3 | ||||
-rw-r--r-- | org/madore/damlengine/WeblogSelect.java | 3 | ||||
-rw-r--r-- | org/madore/damlengine/included.css | 115 | ||||
-rw-r--r-- | org/madore/damlengine/included.js | 109 | ||||
-rw-r--r-- | org/madore/damlengine/weblog-cat-template.daml | 66 | ||||
-rw-r--r-- | org/madore/damlengine/weblog-index-template.daml | 60 | ||||
-rw-r--r-- | org/madore/damlengine/weblog-month-template.daml | 231 | ||||
-rw-r--r-- | org/madore/damlengine/weblog-recent-template.daml | 84 | ||||
-rw-r--r-- | org/madore/damlengine/weblog-single-template.daml | 50 |
12 files changed, 79 insertions, 727 deletions
diff --git a/org/madore/damlengine/DamlEngine.java b/org/madore/damlengine/DamlEngine.java index 77fbf7f..f708d81 100644 --- a/org/madore/damlengine/DamlEngine.java +++ b/org/madore/damlengine/DamlEngine.java @@ -3,6 +3,7 @@ package org.madore.damlengine; import java.util.MissingResourceException; import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.Properties; import java.io.InputStream; import java.io.FileInputStream; import java.io.InputStreamReader; @@ -11,6 +12,7 @@ import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.BufferedReader; import java.io.PrintStream; +import java.io.FileNotFoundException; import javax.xml.XMLConstants; import javax.xml.namespace.NamespaceContext; import org.w3c.dom.*; @@ -148,9 +150,47 @@ public final class DamlEngine { fullProcess(in, out, null); } + public static Properties appProps; + public static String basePath; + public static String templatePath; + public static void main(String[] args) throws Exception { + appProps = new Properties(); + String appPropsFile = null; + if ( System.getenv("DAMLENGINE_PROPERTIES_PATH") != null ) + appPropsFile = System.getenv("DAMLENGINE_PROPERTIES_PATH"); + if ( appPropsFile == null ) { + if ( System.getProperty("user.home") != null ) + appPropsFile = System.getProperty("user.home") + "/damlengine.properties"; + else + appPropsFile = "damlengine.properties"; + } + try { + appProps.load(new FileInputStream(appPropsFile)); + } catch (FileNotFoundException e) { } + + basePath = null; + if ( System.getenv("DAMLENGINE_BASE_PATH") != null ) + basePath = System.getenv("DAMLENGINE_BASE_PATH"); + if ( basePath == null ) + basePath = appProps.getProperty("base_path"); + if ( basePath == null ) { + basePath = "."; + System.err.println("warning: using working directory as base path"); + } + + templatePath = null; + if ( System.getenv("DAMLENGINE_TEMPLATE_PATH") != null ) + templatePath = System.getenv("DAMLENGINE_TEMPLATE_PATH"); + if ( templatePath == null ) + templatePath = appProps.getProperty("template_path"); + if ( templatePath == null ) { + templatePath = basePath + "/templates"; + System.err.println("warning: using "+templatePath+" as template path"); + } + BufferedReader buf = new BufferedReader(new InputStreamReader(System.in, "UTF-8")); String line; Matcher matcher; @@ -162,7 +202,7 @@ public final class DamlEngine { if ( (matcher=Pattern.compile("process\\s+(\\S+)(?:\\s+\\>\\s*(\\S+))?\\s*").matcher(line)).matches() ) { String inf = matcher.group(1); String outf = matcher.group(2); - InputStream in = new FileInputStream(inf); + InputStream in = new FileInputStream((inf.charAt(0)=='/'?"":basePath+"/")+inf); OutputStream out = (outf != null) ? new FileOutputStream(outf) : System.out; @@ -226,7 +266,7 @@ public final class DamlEngine { out.close(); } else if ( (matcher=Pattern.compile("populate-weblog\\s+(\\S+)\\s*").matcher(line)).matches() ) { String inf = matcher.group(1); - InputStream in = new FileInputStream(inf); + InputStream in = new FileInputStream((inf.charAt(0)=='/'?"":basePath+"/")+inf); WeblogPopulate.populate(in); } else if ( (matcher=Pattern.compile("echo\\s+(\\S+)(?:\\s+\\>\\s*(\\S+))?\\s*").matcher(line)).matches() ) { String str = matcher.group(1); diff --git a/org/madore/damlengine/TodoDamlElement.java b/org/madore/damlengine/TodoDamlElement.java index 599e49a..9de2714 100644 --- a/org/madore/damlengine/TodoDamlElement.java +++ b/org/madore/damlengine/TodoDamlElement.java @@ -2,6 +2,7 @@ package org.madore.damlengine; import java.util.ArrayList; import java.util.regex.Pattern; +import java.io.FileInputStream; import java.io.Reader; import java.io.InputStreamReader; import java.io.BufferedReader; @@ -61,7 +62,7 @@ public final class TodoDamlElement extends TodoDefaultElement { ctx.gc.styleContent = new StringBuffer(); try { - Reader rd = new BufferedReader(new InputStreamReader(DamlEngine.class.getResourceAsStream("included.css"), "UTF-8")); + Reader rd = new BufferedReader(new InputStreamReader(new FileInputStream(DamlEngine.templatePath+"/included.css"), "UTF-8")); int ch; while ((ch = rd.read()) > -1) ctx.gc.styleContent.append((char)ch); @@ -71,7 +72,7 @@ public final class TodoDamlElement extends TodoDefaultElement { } ctx.gc.scriptContent = new StringBuffer(); try { - Reader rd = new BufferedReader(new InputStreamReader(DamlEngine.class.getResourceAsStream("included.js"), "UTF-8")); + Reader rd = new BufferedReader(new InputStreamReader(new FileInputStream(DamlEngine.templatePath+"/included.js"), "UTF-8")); int ch; while ((ch = rd.read()) > -1) ctx.gc.scriptContent.append((char)ch); diff --git a/org/madore/damlengine/WeblogDatabaseConnection.java b/org/madore/damlengine/WeblogDatabaseConnection.java index 9347406..900f3a0 100644 --- a/org/madore/damlengine/WeblogDatabaseConnection.java +++ b/org/madore/damlengine/WeblogDatabaseConnection.java @@ -20,24 +20,48 @@ public final class WeblogDatabaseConnection { public static Connection getConnection() throws SQLException { if ( conn == null ) { - String dbHost = System.getenv("PGHOST"); + String dbHost = System.getenv("DAMLENGINE_PGHOST"); + if ( dbHost == null ) + dbHost = DamlEngine.appProps.getProperty("pghost"); + if ( dbHost == null ) + dbHost = System.getenv("PGHOST"); if ( dbHost == null ) dbHost = "localhost"; - String dbPort = System.getenv("PGPORT"); + String dbPort = System.getenv("DAMLENGINE_PGPORT"); + if ( dbPort == null ) + dbPort = DamlEngine.appProps.getProperty("pgport"); + if ( dbPort == null ) + dbPort = System.getenv("PGPORT"); if ( dbPort == null ) dbPort = "5432"; - String dbName = "weblog"; - String dbUser = System.getenv("PGUSER"); + String dbName = System.getenv("DAMLENGINE_DBNAME"); + if ( dbName == null ) + dbName = DamlEngine.appProps.getProperty("dbname"); + if ( dbName == null ) + dbName = "weblog"; + String dbUser = System.getenv("DAMLENGINE_PGUSER"); + if ( dbUser == null ) + dbUser = DamlEngine.appProps.getProperty("pguser"); + if ( dbUser == null ) + dbUser = System.getenv("PGUSER"); if ( dbUser == null ) dbUser = System.getenv("USER"); if ( dbUser == null ) dbUser = System.getProperty("user.name"); if ( dbUser == null ) dbUser = dbName; - String dbPass = System.getenv("PGPASSWORD"); + String dbPass = System.getenv("DAMLENGINE_PGPASSWORD"); + if ( dbPass == null ) + dbPass = DamlEngine.appProps.getProperty("pgpassword"); + if ( dbPass == null ) + dbPass = System.getenv("PGPASSWORD"); if ( dbPass == null ) try { - String dbPassFile = System.getenv("PGPASSFILE"); + String dbPassFile = System.getenv("DAMLENGINE_PGPASSFILE"); + if ( dbPassFile == null ) + dbPassFile = DamlEngine.appProps.getProperty("pgpassfile"); + if ( dbPassFile == null ) + dbPassFile = System.getenv("PGPASSFILE"); if ( dbPassFile == null ) dbPassFile = System.getProperty("user.home") + "/.pgpass"; diff --git a/org/madore/damlengine/WeblogIndexSelect.java b/org/madore/damlengine/WeblogIndexSelect.java index 83c5461..0361177 100644 --- a/org/madore/damlengine/WeblogIndexSelect.java +++ b/org/madore/damlengine/WeblogIndexSelect.java @@ -1,5 +1,6 @@ package org.madore.damlengine; +import java.io.FileInputStream; import java.io.OutputStream; public final class WeblogIndexSelect { @@ -11,7 +12,7 @@ public final class WeblogIndexSelect { public static void fullProcess(OutputStream out) throws Exception { - DamlEngine.fullProcess(DamlEngine.class.getResourceAsStream("weblog-index-template.daml"), + DamlEngine.fullProcess(new FileInputStream(DamlEngine.templatePath+"/weblog-index-template.daml"), out, null); } diff --git a/org/madore/damlengine/WeblogSelect.java b/org/madore/damlengine/WeblogSelect.java index 8ebdaf4..075cab1 100644 --- a/org/madore/damlengine/WeblogSelect.java +++ b/org/madore/damlengine/WeblogSelect.java @@ -2,6 +2,7 @@ package org.madore.damlengine; import java.util.TreeSet; import java.util.ArrayList; +import java.io.FileInputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.PreparedStatement; @@ -50,7 +51,7 @@ public final class WeblogSelect { wsc.xmlData.add(content); } - DamlEngine.fullProcess(DamlEngine.class.getResourceAsStream(templateResourceName), + DamlEngine.fullProcess(new FileInputStream(DamlEngine.templatePath+"/"+templateResourceName), out, wsc); } diff --git a/org/madore/damlengine/included.css b/org/madore/damlengine/included.css deleted file mode 100644 index 4ad2a4d..0000000 --- a/org/madore/damlengine/included.css +++ /dev/null @@ -1,115 +0,0 @@ -body { - color: black; - font-family: Optima, "Zapf Humanist", Palatino, "Palatino Linotype", serif; -} -h1,h2,h3,h4,h5,h6 { - font-family: Futura, "Century Gothic", "Avant Garde", "Avant Garde Gothic", Helvetica, Arial, sans-serif; -} -h1 { color: rgb(0,128,0); } -h2 { color: rgb(96,96,0); } -h3 { color: rgb(96,64,0); } -.title { text-align: center; } -.subtitle { - font-size: 1.5em; text-align: center; - font-family: Futura, "Century Gothic", "Avant Garde", "Avant Garde Gothic", Helvetica, Arial, sans-serif; - color: rgb(24,96,0); -} -article { display: block; } -.navbar { - display: block; - font-size: .83em; - font-family: "Times Roman", Times, "Times New Roman", serif; -} -.ffii-call { - clear: both; - color: red; - font-size: 1.7em; - font-family: Helvetica, Arial, sans-serif; - text-align: center; - border: outset; -} -.important { font-weight: bold; border: solid; padding: 1em; } -.outset { border: outset; padding-left: 0.5em; padding-right: 0.5em; } -.sidenote { font-size: .83em; } -.weblog-entry-headlink { color: rgb(128,64,0); } -.weblog-entry-headlink > a { color: inherit; } -.weblog-entry-title { - color: black; - font-size: 1.17em; - font-weight: bold; - font-family: Futura, "Avant Garde", Helvetica, Arial, sans-serif; -} -.talkback-link { - color: rgb(128,64,0); font-size: 0.83em; text-align: right; - font-family: Futura, "Avant Garde", Helvetica, Arial, sans-serif; - margin-bottom: 0pt; -} -.talkback-link > a { color: inherit; } -.categories-list { - color: rgb(128,64,0); font-size: 0.83em; text-align: right; - font-family: Futura, "Avant Garde", Helvetica, Arial, sans-serif; - margin-bottom: 0pt; -} -.categories-list > a { color: inherit; } -.cut-link { - font-family: Futura, "Avant Garde", Helvetica, Arial, sans-serif; -} -.sitemap-note { - font-style: italic; - color: rgb(96,0,0); -} -.idlist > dt { color: rgb(96,64,0); } -.numtable td { text-align: right; } -.noparskip p { margin-top: 0; margin-bottom: 0; } -.cleared { clear: both; } -.cleared-left { clear: left; } -.cleared-right { clear: right; } -.pic { float: left; margin-right: 1em; margin-bottom: 1em; } -.pic-right { float: right; margin-left: 1em; margin-bottom: 1em; } -.pic-embed { float: left; margin-right: 1em; margin-bottom: 1em; margin-top: 1em; } -.pic-embed-right { float: right; margin-left: 1em; margin-bottom: 1em; margin-top: 1em; } -.smiley { vertical-align: middle; } -.separated { margin-top: 2.33em; } -a { text-decoration: none; } -:lang(en) > q { quotes: "\201C" "\201D" "\2018" "\2019"; } -:lang(fr) > q { quotes: "\AB\A0" "\A0\BB" "\201C" "\201D"; } -:lang(de) > q { quotes: "\201E" "\201C" "\201A" "\2018"; } -q:before { content: open-quote; } -q:after { content: close-quote; } -li { -moz-float-edge: content-box; } /* Undo Mozilla buggy bugware! */ -/* For despammed email addresses */ -@media all { /* Hide from various buggy browsers! */ - .subreplace-full-stop:before { content: "."; } - .subreplace-full-stop > img { display: none; } - .subreplace-commercial-at:before { content: "@"; } - .subreplace-commercial-at > img { display: none; } -} -/* Screen-specific rules */ -@media screen { - body { background: rgb(192,208,224); } - .navbar { - background: rgb(224,192,192); - border: solid; border-color: rgb(224,0,0); - padding: 1em; - float: right; margin-left: 1.33em; - } - .important { - background: rgb(208,208,208); - border-color: rgb(255,0,0); - } - .weblog-entry { - background: rgb(224,224,192); - border: solid; border-color: rgb(128,64,0); - padding: 1em; margin-bottom: 1em; - overflow: hidden; - } - .outset { background: rgb(192,224,208); } - .ffii-call { background: rgb(192,224,208); } - :link { color: rgb(0,0,192); } - :visited { color: rgb(96,0,192); } - .weblog-internal-link:link,.weblog-internal-link:visited { color: rgb(0,64,192); } - :link:hover,:visited:hover { text-decoration: underline; } -} -@media print { - .navbar { display: none; } -} diff --git a/org/madore/damlengine/included.js b/org/madore/damlengine/included.js deleted file mode 100644 index 1bf6db7..0000000 --- a/org/madore/damlengine/included.js +++ /dev/null @@ -1,109 +0,0 @@ -"use strict"; - -var textNodeType; - -function textContent(n) { - if ( n.nodeType == textNodeType ) { - return n.data; - } else { - var children = n.childNodes; - var t = ""; - for ( var i=0 ; i<children.length ; i++ ) { - t = t.concat(textContent(children.item(i))); - } - return t; - } -} - -function despam() { - // MSIE seems to barf... Deactivate for now - if ( (/MSIE *[1-6]\./).test(navigator.userAgent) ) - return; - // Now replace as appropriate. - var elts = document.getElementsByTagName("span"); - for ( var i=0 ; i<elts.length ; i++ ) { - var elt = elts.item(i); - if ( elt.className == "replace-commercial-at" ) { - elt.parentNode.replaceChild(document.createTextNode("@"),elt); - i--; // Semi-bugware - } else if ( elt.className == "replace-full-stop" ) { - elt.parentNode.replaceChild(document.createTextNode("."),elt); - i--; // Semi-bugware - } - } - // Merge adjacent text nodes. - try { - document.normalize(); // Your DOM is BROKEN! - } catch (exn) { - document.documentElement.normalize(); - } - // Next, process all <a> elements having class="despammed-address". - elts = document.getElementsByTagName("a"); - for ( var i=0 ; i<elts.length ; i++ ) { - var elt = elts.item(i); - if ( elt.className == "despammed-address" ) { - var addr = "mailto:".concat(textContent(elt)); - elt.setAttribute("href",addr); // (abstract) - elt.href = addr; // (semantic) - } - } -} - -function permuteWord(s) { - if ( s.length <= 3 ) - return s; - var tab = s.split(""); - var n = tab.length - 1; - for ( var i=1 ; i<n ; i++ ) { - var j = i + Math.floor(Math.random()*(n-i)); - if ( j == i ) - continue; - var tmp = tab[j]; - tab[j] = tab[i]; - tab[i] = tmp; - } - return tab.join(""); -} - -function permuteString(s) { - return s.replace(/[A-Za-zÀ-ÿ]+/g, permuteWord); -} - -function permuteDoc(doc) { - var body = doc.body; - var walker = doc.createTreeWalker(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, null, false); - var node = walker.nextNode(); - while ( node ) { - if ( node.nodeType == Node.TEXT_NODE ) { - var thisnode = node; - node = walker.nextNode(); - var str = permuteString(thisnode.nodeValue); - thisnode.parentNode.replaceChild(doc.createTextNode(str), thisnode); - } else if ( node.nodeType == Node.ELEMENT_NODE - && ( node.localName == "pre" - || node.localName == "code" - || node.localName == "script" - || node.localName == "style" ) ) { - do { - node = walker.nextSibling(); - if ( node ) - break; - node = walker.parentNode(); - if ( ! node ) - break; - } while ( true ); - } else - node = walker.nextNode(); - } -} - -function onLoad() { - // Start with some bugware... - try { - textNodeType = Node.TEXT_NODE; - } catch (exn) { // Your DOM is BROKEN! - textNodeType = 3; - } - // Now despam email adresses. - despam(); -} diff --git a/org/madore/damlengine/weblog-cat-template.daml b/org/madore/damlengine/weblog-cat-template.daml deleted file mode 100644 index d6ef3c8..0000000 --- a/org/madore/damlengine/weblog-cat-template.daml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!DOCTYPE d:daml [ - <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; - <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; - <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; - <!ENTITY uri-to-top "../"> - <!ENTITY file.language "en"> - <!ENTITY my-email "<d:email-despammed xmlns:d='http://www.madore.org/~david/NS/daml/'>david+www<d:email-at />madore<d:email-dot />org</d:email-despammed>"> -]> - -<d:daml xml:lang="&file.language;" uri-to-top="&uri-to-top;" xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.madore.org/~david/NS/daml/"> - -<d:title>David Madore's WebLog: <d:weblog-selection-cat-name /></d:title> - -<d:meta-description>David Alexander Madore's WebLog / Diary</d:meta-description> - -<d:meta-keywords>David Alexander Madore, WebLog, diary</d:meta-keywords> - -<link rel="alternate" type="application/rss+xml" title="RSS" href="weblog.rss" /> - -<d:body> - -<p>This WebLog is bilingual, some entries are in English and others -are in French. A few of them have a version in either language. -Other than that, the French entries are <em>not</em> translations of -the English ones or vice versa. Of course, if you understand only -English, the English entries ought to be quite understandable without -reading the French ones.</p> - -<p xml:lang="fr">Ce WebLog est bilingue, certaines entrées sont en -anglais et d'autres sont en français. Quelques-unes ont une version -dans chaque langue. À part ça, les entrées en français <em>ne</em> -sont <em>pas</em> des traductions de celles en anglais ou vice versa. -Bien sûr, si vous ne comprenez que le français, les entrées en -français devraient être assez compréhensibles sans lire celles en -anglais.</p> - -<p>Note that the first entry -comes <a d:wref="#d.2003-05-01.0001">last</a>! -/ <span xml:lang="fr">Notez que la première entrée vient -en <a d:wref="#d.2003-05-01.0001">dernier</a> !</span></p> - -<p><a href="weblog-index.html#index">Index of all entries / -<span xml:lang="fr">Index de toutes les entrées</span></a> • <a -href="weblog.rss" rel="alternate" type="application/rss+xml" -title="RSS"><img src="&uri-to-top;images/xml.gif" alt="XML" width="36" -height="14" /></a> (<abbr>RSS</abbr> 1.0) • <a -href="http://www.madore.org/cgi-bin/comment.pl/lscomments">Recent -comments / <span xml:lang="fr">Commentaires -récents</span></a></p> - -<div class="cleared-right" d:xempty="xempty" /> - -<p>Entries with category <q><d:weblog-selection-cat-code /></q> -/ <span xml:lang="fr">Entrées de la -catégorie <q><d:weblog-selection-cat-code /></q></span>:</p> - -<d:weblog-select /> - -</d:body> - -</d:daml> diff --git a/org/madore/damlengine/weblog-index-template.daml b/org/madore/damlengine/weblog-index-template.daml deleted file mode 100644 index 1c9f0ed..0000000 --- a/org/madore/damlengine/weblog-index-template.daml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!DOCTYPE d:daml [ - <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; - <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; - <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; - <!ENTITY uri-to-top "../"> - <!ENTITY file.language "en"> - <!ENTITY my-email "<d:email-despammed xmlns:d='http://www.madore.org/~david/NS/daml/'>david+www<d:email-at />madore<d:email-dot />org</d:email-despammed>"> -]> - -<d:daml xml:lang="&file.language;" uri-to-top="&uri-to-top;" xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.madore.org/~david/NS/daml/"> - -<d:title>David Madore's WebLog: index</d:title> - -<d:meta-description>David Alexander Madore's WebLog / Diary</d:meta-description> - -<d:meta-keywords>David Alexander Madore, WebLog, diary</d:meta-keywords> - -<link rel="alternate" type="application/rss+xml" title="RSS" href="weblog.rss" /> - -<d:body> - -<p>This WebLog is bilingual, some entries are in English and others -are in French. A few of them have a version in either language. -Other than that, the French entries are <em>not</em> translations of -the English ones or vice versa. Of course, if you understand only -English, the English entries ought to be quite understandable without -reading the French ones.</p> - -<p xml:lang="fr">Ce WebLog est bilingue, certaines entrées sont en -anglais et d'autres sont en français. Quelques-unes ont une version -dans chaque langue. À part ça, les entrées en français <em>ne</em> -sont <em>pas</em> des traductions de celles en anglais ou vice versa. -Bien sûr, si vous ne comprenez que le français, les entrées en -français devraient être assez compréhensibles sans lire celles en -anglais.</p> - -<p>Note that the first entry -comes <a d:wref="#d.2003-05-01.0001">last</a>! -/ <span xml:lang="fr">Notez que la première entrée vient -en <a d:wref="#d.2003-05-01.0001">dernier</a> !</span></p> - -<p><a href="weblog-index.html#index">Index of all entries / -<span xml:lang="fr">Index de toutes les entrées</span></a> • <a -href="weblog.rss" rel="alternate" type="application/rss+xml" -title="RSS"><img src="&uri-to-top;images/xml.gif" alt="XML" width="36" -height="14" /></a> (<abbr>RSS</abbr> 1.0) • <a -href="http://www.madore.org/cgi-bin/comment.pl/lscomments">Recent -comments / <span xml:lang="fr">Commentaires -récents</span></a></p> - -<d:weblog-index-select /> - -</d:body> - -</d:daml> diff --git a/org/madore/damlengine/weblog-month-template.daml b/org/madore/damlengine/weblog-month-template.daml deleted file mode 100644 index 0ba3c17..0000000 --- a/org/madore/damlengine/weblog-month-template.daml +++ /dev/null @@ -1,231 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!DOCTYPE d:daml [ - <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; - <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; - <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; - <!ENTITY uri-to-top "../"> - <!ENTITY file.language "en"> - <!ENTITY my-email "<d:email-despammed xmlns:d='http://www.madore.org/~david/NS/daml/'>david+www<d:email-at />madore<d:email-dot />org</d:email-despammed>"> -]> - -<d:daml xml:lang="&file.language;" uri-to-top="&uri-to-top;" xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.madore.org/~david/NS/daml/"> - -<d:title>David Madore's WebLog: <d:weblog-selection-month-year />-<d:weblog-selection-month-month /></d:title> - -<d:meta-description>David Alexander Madore's WebLog / Diary</d:meta-description> - -<d:meta-keywords>David Alexander Madore, WebLog, diary</d:meta-keywords> - -<link rel="alternate" type="application/rss+xml" title="RSS" href="weblog.rss" /> - -<d:body> - -<p>This WebLog is bilingual, some entries are in English and others -are in French. A few of them have a version in either language. -Other than that, the French entries are <em>not</em> translations of -the English ones or vice versa. Of course, if you understand only -English, the English entries ought to be quite understandable without -reading the French ones.</p> - -<p xml:lang="fr">Ce WebLog est bilingue, certaines entrées sont en -anglais et d'autres sont en français. Quelques-unes ont une version -dans chaque langue. À part ça, les entrées en français <em>ne</em> -sont <em>pas</em> des traductions de celles en anglais ou vice versa. -Bien sûr, si vous ne comprenez que le français, les entrées en -français devraient être assez compréhensibles sans lire celles en -anglais.</p> - -<p>Note that the first entry -comes <a d:wref="#d.2003-05-01.0001">last</a>! -/ <span xml:lang="fr">Notez que la première entrée vient -en <a d:wref="#d.2003-05-01.0001">dernier</a> !</span></p> - -<p><a href="weblog-index.html#index">Index of all entries / -<span xml:lang="fr">Index de toutes les entrées</span></a> • <a -href="weblog.rss" rel="alternate" type="application/rss+xml" -title="RSS"><img src="&uri-to-top;images/xml.gif" alt="XML" width="36" -height="14" /></a> (<abbr>RSS</abbr> 1.0) • <a -href="http://www.madore.org/cgi-bin/comment.pl/lscomments">Recent -comments / <span xml:lang="fr">Commentaires -récents</span></a></p> - -<div class="cleared-right" d:xempty="xempty" /> - -<p>Entries of month -<d:weblog-selection-month-year />-<d:weblog-selection-month-month /> -/ <span xml:lang="fr">Entrées du mois -<d:weblog-selection-month-year />-<d:weblog-selection-month-month /></span>:</p> - -<d:weblog-select /> - -<p><a d:wxref="##weblog-selection-older">Continue to older -entries.</a> -/ <span xml:lang="fr"><a d:wxref="##weblog-selection-older">Continuer -à lire les entrées plus anciennes.</a></span></p> - -<hr /> - -<p>Entries by month / <span xml:lang="fr">Entrées par mois</span>:</p> - -<table border="1"> - -<tr><th>2014</th><td><a href="2014-01.html">Jan 2014</a></td><td><a -href="2014-02.html">Feb 2014</a></td><td><a -href="2014-03.html">Mar 2014</a></td><td><a -href="2014-04.html">Apr 2014</a></td><td><a -href="2014-05.html">May 2014</a></td><td><a -href="2014-06.html">Jun 2014</a></td><td><a -href="2014-07.html">Jul 2014</a></td><td><a -href="2014-08.html">Aug 2014</a></td><td><a -href="2014-09.html">Sep 2014</a></td><td><a -href="2014-10.html">Oct 2014</a></td><td colspan="2" /></tr> - -<tr><th>2013</th><td><a href="2013-01.html">Jan 2013</a></td><td><a -href="2013-02.html">Feb 2013</a></td><td><a -href="2013-03.html">Mar 2013</a></td><td><a -href="2013-04.html">Apr 2013</a></td><td><a -href="2013-05.html">May 2013</a></td><td><a -href="2013-06.html">Jun 2013</a></td><td><a -href="2013-07.html">Jul 2013</a></td><td><a -href="2013-08.html">Aug 2013</a></td><td><a -href="2013-09.html">Sep 2013</a></td><td><a -href="2013-10.html">Oct 2013</a></td><td><a -href="2013-11.html">Nov 2013</a></td><td><a -href="2013-12.html">Dec 2013</a></td></tr> - -<tr><th>2012</th><td><a href="2012-01.html">Jan 2012</a></td><td><a -href="2012-02.html">Feb 2012</a></td><td><a -href="2012-03.html">Mar 2012</a></td><td><a -href="2012-04.html">Apr 2012</a></td><td><a -href="2012-05.html">May 2012</a></td><td><a -href="2012-06.html">Jun 2012</a></td><td><a -href="2012-07.html">Jul 2012</a></td><td><a -href="2012-08.html">Aug 2012</a></td><td><a -href="2012-09.html">Sep 2012</a></td><td><a -href="2012-10.html">Oct 2012</a></td><td><a -href="2012-11.html">Nov 2012</a></td><td><a -href="2012-12.html">Dec 2012</a></td></tr> - -<tr><th>2011</th><td><a href="2011-01.html">Jan 2011</a></td><td><a -href="2011-02.html">Feb 2011</a></td><td><a -href="2011-03.html">Mar 2011</a></td><td><a -href="2011-04.html">Apr 2011</a></td><td><a -href="2011-05.html">May 2011</a></td><td><a -href="2011-06.html">Jun 2011</a></td><td><a -href="2011-07.html">Jul 2011</a></td><td><a -href="2011-08.html">Aug 2011</a></td><td><a -href="2011-09.html">Sep 2011</a></td><td><a -href="2011-10.html">Oct 2011</a></td><td><a -href="2011-11.html">Nov 2011</a></td><td><a -href="2011-12.html">Dec 2011</a></td></tr> - -<tr><th>2010</th><td><a href="2010-01.html">Jan 2010</a></td><td><a -href="2010-02.html">Feb 2010</a></td><td><a -href="2010-03.html">Mar 2010</a></td><td><a -href="2010-04.html">Apr 2010</a></td><td><a -href="2010-05.html">May 2010</a></td><td><a -href="2010-06.html">Jun 2010</a></td><td><a -href="2010-07.html">Jul 2010</a></td><td><a -href="2010-08.html">Aug 2010</a></td><td><a -href="2010-09.html">Sep 2010</a></td><td><a -href="2010-10.html">Oct 2010</a></td><td><a -href="2010-11.html">Nov 2010</a></td><td><a -href="2010-12.html">Dec 2010</a></td></tr> - -<tr><th>2009</th><td><a href="2009-01.html">Jan 2009</a></td><td><a -href="2009-02.html">Feb 2009</a></td><td><a -href="2009-03.html">Mar 2009</a></td><td><a -href="2009-04.html">Apr 2009</a></td><td><a -href="2009-05.html">May 2009</a></td><td><a -href="2009-06.html">Jun 2009</a></td><td><a -href="2009-07.html">Jul 2009</a></td><td><a -href="2009-08.html">Aug 2009</a></td><td><a -href="2009-09.html">Sep 2009</a></td><td><a -href="2009-10.html">Oct 2009</a></td><td><a -href="2009-11.html">Nov 2009</a></td><td><a -href="2009-12.html">Dec 2009</a></td></tr> - -<tr><th>2008</th><td><a href="2008-01.html">Jan 2008</a></td><td><a -href="2008-02.html">Feb 2008</a></td><td><a -href="2008-03.html">Mar 2008</a></td><td><a -href="2008-04.html">Apr 2008</a></td><td><a -href="2008-05.html">May 2008</a></td><td><a -href="2008-06.html">Jun 2008</a></td><td><a -href="2008-07.html">Jul 2008</a></td><td><a -href="2008-08.html">Aug 2008</a></td><td><a -href="2008-09.html">Sep 2008</a></td><td><a -href="2008-10.html">Oct 2008</a></td><td><a -href="2008-11.html">Nov 2008</a></td><td><a -href="2008-12.html">Dec 2008</a></td></tr> - -<tr><th>2007</th><td><a href="2007-01.html">Jan 2007</a></td><td><a -href="2007-02.html">Feb 2007</a></td><td><a -href="2007-03.html">Mar 2007</a></td><td><a -href="2007-04.html">Apr 2007</a></td><td><a -href="2007-05.html">May 2007</a></td><td><a -href="2007-06.html">Jun 2007</a></td><td><a -href="2007-07.html">Jul 2007</a></td><td><a -href="2007-08.html">Aug 2007</a></td><td><a -href="2007-09.html">Sep 2007</a></td><td><a -href="2007-10.html">Oct 2007</a></td><td><a -href="2007-11.html">Nov 2007</a></td><td><a -href="2007-12.html">Dec 2007</a></td></tr> - -<tr><th>2006</th><td><a href="2006-01.html">Jan 2006</a></td><td><a -href="2006-02.html">Feb 2006</a></td><td><a -href="2006-03.html">Mar 2006</a></td><td><a -href="2006-04.html">Apr 2006</a></td><td><a -href="2006-05.html">May 2006</a></td><td><a -href="2006-06.html">Jun 2006</a></td><td><a -href="2006-07.html">Jul 2006</a></td><td><a -href="2006-08.html">Aug 2006</a></td><td><a -href="2006-09.html">Sep 2006</a></td><td><a -href="2006-10.html">Oct 2006</a></td><td><a -href="2006-11.html">Nov 2006</a></td><td><a -href="2006-12.html">Dec 2006</a></td></tr> - -<tr><th>2005</th><td><a href="2005-01.html">Jan 2005</a></td><td><a -href="2005-02.html">Feb 2005</a></td><td><a -href="2005-03.html">Mar 2005</a></td><td><a -href="2005-04.html">Apr 2005</a></td><td><a -href="2005-05.html">May 2005</a></td><td><a -href="2005-06.html">Jun 2005</a></td><td><a -href="2005-07.html">Jul 2005</a></td><td><a -href="2005-08.html">Aug 2005</a></td><td><a -href="2005-09.html">Sep 2005</a></td><td><a -href="2005-10.html">Oct 2005</a></td><td><a -href="2005-11.html">Nov 2005</a></td><td><a -href="2005-12.html">Dec 2005</a></td></tr> - -<tr><th>2004</th><td><a href="2004-01.html">Jan 2004</a></td><td><a -href="2004-02.html">Feb 2004</a></td><td><a -href="2004-03.html">Mar 2004</a></td><td><a -href="2004-04.html">Apr 2004</a></td><td><a -href="2004-05.html">May 2004</a></td><td><a -href="2004-06.html">Jun 2004</a></td><td><a -href="2004-07.html">Jul 2004</a></td><td><a -href="2004-08.html">Aug 2004</a></td><td><a -href="2004-09.html">Sep 2004</a></td><td><a -href="2004-10.html">Oct 2004</a></td><td><a -href="2004-11.html">Nov 2004</a></td><td><a -href="2004-12.html">Dec 2004</a></td></tr> - -<tr><th>2003</th><td colspan="4" /><td><a -href="2003-05.html">May 2003</a></td><td><a -href="2003-06.html">Jun 2003</a></td><td><a -href="2003-07.html">Jul 2003</a></td><td><a -href="2003-08.html">Aug 2003</a></td><td><a -href="2003-09.html">Sep 2003</a></td><td><a -href="2003-10.html">Oct 2003</a></td><td><a -href="2003-11.html">Nov 2003</a></td><td><a -href="2003-12.html">Dec 2003</a></td></tr> - -</table> - -</d:body> - -</d:daml> diff --git a/org/madore/damlengine/weblog-recent-template.daml b/org/madore/damlengine/weblog-recent-template.daml deleted file mode 100644 index 05d986a..0000000 --- a/org/madore/damlengine/weblog-recent-template.daml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!DOCTYPE d:daml [ - <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; - <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; - <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; - <!ENTITY uri-to-top "../"> - <!ENTITY file.language "en"> - <!ENTITY my-email "<d:email-despammed xmlns:d='http://www.madore.org/~david/NS/daml/'>david+www<d:email-at />madore<d:email-dot />org</d:email-despammed>"> -]> - -<d:daml xml:lang="&file.language;" uri-to-top="&uri-to-top;" xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.madore.org/~david/NS/daml/"> - -<d:title>David Madore's WebLog</d:title> - -<d:meta-description>David Alexander Madore's WebLog / Diary</d:meta-description> - -<d:meta-keywords>David Alexander Madore, WebLog, diary</d:meta-keywords> - -<link rel="alternate" type="application/rss+xml" title="RSS" href="weblog.rss" /> - -<d:extra-script> -// <![CDATA[Addition for this page: redirect to permalink if fragment not found -function checkFragment(e) { - var frag = location.hash; - var match = /^\#(d\.(\d{4}\-\d{2})\-\d{2}\.\d{4}(?:$|\..*))$/.exec(frag); - if ( match && ! document.getElementById(match[1]) ) { - location.href = match[2] + ".html" + frag; - } -} -window.addEventListener("load", checkFragment, false); -// ]]> -</d:extra-script> - -<d:body> - -<p>This WebLog is bilingual, some entries are in English and others -are in French. A few of them have a version in either language. -Other than that, the French entries are <em>not</em> translations of -the English ones or vice versa. Of course, if you understand only -English, the English entries ought to be quite understandable without -reading the French ones.</p> - -<p xml:lang="fr">Ce WebLog est bilingue, certaines entrées sont en -anglais et d'autres sont en français. Quelques-unes ont une version -dans chaque langue. À part ça, les entrées en français <em>ne</em> -sont <em>pas</em> des traductions de celles en anglais ou vice versa. -Bien sûr, si vous ne comprenez que le français, les entrées en -français devraient être assez compréhensibles sans lire celles en -anglais.</p> - -<p>Note that the first entry comes <a -d:wref="#d.2003-05-01.0001">last</a>! <span xml:lang="fr">Notez que la -première entrée vient en <a -d:wref="#d.2003-05-01.0001">dernier</a> !</span></p> - -<p><a href="weblog-index.html#index">Index of all entries / -<span xml:lang="fr">Index de toutes les entrées</span></a> • <a -href="weblog.rss" rel="alternate" type="application/rss+xml" -title="RSS"><img src="&uri-to-top;images/xml.gif" alt="XML" width="36" -height="14" /></a> (<abbr>RSS</abbr> 1.0) • <a -href="http://www.madore.org/cgi-bin/comment.pl/lscomments">Recent -comments / <span xml:lang="fr">Commentaires -récents</span></a></p> - -<div class="cleared-right" d:xempty="xempty" /> - -<d:weblog-select /> - -<p>Only the <d:weblog-selection-recent-count /> most recent entries -were included above. <a d:wxref="##weblog-selection-older">Continue -to older entries.</a></p> - -<p xml:lang="fr">Seules les <d:weblog-selection-recent-count /> plus -récentes entrées ont été incluses -ici. <a d:wxref="##weblog-selection-older">Continuer à lire les -entrées plus anciennes.</a></p> - -</d:body> - -</d:daml> diff --git a/org/madore/damlengine/weblog-single-template.daml b/org/madore/damlengine/weblog-single-template.daml deleted file mode 100644 index 7ee2d80..0000000 --- a/org/madore/damlengine/weblog-single-template.daml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<!DOCTYPE d:daml [ - <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; - <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; - <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; - <!ENTITY uri-to-top "../"> - <!ENTITY file.language "en"> - <!ENTITY my-email "<d:email-despammed xmlns:d='http://www.madore.org/~david/NS/daml/'>david+www<d:email-at />madore<d:email-dot />org</d:email-despammed>"> -]> - -<d:daml xml:lang="&file.language;" uri-to-top="&uri-to-top;" xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.madore.org/~david/NS/daml/"> - -<d:title>David Madore's WebLog: <d:weblog-selection-single-title /></d:title> - -<d:meta-description>David Alexander Madore's WebLog / Diary</d:meta-description> - -<d:meta-keywords>David Alexander Madore, WebLog, diary</d:meta-keywords> - -<link rel="alternate" type="application/rss+xml" title="RSS" href="weblog.rss" /> - -<d:body> - -<p><a href="weblog-index.html#index">Index of all entries / -<span xml:lang="fr">Index de toutes les entrées</span></a> • <a -href="weblog.rss" rel="alternate" type="application/rss+xml" -title="RSS"><img src="&uri-to-top;images/xml.gif" alt="XML" width="36" -height="14" /></a> (<abbr>RSS</abbr> 1.0) • <a -href="http://www.madore.org/cgi-bin/comment.pl/lscomments">Recent -comments / <span xml:lang="fr">Commentaires -récents</span></a></p> - -<div class="cleared-right" d:xempty="xempty" /> - -<p>Entry #<d:weblog-selection-single-number /> -/ <span xml:lang="fr">Entrée #<d:weblog-selection-single-number /></span>:</p> - -<d:weblog-select /> - -<p><a href=".">Recent entries / <span xml:lang="fr">Entrées -récentes</span></a> • <a href="weblog-index.html#index">Index of all -entries / -<span xml:lang="fr">Index de toutes les entrées</span></a></p> - -</d:body> - -</d:daml> |