Search in sources :

Example 1 with StreamHtmlBuilder

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;
    }
}
Also used : StreamHtmlBuilder(com.google.gitiles.doc.html.StreamHtmlBuilder) HashMap(java.util.HashMap) Node(org.commonmark.node.Node) OutputStream(java.io.OutputStream) IOException(java.io.IOException) Writer(java.io.Writer)

Aggregations

StreamHtmlBuilder (com.google.gitiles.doc.html.StreamHtmlBuilder)1 IOException (java.io.IOException)1 OutputStream (java.io.OutputStream)1 Writer (java.io.Writer)1 HashMap (java.util.HashMap)1 Node (org.commonmark.node.Node)1