modern toc tweaks

This commit is contained in:
Jacky Zhao
2023-06-16 19:41:59 -07:00
parent 9d2024b11c
commit 917d5791ac
17 changed files with 318 additions and 58 deletions

View File

@ -5,6 +5,21 @@ function slugSegment(s: string): string {
return s.replace(/\s/g, '-')
}
export function trimPathSuffix(fp: string): string {
let [cleanPath, anchor] = fp.split("#", 2)
anchor = anchor === undefined ? "" : "#" + anchor
if (cleanPath.endsWith("index")) {
cleanPath = cleanPath.slice(0, -"index".length)
}
if (cleanPath === "") {
cleanPath = "./"
}
return cleanPath + anchor
}
export function slugify(s: string): string {
const [fp, anchor] = s.split("#", 2)
const sluggedAnchor = anchor === undefined ? "" : "#" + slugAnchor(anchor)
@ -19,12 +34,9 @@ export function slugify(s: string): string {
// resolve /a/b/c to ../../
export function resolveToRoot(slug: string): string {
let fp = slug
if (fp.endsWith("index")) {
fp = fp.slice(0, -"index".length)
}
let fp = trimPathSuffix(slug)
if (fp === "") {
if (fp === "./") {
return "."
}