feat: pluralize things in lists
This commit is contained in:
		
							parent
							
								
									23f43045c4
								
							
						
					
					
						commit
						505673acd7
					
				
					 3 changed files with 12 additions and 3 deletions
				
			
		| 
						 | 
					@ -7,6 +7,7 @@ import style from "../styles/listPage.scss"
 | 
				
			||||||
import { PageList } from "../PageList"
 | 
					import { PageList } from "../PageList"
 | 
				
			||||||
import { _stripSlashes, simplifySlug } from "../../util/path"
 | 
					import { _stripSlashes, simplifySlug } from "../../util/path"
 | 
				
			||||||
import { Root } from "hast"
 | 
					import { Root } from "hast"
 | 
				
			||||||
 | 
					import { pluralize } from "../../util/lang"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function FolderContent(props: QuartzComponentProps) {
 | 
					function FolderContent(props: QuartzComponentProps) {
 | 
				
			||||||
  const { tree, fileData, allFiles } = props
 | 
					  const { tree, fileData, allFiles } = props
 | 
				
			||||||
| 
						 | 
					@ -36,7 +37,7 @@ function FolderContent(props: QuartzComponentProps) {
 | 
				
			||||||
      <article>
 | 
					      <article>
 | 
				
			||||||
        <p>{content}</p>
 | 
					        <p>{content}</p>
 | 
				
			||||||
      </article>
 | 
					      </article>
 | 
				
			||||||
      <p>{allPagesInFolder.length} items under this folder.</p>
 | 
					      <p>{pluralize(allPagesInFolder.length, "item")} under this folder.</p>
 | 
				
			||||||
      <div>
 | 
					      <div>
 | 
				
			||||||
        <PageList {...listProps} />
 | 
					        <PageList {...listProps} />
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,7 @@ import { PageList } from "../PageList"
 | 
				
			||||||
import { FullSlug, getAllSegmentPrefixes, simplifySlug } from "../../util/path"
 | 
					import { FullSlug, getAllSegmentPrefixes, simplifySlug } from "../../util/path"
 | 
				
			||||||
import { QuartzPluginData } from "../../plugins/vfile"
 | 
					import { QuartzPluginData } from "../../plugins/vfile"
 | 
				
			||||||
import { Root } from "hast"
 | 
					import { Root } from "hast"
 | 
				
			||||||
 | 
					import { pluralize } from "../../util/lang"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const numPages = 10
 | 
					const numPages = 10
 | 
				
			||||||
function TagContent(props: QuartzComponentProps) {
 | 
					function TagContent(props: QuartzComponentProps) {
 | 
				
			||||||
| 
						 | 
					@ -60,7 +61,7 @@ function TagContent(props: QuartzComponentProps) {
 | 
				
			||||||
                </h2>
 | 
					                </h2>
 | 
				
			||||||
                {content && <p>{content}</p>}
 | 
					                {content && <p>{content}</p>}
 | 
				
			||||||
                <p>
 | 
					                <p>
 | 
				
			||||||
                  {pages.length} items with this tag.{" "}
 | 
					                  {pluralize(pages.length, "item")} with this tag.{" "}
 | 
				
			||||||
                  {pages.length > numPages && `Showing first ${numPages}.`}
 | 
					                  {pages.length > numPages && `Showing first ${numPages}.`}
 | 
				
			||||||
                </p>
 | 
					                </p>
 | 
				
			||||||
                <PageList limit={numPages} {...listProps} />
 | 
					                <PageList limit={numPages} {...listProps} />
 | 
				
			||||||
| 
						 | 
					@ -80,7 +81,7 @@ function TagContent(props: QuartzComponentProps) {
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
      <div class="popover-hint">
 | 
					      <div class="popover-hint">
 | 
				
			||||||
        <article>{content}</article>
 | 
					        <article>{content}</article>
 | 
				
			||||||
        <p>{pages.length} items with this tag.</p>
 | 
					        <p>{pluralize(pages.length, "item")} with this tag.</p>
 | 
				
			||||||
        <div>
 | 
					        <div>
 | 
				
			||||||
          <PageList {...listProps} />
 | 
					          <PageList {...listProps} />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								quartz/util/lang.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								quartz/util/lang.ts
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					export function pluralize(count: number, s: string): string {
 | 
				
			||||||
 | 
					  if (count === 1) {
 | 
				
			||||||
 | 
					    return `1 ${s}`
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    return `${count} ${s}s`
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue