fix indexing causing main thread freeze, various polish

This commit is contained in:
Jacky Zhao
2023-07-04 10:08:32 -07:00
parent e0ebee5aa9
commit ab9da02c60
33 changed files with 255 additions and 141 deletions

View File

@ -7,10 +7,16 @@ function slugSegment(s: string): string {
// on the client, 'index' isn't ever rendered so we should clean it up
export function clientSideSlug(fp: string): string {
// remove index
if (fp.endsWith("index")) {
fp = fp.slice(0, -"index".length)
}
// remove trailing slash
if (fp.endsWith("/")) {
fp = fp.slice(0, -1)
}
return fp
}
@ -23,7 +29,7 @@ export function trimPathSuffix(fp: string): string {
}
export function slugify(s: string): string {
const [fp, anchor] = s.split("#", 2)
let [fp, anchor] = s.split("#", 2)
const sluggedAnchor = anchor === undefined ? "" : "#" + slugAnchor(anchor)
const withoutFileExt = fp.replace(new RegExp(path.extname(fp) + '$'), '')
const rawSlugSegments = withoutFileExt.split(path.sep)