change reading time to content meta
This commit is contained in:
		
							
								
								
									
										31
									
								
								quartz/components/ContentMeta.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								quartz/components/ContentMeta.tsx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
import { formatDate } from "./Date"
 | 
			
		||||
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
 | 
			
		||||
import readingTime from "reading-time"
 | 
			
		||||
 | 
			
		||||
export default (() => {
 | 
			
		||||
  function ContentMetadata({ fileData }: QuartzComponentProps) {
 | 
			
		||||
    const text = fileData.text
 | 
			
		||||
    if (text) {
 | 
			
		||||
      const segments: string[] = []
 | 
			
		||||
      const { text: timeTaken, words: _words } = readingTime(text)
 | 
			
		||||
      if (fileData.dates?.modified) {
 | 
			
		||||
        segments.push(formatDate(fileData.dates.modified))
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      segments.push(timeTaken)
 | 
			
		||||
      return (
 | 
			
		||||
        <p class="content-meta">{segments.join(", ")}</p>
 | 
			
		||||
      )
 | 
			
		||||
    } else {
 | 
			
		||||
      return null
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ContentMetadata.css = `
 | 
			
		||||
  .content-meta {
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
    color: var(--gray);
 | 
			
		||||
  }
 | 
			
		||||
  `
 | 
			
		||||
  return ContentMetadata
 | 
			
		||||
}) satisfies QuartzComponentConstructor
 | 
			
		||||
		Reference in New Issue
	
	Block a user