mirror of
https://github.com/ZetaKebab/quartz.git
synced 2025-06-22 08:44:36 +00:00
modern toc tweaks
This commit is contained in:
@ -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 "."
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user