From 07f2f3c30a6e0bc811e436925dfdfcf5befdecb7 Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Sat, 12 Nov 2011 14:33:35 +0100 Subject: Entry single pages: handle permalinks gracefully, populate with attribute. * A single page is generated from the single-page attribute on element (stored in database as do_single_page). * Permalink refers to the single page. Same from weblog index. Other links are subject to debate (e.g., what about internal links? now we link to single page when link has a supplement part, but this is debatable). --- org/madore/damlengine/TodoEntryElement.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'org/madore/damlengine/TodoEntryElement.java') diff --git a/org/madore/damlengine/TodoEntryElement.java b/org/madore/damlengine/TodoEntryElement.java index c42943c..712e121 100644 --- a/org/madore/damlengine/TodoEntryElement.java +++ b/org/madore/damlengine/TodoEntryElement.java @@ -46,6 +46,7 @@ public final class TodoEntryElement extends TodoDefaultElement { String entryDayStr = entryDateMatcher.group(3); String entryDowStr = node.getAttributeNS(null, "day_of_week"); String entryCatStr = node.getAttributeNS(null, "cat"); + String entryDoSinglePageStr = node.getAttributeNS(null, "single-page"); String entryCdateStr = node.getAttributeNS(null, "cdate"); ArrayList entryCatList; if ( entryCatStr.equals("") ) { @@ -78,9 +79,16 @@ public final class TodoEntryElement extends TodoDefaultElement { header.appendChild(ctx.doc.createTextNode("\n")); Element permalink = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "a"); - permalink.setAttributeNS(null, "href", - entryYearStr+"-"+entryMonthStr+".html" - +"#"+entryIdStr); + if ( entryDoSinglePageStr.equals("") ) + permalink.setAttributeNS(null, "href", + entryYearStr+"-"+entryMonthStr+".html" + +"#"+entryIdStr); + else + permalink.setAttributeNS(null, "href", + entryYearStr+"-"+entryMonthStr + +"-"+entryDayStr+"-"+entryDoSinglePageStr + +".html" + +"#"+entryIdStr); permalink.setAttributeNS(null, "rel", "bookmark"); Element time = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "time"); permalink.appendChild(time); -- cgit v1.2.3