From ae402342fe5736d74cf86e21c642abbb0805ff83 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 25 Jan 2020 10:09:57 +0100 Subject: Web: Extract base template. Change-Id: I20a4fbb04aa75a94f96617b0c4d1be00ab3e4aca --- .../eu/mulk/mulkcms2/benki/wiki/WikiResource.java | 24 +++++++------ src/main/resources/templates/base.html | 15 ++++++++ .../resources/templates/benki/wiki/wikiPage.html | 42 ++++++++++------------ 3 files changed, 46 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/templates/base.html diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java index ebed4e2..714b785 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java @@ -4,6 +4,7 @@ import static javax.ws.rs.core.MediaType.TEXT_HTML; import io.quarkus.panache.common.Sort; import io.quarkus.qute.Template; +import io.quarkus.qute.TemplateExtension; import io.quarkus.qute.TemplateInstance; import io.quarkus.qute.api.ResourcePath; import io.quarkus.security.Authenticated; @@ -11,6 +12,7 @@ import io.quarkus.security.identity.SecurityIdentity; import io.smallrye.jwt.auth.principal.JWTCallerPrincipal; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; +import java.time.temporal.TemporalAccessor; import java.util.Map; import java.util.Optional; import javax.inject.Inject; @@ -55,17 +57,7 @@ public class WikiResource { throw new NotFoundException(); } var page = maybePage.get(); - return wikiPage - .data("title", page.title) - .data( - "date", - Map.of( - "htmlFormat", htmlDateFormatter.format(page.date), - "humanFormat", humanDateFormatter.format(page.date))) - .data( - "author", - Map.of("name", String.format("%s %s", page.author.firstName, page.author.lastName))) - .data("content", page.content); + return wikiPage.data("page", page); } @POST @@ -85,4 +77,14 @@ public class WikiResource { public TemplateInstance getPageRevisions(@PathParam("pageName") String pageName) { throw new NotImplementedYetException(); } + + @TemplateExtension + static String humanDateTime(TemporalAccessor x) { + return humanDateFormatter.format(x); + } + + @TemplateExtension + static String htmlDateTime(TemporalAccessor x) { + return htmlDateFormatter.format(x); + } } diff --git a/src/main/resources/templates/base.html b/src/main/resources/templates/base.html new file mode 100644 index 0000000..8fefe31 --- /dev/null +++ b/src/main/resources/templates/base.html @@ -0,0 +1,15 @@ + + + + + + {#insert title}{/} + + + + + + +{#insert body}{/} + + diff --git a/src/main/resources/templates/benki/wiki/wikiPage.html b/src/main/resources/templates/benki/wiki/wikiPage.html index 865d3ba..7caf94d 100644 --- a/src/main/resources/templates/benki/wiki/wikiPage.html +++ b/src/main/resources/templates/benki/wiki/wikiPage.html @@ -1,28 +1,22 @@ - - - - +{@eu.mulk.mulkcms2.benki.wiki.WikiPageRevision page} - {title} — Benki Wiki +{#include base.html} +{#title}{page.title} — Benki Wiki{/title} +{#body} +
+
+

{page.title}

+
- - +
+ {#with page}{content.raw}{/} +
- - - - + +
+{/body} +{/include} -- cgit v1.2.3