Repository: incubator-juneau Updated Branches: refs/heads/master addeb00ed -> e71a83b9d
JUNEAU-58 Embed HTML in @HtmlDoc.description Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/e71a83b9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/e71a83b9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/e71a83b9 Branch: refs/heads/master Commit: e71a83b9d26beda93f25753ff845bf2d8c4c46d1 Parents: addeb00 Author: JamesBognar <[email protected]> Authored: Sun Jun 25 10:38:13 2017 -0400 Committer: JamesBognar <[email protected]> Committed: Sun Jun 25 10:38:13 2017 -0400 ---------------------------------------------------------------------- .../juneau/html/HtmlDocTemplateBasic.java | 6 ++-- .../org/apache/juneau/internal/StringUtils.java | 2 +- juneau-core/src/main/javadoc/overview.html | 4 +++ .../apache/juneau/rest/annotation/HtmlDoc.java | 16 +++++++++-- .../org/apache/juneau/rest/styles/devops.css | 30 ++++++-------------- 5 files changed, 29 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e71a83b9/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java index 3088e9c..67fb799 100644 --- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java +++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java @@ -42,7 +42,7 @@ public class HtmlDocTemplateBasic implements HtmlDocTemplate { w.append(2, "@import ").q().append(cssUrl).q().appendln(";"); if (session.isNoWrap()) - w.appendln("\n* {white-space:nowrap;}"); + w.appendln("\ndiv.data * {white-space:nowrap;}"); if (session.getCss() != null) for (String css : session.getCss()) w.appendln(css); @@ -96,9 +96,9 @@ public class HtmlDocTemplateBasic implements HtmlDocTemplate { String description = session.getDescription(); String branding = session.getBranding(); if (exists(title)) - w.oTag(3, "h3").attr("class", "title").append('>').text(title).eTag("h3").nl(3); + w.oTag(3, "h3").attr("class", "title").append('>').append(title).eTag("h3").nl(3); if (exists(description)) - w.oTag(3, "h5").attr("class", "description").append('>').text(description).eTag("h5").nl(3); + w.oTag(3, "h5").attr("class", "description").append('>').append(description).eTag("h5").nl(3); if (exists(branding)) w.append(3, branding).nl(3); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e71a83b9/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java b/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java index b63875f..f7f1462 100644 --- a/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java +++ b/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java @@ -1585,7 +1585,7 @@ public final class StringUtils { * @return The formatted string. */ public static String format(String pattern, Object...args) { - if (args.length == 0) + if (args == null || args.length == 0) return pattern; for (int i = 0; i < args.length; i++) args[i] = convertToReadable(args[i]); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e71a83b9/juneau-core/src/main/javadoc/overview.html ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/javadoc/overview.html b/juneau-core/src/main/javadoc/overview.html index 3f17bc7..310cd26 100644 --- a/juneau-core/src/main/javadoc/overview.html +++ b/juneau-core/src/main/javadoc/overview.html @@ -6190,6 +6190,8 @@ <ul class='spaced-list'> <li>{@link org.apache.juneau.rest.widget.QueryWidget} improvements. <br>Fields are prefilled with current search arguments. + <li>Bug fix with {@link org.apache.juneau.rest.annotation.HtmlDoc#nowrap()} so that the setting only applies + to the data contents, not the whole page. <li>Two convenience methods added to {@link org.apache.juneau.rest.RestRequest}: <ul> <li>{@link org.apache.juneau.rest.RestRequest#attr(String,Object) attr(String,Object)} @@ -6200,6 +6202,8 @@ <li>{@link org.apache.juneau.rest.annotation.RestResource#flags()} <li>{@link org.apache.juneau.rest.annotation.RestMethod#flags()} </ul> + <li>{@link org.apache.juneau.rest.annotation.HtmlDoc#title()} and {@link org.apache.juneau.rest.annotation.HtmlDoc#description()} + can now take HTML (phrasing content only since it's still inside H3 and H5 tags). </ul> </div> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e71a83b9/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java b/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java index ed84224..83d50b8 100644 --- a/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java +++ b/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java @@ -51,7 +51,9 @@ import org.apache.juneau.rest.*; * </head> * <body> * <header> - * <xv>Page title and description</xv> + * <h3 <xa>class</xa>=<xs>'title'</xs>><xv>Page title</xv></h3> + * <h5 <xa>class</xa>=<xs>'description'</xs>><xv>Page description</xv></h5> + * <xv>Arbitrary page branding</xv> * </header> * <nav> * <xv>Page links</xv> @@ -74,7 +76,7 @@ public @interface HtmlDoc { /** * Sets the HTML page title in the header section of the page generated by the default HTML doc template. * <p> - * The format of this value is plain text. + * The format of this value is HTML (phrasing content only). * <p> * It gets wrapped in a <code><xt><h3> <xa>class</xa>=<xs>'title'</xs>></xt></code> element and then added * to the <code><xt><header></code> section on the page. @@ -98,6 +100,9 @@ public @interface HtmlDoc { * page title. * However, this annotation is provided in cases where you want the page title to be different that the one * shown in the swagger document. + * <li class='info'> + * The entire header section can be rendered with arbitrary HTML using {@link #header()}. + * This annotation is ignored when the {@link #header()} annotation is specified. * </ul> * <p> * The programmatic equivalent to this annotation are the {@link RestConfig#setHtmlTitle(String)}/{@link RestResponse#setHtmlTitle(Object)} methods. @@ -107,7 +112,7 @@ public @interface HtmlDoc { /** * Sets the HTML page subtitle in the header section of the page generated by the default HTML doc template. * <p> - * The format of this value is plain text. + * The format of this value is HTML (phrasing content only). * <p> * It gets wrapped in a <code><xt><h5> <xa>class</xa>=<xs>'description'</xs>></xt></code> element and then * added to the <code><xt><header></code> section on the page. @@ -133,6 +138,9 @@ public @interface HtmlDoc { * <code>@RestMethod(summary)</code> annotations to specify the page text. * However, this annotation is provided in cases where you want the text to be different that the values shown * in the swagger document. + * <li class='info'> + * The entire header section can be rendered with arbitrary HTML using {@link #header()}. + * This annotation is ignored when the {@link #header()} annotation is specified. * </ul> * <p> * The programmatic equivalent to this annotation are the {@link RestConfig#setHtmlDescription(String)}/{@link RestResponse#setHtmlDescription(Object)} methods. @@ -333,6 +341,8 @@ public @interface HtmlDoc { /** * Shorthand method for forcing the rendered HTML content to be no-wrap. + * <p> + * This only applies to the rendered data portion of the page. */ boolean nowrap() default false; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e71a83b9/juneau-rest/src/main/resources/org/apache/juneau/rest/styles/devops.css ---------------------------------------------------------------------- diff --git a/juneau-rest/src/main/resources/org/apache/juneau/rest/styles/devops.css b/juneau-rest/src/main/resources/org/apache/juneau/rest/styles/devops.css index 4f43617..c0e5b52 100644 --- a/juneau-rest/src/main/resources/org/apache/juneau/rest/styles/devops.css +++ b/juneau-rest/src/main/resources/org/apache/juneau/rest/styles/devops.css @@ -72,22 +72,26 @@ footer { /* Title */ h3.title { - color: white; margin: 0px; padding: 10px 20px; + border-bottom: 2px solid #34534B; +} +h3.title, h3.title * { + color: white; text-decoration: none; font-weight: normal; - border-bottom: 2px solid #34534B; } /* Description */ h5.description { - color: #B3B3B3; margin: 0; padding: 10px 20px; + border-bottom: 2px solid #34534B; +} +h5.description, h5.description * { + color: #B3B3B3; text-decoration: none; font-weight: normal; - border-bottom: 2px solid #34534B; } /************************************************************************************/ @@ -146,24 +150,6 @@ div.data th, .header { background-color: #F4F6F9; } -button { - border-left:1px solid #A1AFAC; - border-top:1px solid #A1AFAC; - color: white; - font-size: 9pt; - background: #00B299; - font-weight: bold; - padding: 5px 20px; - border-radius: 5px; - text-transform: uppercase; - margin-left: 10px; -} - -button:hover { - background-image: none; - background-color: #66D1C2; -} - div.data ul { margin:0px; padding-left:20px;
