rizaldy.club/quartz/components/ReadingTime.tsx

23 lines
582 B
TypeScript
Raw Normal View History

2023-06-12 13:46:38 +07:00
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
2023-06-10 13:06:02 +07:00
import readingTime from "reading-time"
2023-06-12 13:46:38 +07:00
function ReadingTime({ fileData }: QuartzComponentProps) {
2023-06-10 13:06:02 +07:00
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;
}
`
2023-06-12 13:46:38 +07:00
export default (() => ReadingTime) satisfies QuartzComponentConstructor