Jacky Zhao
2023-06-12 2bfe90b7e64839d8ec6319fe93b76472b0285114
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
import readingTime from "reading-time"
 
function ReadingTime({ fileData }: QuartzComponentProps) {
  const text = fileData.text
  const isHomePage = fileData.slug === "index"
  if (text && !isHomePage) {
    const { text: timeTaken, words } = readingTime(text)
    return <p class="reading-time">{words} words, {timeTaken}</p>
  } else {
    return null
  }
}
 
ReadingTime.css = `
.reading-time {
  margin-top: 0;
  opacity: 0.5;
}
`
 
export default (() => ReadingTime) satisfies QuartzComponentConstructor