From 369e698b0761a0c0abb460e92d680ae441374422 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sun, 26 Apr 2020 13:14:21 +0200 Subject: KB54 Group posts by date, use floating to make style sheet even more compact. Change-Id: I41346eb51481d4c2c4e7066373fba5b7073e3e4f --- .../eu/mulk/mulkcms2/benki/posts/PostResource.java | 31 +++++++++- .../resources/META-INF/resources/cms2/base.css | 65 ++++++++++++++++++--- .../resources/templates/benki/posts/postList.html | 68 ++++++++++++---------- 3 files changed, 122 insertions(+), 42 deletions(-) (limited to 'src') diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java index 92e2f4e..1fa7a26 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java @@ -61,11 +61,18 @@ public abstract class PostResource { private static final Logger log = Logger.getLogger(PostResource.class); - private static final DateTimeFormatter htmlDateFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; + private static final DateTimeFormatter htmlDateTimeFormatter = + DateTimeFormatter.ISO_OFFSET_DATE_TIME; - private static final DateTimeFormatter humanDateFormatter = + private static final DateTimeFormatter humanDateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG, FormatStyle.SHORT); + private static final DateTimeFormatter htmlDateFormatter = + DateTimeFormatter.ISO_LOCAL_DATE; + + private static final DateTimeFormatter humanDateFormatter = + DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG); + private static final int pageKeyBytes = 32; protected static final JsonProvider jsonProvider = JsonProvider.provider(); @@ -331,12 +338,30 @@ public abstract class PostResource { if (x == null) { return null; } - return humanDateFormatter.format(x); + return humanDateTimeFormatter.format(x); } @TemplateExtension @CheckForNull static String htmlDateTime(@CheckForNull TemporalAccessor x) { + if (x == null) { + return null; + } + return htmlDateTimeFormatter.format(x); + } + + @TemplateExtension + @CheckForNull + static String humanDate(@CheckForNull TemporalAccessor x) { + if (x == null) { + return null; + } + return humanDateFormatter.format(x); + } + + @TemplateExtension + @CheckForNull + static String htmlDate(@CheckForNull TemporalAccessor x) { if (x == null) { return null; } diff --git a/src/main/resources/META-INF/resources/cms2/base.css b/src/main/resources/META-INF/resources/cms2/base.css index 11a2e70..e4ef41b 100644 --- a/src/main/resources/META-INF/resources/cms2/base.css +++ b/src/main/resources/META-INF/resources/cms2/base.css @@ -171,8 +171,17 @@ body > footer { border-top: lightgray solid 1px; } +.post-day { + margin: 0.5em 0; +} + +.bookmark-title-section { + display: inline; +} + a.bookmark-title { text-decoration: none; + margin-right: 1em; } h1.bookmark-title { @@ -182,42 +191,64 @@ h1.bookmark-title { display: inline; } -.bookmark-info { +.post-day-info { + font-size: smaller; font-style: italic; +} + +.post-owner { font-size: smaller; + color: #555; +} + +.post-self-link { + padding-left: 5px; + padding-right: 5px; +} + +.bookmark-info { + font-style: italic; margin: 0; padding: 0; flex: auto; } +.bookmark-controls { + float: right; +} + article.bookmark { - margin: 0.5em 0; border: 1px solid #e0b0b0; padding: 0.3em; background: #f8f0f0; } article.bookmark > header { - display: flex + display: inline-flex; + margin-right: 5px; +} + +.post-with-nonempty-body > header { + float: left; } .lazychat-message-info { font-style: italic; - font-size: smaller; margin: 0; padding: 0; flex: auto; } article.lazychat-message { - margin: 0.5em 0; border: 1px solid #a0c0c0; padding: 0.3em; background: #f0f8f0; } article.lazychat-message > header { - display: flex + display: flex; + float: left; + margin-right: 5px; } a.post-link { @@ -250,7 +281,27 @@ elix-expandable-section.editor-pane::part(header) { } .lazychat-message-controls { - flex: initial; + float: right; +} + +.post-content > :first-child { + margin-top: 0; +} + +.post-content > :last-child { + margin-bottom: 0; +} + +.bookmark-description > :nth-child(2) { + margin-top: 0; +} + +.bookmark-description > blockquote :first-child { + margin-top: 0; +} + +.bookmark-description > blockquote :last-child { + margin-bottom: 0; } .paging { diff --git a/src/main/resources/templates/benki/posts/postList.html b/src/main/resources/templates/benki/posts/postList.html index 2911be4..f178927 100644 --- a/src/main/resources/templates/benki/posts/postList.html +++ b/src/main/resources/templates/benki/posts/postList.html @@ -54,67 +54,71 @@
{#for day in postDays}
+
+ +
+ {#for post in day.posts} {#with post} {#if post.isBookmark} -
-
+
{descriptionHtml.raw}
{#else} -- cgit v1.2.3