@Override public XmlElement renderSubpageLinks(List<BasePageEntry<?>> subpages) { XmlElement div = new XmlElement("div"); div.addText("Subpages (" + subpages.size() + "):"); for (BasePageEntry<?> subpage : subpages) { String href = subpage.getPageName().getValue() + "/index.html"; div.addText(" "); div.addElement(RendererUtils.getHyperLink(href, subpage.getTitle().getPlainText())); } return div; } }
private XmlElement getSideBar(BaseContentEntry<?> entry, EntryStore entryStore) { XmlElement table = new XmlElement("table"); table.addElement(new XmlElement("tr").addElement(new XmlElement("th") .addText("Navigation").setAttribute("align", "left"))); Set<BasePageEntry<?>> pages = Sets.newTreeSet(titleComparator); pages.addAll(entryStore.getTopLevelEntries()); String pathToRoot = getPathToRoot(entry, entryStore); for (BasePageEntry<?> page : pages) { String text = page.getTitle().getPlainText(); if (page.equals(entry)) { table.addElement(new XmlElement("tr").addElement(new XmlElement("td") .addElement(new XmlElement("small").addText(text)))); } else { String href = pathToRoot + page.getPageName().getValue() + "/index.html"; XmlElement link = new XmlElement("a").addText(text) .setAttribute("href", href); table.addElement(new XmlElement("tr").addElement(new XmlElement("td") .addElement(new XmlElement("small").addElement(link)))); } } return table; }
@Override public void exportRevision(BasePageEntry<?> revision, Appendable out) throws IOException { XmlElement html = new XmlElement("html"); XmlElement head = new XmlElement("head"); XmlElement title = new XmlElement("title"); title.addText(revision.getTitle().getPlainText() + " (Version " + revision.getRevision().getValue() + ")"); html.addElement(head.addElement(title)); XmlElement body = new XmlElement("body"); XmlElement mainDiv = new XmlElement("div"); mainDiv.setAttribute("class", "hentry " + getType(revision).toString()); mainDiv.setAttribute("id", revision.getId()); mainDiv.addElement(titleRenderer.renderTitle(revision)); mainDiv.addElement(revisionRenderer.renderRevision(revision)); if (getType(revision) == LIST_PAGE) { List<ListItemEntry> items = Lists.newArrayList(); // TODO(gk5885): remove extra cast for // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6302214 mainDiv.addElement(listRenderer.renderList((ListPageEntry) revision, items)); } html.addElement(body.addElement(mainDiv)); html.appendTo(out); } }