diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-02-24 06:27:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-02-24 06:27:07 +0900 |
| commit | 13b159c6dd499b5c67a110e02780d9e741f0ecdb (patch) | |
| tree | 85e254e8ac1962f1d16ed5f3a4c1b8964834622f /vhosts/blog/nuldoc-src/renderers/html.ts | |
| parent | ac0be4b5207aa3375b745cad7c96533c3f2380b6 (diff) | |
| download | nsfisis.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/renderers/html.ts')
| -rw-r--r-- | vhosts/blog/nuldoc-src/renderers/html.ts | 11 |
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 { |
