summaryrefslogtreecommitdiffhomepage
path: root/vhosts/blog/nuldoc-src
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-02-24 06:27:07 +0900
committernsfisis <nsfisis@gmail.com>2025-02-24 06:27:07 +0900
commit13b159c6dd499b5c67a110e02780d9e741f0ecdb (patch)
tree85e254e8ac1962f1d16ed5f3a4c1b8964834622f /vhosts/blog/nuldoc-src
parentac0be4b5207aa3375b745cad7c96533c3f2380b6 (diff)
downloadnsfisis.dev-13b159c6dd499b5c67a110e02780d9e741f0ecdb.tar.gz
nsfisis.dev-13b159c6dd499b5c67a110e02780d9e741f0ecdb.tar.zst
nsfisis.dev-13b159c6dd499b5c67a110e02780d9e741f0ecdb.zip
feat(blog/nuldoc): do not insert whitespace to linebreaks between Japanese sentences
Diffstat (limited to 'vhosts/blog/nuldoc-src')
-rw-r--r--vhosts/blog/nuldoc-src/renderers/html.ts11
1 files changed, 9 insertions, 2 deletions
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 {