improve path resolution stability
| | |
| | | <li> |
| | | <a |
| | | class="internal tag-link" |
| | | href={resolveRelative(fileData.slug!, `tags/${tag}/index` as FullSlug)} |
| | | href={resolveRelative(fileData.slug!, `tags/${tag}` as FullSlug)} |
| | | > |
| | | #{tag} |
| | | </a> |
| | |
| | | |
| | | import style from "../styles/listPage.scss" |
| | | import { PageList } from "../PageList" |
| | | import { simplifySlug } from "../../util/path" |
| | | import { _stripSlashes, simplifySlug } from "../../util/path" |
| | | |
| | | function FolderContent(props: QuartzComponentProps) { |
| | | const { tree, fileData, allFiles } = props |
| | | const folderSlug = simplifySlug(fileData.slug!) |
| | | const folderSlug = _stripSlashes(simplifySlug(fileData.slug!)) |
| | | const allPagesInFolder = allFiles.filter((file) => { |
| | | const fileSlug = simplifySlug(file.slug!) |
| | | const prefixed = fileSlug.startsWith(folderSlug) && fileSlug !== folderSlug |
| | |
| | | css: [joinSegments(baseDir, "index.css"), ...staticResources.css], |
| | | js: [ |
| | | { |
| | | src: joinSegments(baseDir, "/prescript.js"), |
| | | src: joinSegments(baseDir, "prescript.js"), |
| | | loadTime: "beforeDOMReady", |
| | | contentType: "external", |
| | | }, |
| | |
| | | }, |
| | | ...staticResources.js, |
| | | { |
| | | src: baseDir + "/postscript.js", |
| | | src: joinSegments(baseDir, "postscript.js"), |
| | | loadTime: "afterDOMReady", |
| | | moduleType: "module", |
| | | contentType: "external", |
| | |
| | | window.spaNavigate(new URL(targ, window.location.toString())) |
| | | }) |
| | | .on("mouseover", function (_, d) { |
| | | const neighbours: SimpleSlug[] = data[slug].links ?? [] |
| | | const neighbours: SimpleSlug[] = data[fullSlug].links ?? [] |
| | | const neighbourNodes = d3 |
| | | .selectAll<HTMLElement, NodeData>(".node") |
| | | .filter((d) => neighbours.includes(d.id)) |
| | |
| | | dest, |
| | | transformOptions, |
| | | ) |
| | | const canonicalDest = path.posix.normalize(joinSegments(curSlug, dest)) |
| | | const url = new URL(dest, `https://base.com/${curSlug}`) |
| | | const canonicalDest = url.pathname |
| | | const [destCanonical, _destAnchor] = splitAnchor(canonicalDest) |
| | | const simple = simplifySlug(destCanonical as FullSlug) |
| | | outgoing.add(simple) |