Remove dots after question mark titles.
Fixes: #18
Change-Id: I2915d246e2b614da69c2761864a3e5bd5300db14
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
index d522b1a..6264671 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
@@ -45,6 +45,7 @@
import java.util.Objects;
import java.util.Set;
import java.util.TimeZone;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.annotation.CheckForNull;
import org.hibernate.annotations.Type;
@@ -55,6 +56,8 @@
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {
+ private static Pattern sentenceEnderRegex = Pattern.compile("^.*[?.]$");
+
public enum Scope {
top_level,
comment
@@ -141,6 +144,20 @@
@CheckForNull
public abstract String getUri();
+ @CheckForNull
+ public final String titleWithSentenceEnder() {
+ var title = getTitle();
+ if (title == null) {
+ return null;
+ }
+
+ if (sentenceEnderRegex.matcher(title).matches()) {
+ return title;
+ }
+
+ return title + ".";
+ }
+
public Visibility getVisibility() {
if (targets.isEmpty()) {
return Visibility.PRIVATE;
diff --git a/src/main/resources/templates/PostResource/postList.html b/src/main/resources/templates/PostResource/postList.html
index 89267a2..935b813 100644
--- a/src/main/resources/templates/PostResource/postList.html
+++ b/src/main/resources/templates/PostResource/postList.html
@@ -86,7 +86,7 @@
{/if}
<a href="{post.uri}" class="bookmark-title">
- <h2 class="bookmark-title"><span class="bookmark-symbol">🔖 </span> {post.title}</h2>.
+ <h2 class="bookmark-title"><span class="bookmark-symbol">🔖 </span> {post.titleWithSentenceEnder}</h2>
</a>
</div>
</header>