use of com.google.gitiles.doc.html.StreamHtmlBuilder in project gitiles by GerritCodeReview.
the class DocServlet method showDoc.
private void showDoc(HttpServletRequest req, HttpServletResponse res, GitilesView view, MarkdownToHtml.Builder fmt, Navbar navbar, MarkdownFile srcFile) throws IOException {
Map<String, Object> data = new HashMap<>();
data.putAll(navbar.toSoyData());
MarkdownConfig cfg = navbar.getConfig();
Node doc = GitilesMarkdown.parse(cfg, srcFile.consumeContent());
data.put("pageTitle", pageTitle(doc, srcFile));
if (view.getType() != GitilesView.Type.ROOTED_DOC) {
data.put("sourceUrl", GitilesView.show().copyFrom(view).toUrl());
data.put("logUrl", GitilesView.log().copyFrom(view).toUrl());
data.put("blameUrl", GitilesView.blame().copyFrom(view).toUrl());
}
if (cfg.analyticsId != null) {
data.put("analyticsId", cfg.analyticsId);
}
try (OutputStream out = startRenderCompressedStreamingHtml(req, res, SOY_TEMPLATE, data)) {
Writer w = newWriter(out, res);
fmt.setConfig(cfg).setFilePath(srcFile.path).build().renderToHtml(new StreamHtmlBuilder(w), doc);
w.flush();
} catch (RuntimeIOException e) {
Throwables.throwIfInstanceOf(e.getCause(), IOException.class);
throw e;
}
}
Aggregations