Emile Bangma
2024-03-08 6d59aa8201a1fd3abea32ef36206af6471d85435
fix(description): counts characters instead of words (#972)

* fix(description): make sure description counts characters instead of words

* ref: removed duplicate ternary
1 files modified
11 ■■■■■ changed files
quartz/plugins/transformers/description.ts 11 ●●●●● patch | view | raw | blame | history
quartz/plugins/transformers/description.ts
@@ -42,22 +42,25 @@
            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.push(sentence)
                currentDescriptionLength += sentence.length
                sentenceIdx++
              }
              finalDesc.push("...")
            } else {
              while (finalDesc.length < len) {
              while (currentDescriptionLength < len) {
                const sentence = sentences[sentenceIdx]
                if (!sentence) break
                finalDesc.push(sentence.endsWith(".") ? sentence : sentence + ".")
                sentenceIdx++
                const currentSentence = sentence.endsWith(".") ? sentence : sentence + "."
                finalDesc.push(currentSentence)
                currentDescriptionLength += currentSentence.length
              }
            }