From 39eebca3cfa8adf504d08d54e6fc05912641b40f Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 09 Aug 2024 01:28:13 +0000
Subject: [PATCH] chore: ts fixes
---
quartz/plugins/transformers/description.ts | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/quartz/plugins/transformers/description.ts b/quartz/plugins/transformers/description.ts
index 0f8cd8d..c7e592e 100644
--- a/quartz/plugins/transformers/description.ts
+++ b/quartz/plugins/transformers/description.ts
@@ -18,7 +18,7 @@
"g",
)
-export const Description: QuartzTransformerPlugin<Partial<Options> | undefined> = (userOpts) => {
+export const Description: QuartzTransformerPlugin<Partial<Options>> = (userOpts) => {
const opts = { ...defaultOptions, ...userOpts }
return {
name: "Description",
@@ -39,29 +39,33 @@
const desc = frontMatterDescription ?? text
const sentences = desc.replace(/\s+/g, " ").split(/\.\s/)
- let finalDesc = ""
- let sentenceIdx = 0
+ const finalDesc: string[] = []
const len = opts.descriptionLength
+ let sentenceIdx = 0
+ let currentDescriptionLength = 0
if (sentences[0] !== undefined && sentences[0].length >= len) {
const firstSentence = sentences[0].split(" ")
- while (finalDesc.length < len) {
+ while (currentDescriptionLength < len) {
const sentence = firstSentence[sentenceIdx]
if (!sentence) break
- finalDesc += sentence + " "
+ finalDesc.push(sentence)
+ currentDescriptionLength += sentence.length
sentenceIdx++
}
- finalDesc = finalDesc.trimEnd() + "..."
+ finalDesc.push("...")
} else {
- while (finalDesc.length < len) {
+ while (currentDescriptionLength < len) {
const sentence = sentences[sentenceIdx]
if (!sentence) break
- finalDesc += sentence.endsWith(".") ? sentence : sentence + "."
+ const currentSentence = sentence.endsWith(".") ? sentence : sentence + "."
+ finalDesc.push(currentSentence)
+ currentDescriptionLength += currentSentence.length
sentenceIdx++
}
}
- file.data.description = finalDesc
+ file.data.description = finalDesc.join(" ")
file.data.text = text
}
},
--
Gitblit v1.10.0