mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-31 00:34:05 -06:00
fix: add folder pages for empty, intermediate folders
This commit is contained in:
parent
34fde07cf8
commit
e26448eaf3
@ -76,12 +76,11 @@ export const FolderPage: QuartzEmitterPlugin<Partial<FolderPageOptions>> = (user
|
|||||||
|
|
||||||
const folders: Set<SimpleSlug> = new Set(
|
const folders: Set<SimpleSlug> = new Set(
|
||||||
allFiles.flatMap((data) => {
|
allFiles.flatMap((data) => {
|
||||||
const slug = data.slug
|
return data.slug
|
||||||
const folderName = path.dirname(slug ?? "") as SimpleSlug
|
? _getFolders(data.slug).filter(
|
||||||
if (slug && folderName !== "." && folderName !== "tags") {
|
(folderName) => folderName !== "." && folderName !== "tags",
|
||||||
return [folderName]
|
)
|
||||||
}
|
: []
|
||||||
return []
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -133,3 +132,18 @@ export const FolderPage: QuartzEmitterPlugin<Partial<FolderPageOptions>> = (user
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _getFolders(slug: FullSlug): SimpleSlug[] {
|
||||||
|
var folderName = _dirname(slug)
|
||||||
|
const parentFolderNames = [folderName]
|
||||||
|
|
||||||
|
while (folderName !== ".") {
|
||||||
|
folderName = _dirname(folderName)
|
||||||
|
parentFolderNames.push(folderName)
|
||||||
|
}
|
||||||
|
return parentFolderNames
|
||||||
|
}
|
||||||
|
|
||||||
|
function _dirname(slug: string | undefined): SimpleSlug {
|
||||||
|
return path.dirname(slug ?? "") as SimpleSlug
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user