Nachdem auch die letzte Version meines Next-Prev-Links-Makros einige seltsame Ungereimtheiten zeigte, habe ich es nun komplett neugeschrieben:
def nextprevlinks()
p, n = html.getNextPrev(adrObject)
ntitle, npath = html.getTitleAndPaths(n) if n
ptitle, ppath = html.getTitleAndPaths(p) if p
s = ""
if p
pname = ptitle.gsub(".", "\\.")
s << html.getLink(imageref("arrow-left"), pname)
else
s << imageref("arrow-left-grey")
end
s << " "
if n
nname = ntitle.gsub(".", "\\.")
s << html.getLink(imageref("arrow-right"), nname)
else
s << imageref("arrow-right-grey")
end
"<p>#{s}</p>\n"
end
Das einzige Problem bei dieser Version – die einer Idee Matt Neuburgs folgt – war, daß der Glossary-Mechanismus von RubyFrontier mit Punkten im Titel nicht richtig klarkommt (das ist kein Fehler, sondern ein dokumentiertes Feature) und ein gsub()
im Makro html.getLink()
zu spät greift. Daher wurde die Maskierung des Punktes jeweils in der Zeile davor vorgenommen.