From 13b159c6dd499b5c67a110e02780d9e741f0ecdb Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 24 Feb 2025 06:27:07 +0900 Subject: feat(blog/nuldoc): do not insert whitespace to linebreaks between Japanese sentences --- vhosts/blog/nuldoc-src/renderers/html.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'vhosts/blog/nuldoc-src/renderers') diff --git a/vhosts/blog/nuldoc-src/renderers/html.ts b/vhosts/blog/nuldoc-src/renderers/html.ts index 4ebc342e..cdfc4c24 100644 --- a/vhosts/blog/nuldoc-src/renderers/html.ts +++ b/vhosts/blog/nuldoc-src/renderers/html.ts @@ -148,8 +148,15 @@ function textNodeToHtmlText(t: Text, ctx: Context): string { const s = encodeSpecialCharacters(t.content); if (ctx.isInPre) return s; - // TODO: 日本語で改行するときはスペースを入れない - return s.replaceAll(/\n */g, " "); + return s.replaceAll(/\n */g, (_match, offset, subject) => { + const last_char = subject[offset - 1]; + if (last_char === "。" || last_char === "、") { + // 日本語で改行するときはスペースを入れない + return ""; + } else { + return " "; + } + }); } function encodeSpecialCharacters(s: string): string { -- cgit v1.2.3-70-g09d2