func (p *Page) analyzePage() { p.pageMetaInit.Do(func() { if p.isCJKLanguage { p.wordCount = 0 for _, word := range p.PlainWords() { runeCount := utf8.RuneCountInString(word) if len(word) == runeCount { p.wordCount++ } else { p.wordCount += runeCount } } } else { p.wordCount = helpers.TotalWords(p.Plain()) } // TODO(bep) is set in a test. Fix that. if p.fuzzyWordCount == 0 { p.fuzzyWordCount = (p.wordCount + 100) / 100 * 100 } if p.isCJKLanguage { p.readingTime = (p.wordCount + 500) / 501 } else { p.readingTime = (p.wordCount + 212) / 213 } }) }
func (p *Page) analyzePage() { p.WordCount = helpers.TotalWords(p.Plain()) p.FuzzyWordCount = int((p.WordCount+100)/100) * 100 p.ReadingTime = int((p.WordCount + 212) / 213) }