From 4bc94c1eabacf7f023368825a78e10837a1772e2 Mon Sep 17 00:00:00 2001 From: Carl Vitullo Date: Tue, 28 Jan 2025 19:54:08 -0500 Subject: [PATCH] Compress 3 spaces down to 2 (#444) --- src/helpers/string.ts | 9 +++++++++ src/server.ts | 10 ++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/helpers/string.ts b/src/helpers/string.ts index e9ee0fd..3689c47 100644 --- a/src/helpers/string.ts +++ b/src/helpers/string.ts @@ -25,3 +25,12 @@ export const compressLineBreaks = (s: string) => { } return s; }; + +const TOO_MANY_SPACES = / {3}/g; +const APPROPRIATE_SPACES = " "; +export const compressSpaces = (s: string) => { + while (TOO_MANY_SPACES.test(s)) { + s = s.replaceAll(TOO_MANY_SPACES, APPROPRIATE_SPACES); + } + return s; +}; diff --git a/src/server.ts b/src/server.ts index 8619211..d7f699f 100644 --- a/src/server.ts +++ b/src/server.ts @@ -8,7 +8,11 @@ import { StoredMessage, getJobPosts, } from "./features/jobs-moderation/job-mod-helpers.js"; -import { compressLineBreaks, simplifyString } from "./helpers/string.js"; +import { + compressSpaces, + compressLineBreaks, + simplifyString, +} from "./helpers/string.js"; import { constructDiscordLink } from "./helpers/discord.js"; import { reactibotApiKey } from "./helpers/env.js"; @@ -275,7 +279,9 @@ const renderPost = (post: StoredMessage): RenderedPost => { tags: post.tags, type: post.type, createdAt: post.createdAt, - description: renderMdToHtml(compressLineBreaks(post.description)), + description: renderMdToHtml( + compressLineBreaks(compressSpaces(post.description)), + ), messageLink: constructDiscordLink(post.message), reactions: post.message.reactions.cache.map((r) => [ r.emoji.name ?? "☐",