mirror of
				https://github.com/alrayyes/wiki.git
				synced 2025-08-07 15:21:03 +00:00 
			
		
		
		
	feat: Allow custom sorting of FolderPage and TagPage (#1250)
This commit is contained in:
		
					parent
					
						
							
								596e06ab0e
							
						
					
				
			
			
				commit
				
					
						ea92ed4f45
					
				
			
		
					 5 changed files with 116 additions and 105 deletions
				
			
		quartz/plugins/emitters
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import { QuartzComponentProps } from "../../components/types"
 | 
			
		|||
import HeaderConstructor from "../../components/Header"
 | 
			
		||||
import BodyConstructor from "../../components/Body"
 | 
			
		||||
import { pageResources, renderPage } from "../../components/renderPage"
 | 
			
		||||
import { ProcessedContent, defaultProcessedContent } from "../vfile"
 | 
			
		||||
import { ProcessedContent, QuartzPluginData, defaultProcessedContent } from "../vfile"
 | 
			
		||||
import { FullPageLayout } from "../../cfg"
 | 
			
		||||
import path from "path"
 | 
			
		||||
import {
 | 
			
		||||
| 
						 | 
				
			
			@ -21,11 +21,13 @@ import { write } from "./helpers"
 | 
			
		|||
import { i18n } from "../../i18n"
 | 
			
		||||
import DepGraph from "../../depgraph"
 | 
			
		||||
 | 
			
		||||
export const FolderPage: QuartzEmitterPlugin<Partial<FullPageLayout>> = (userOpts) => {
 | 
			
		||||
export const FolderPage: QuartzEmitterPlugin<
 | 
			
		||||
  Partial<FullPageLayout> & { sort?: (f1: QuartzPluginData, f2: QuartzPluginData) => number }
 | 
			
		||||
> = (userOpts) => {
 | 
			
		||||
  const opts: FullPageLayout = {
 | 
			
		||||
    ...sharedPageComponents,
 | 
			
		||||
    ...defaultListPageLayout,
 | 
			
		||||
    pageBody: FolderContent(),
 | 
			
		||||
    pageBody: FolderContent({ sort: userOpts?.sort }),
 | 
			
		||||
    ...userOpts,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import { QuartzComponentProps } from "../../components/types"
 | 
			
		|||
import HeaderConstructor from "../../components/Header"
 | 
			
		||||
import BodyConstructor from "../../components/Body"
 | 
			
		||||
import { pageResources, renderPage } from "../../components/renderPage"
 | 
			
		||||
import { ProcessedContent, defaultProcessedContent } from "../vfile"
 | 
			
		||||
import { ProcessedContent, QuartzPluginData, defaultProcessedContent } from "../vfile"
 | 
			
		||||
import { FullPageLayout } from "../../cfg"
 | 
			
		||||
import {
 | 
			
		||||
  FilePath,
 | 
			
		||||
| 
						 | 
				
			
			@ -18,11 +18,13 @@ import { write } from "./helpers"
 | 
			
		|||
import { i18n } from "../../i18n"
 | 
			
		||||
import DepGraph from "../../depgraph"
 | 
			
		||||
 | 
			
		||||
export const TagPage: QuartzEmitterPlugin<Partial<FullPageLayout>> = (userOpts) => {
 | 
			
		||||
export const TagPage: QuartzEmitterPlugin<
 | 
			
		||||
  Partial<FullPageLayout> & { sort?: (f1: QuartzPluginData, f2: QuartzPluginData) => number }
 | 
			
		||||
> = (userOpts) => {
 | 
			
		||||
  const opts: FullPageLayout = {
 | 
			
		||||
    ...sharedPageComponents,
 | 
			
		||||
    ...defaultListPageLayout,
 | 
			
		||||
    pageBody: TagContent(),
 | 
			
		||||
    pageBody: TagContent({ sort: userOpts?.sort }),
 | 
			
		||||
    ...userOpts,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue