mirror of
				https://github.com/ZetaKebab/quartz.git
				synced 2025-11-03 22:49:47 +00:00 
			
		
		
		
	avoid 404 on icon for spa navigations with anchors
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
import { pathToRoot } from "../util/path"
 | 
			
		||||
import { joinSegments, pathToRoot } from "../util/path"
 | 
			
		||||
import { JSResourceToScriptElement } from "../util/resources"
 | 
			
		||||
import { QuartzComponentConstructor, QuartzComponentProps } from "./types"
 | 
			
		||||
 | 
			
		||||
@@ -8,7 +8,7 @@ export default (() => {
 | 
			
		||||
    const description = fileData.description?.trim() ?? "No description provided"
 | 
			
		||||
    const { css, js } = externalResources
 | 
			
		||||
    const baseDir = pathToRoot(fileData.slug!)
 | 
			
		||||
    const iconPath = baseDir + "/static/icon.png"
 | 
			
		||||
    const iconPath = joinSegments(baseDir, "static/icon.png")
 | 
			
		||||
    const ogImagePath = `https://${cfg.baseUrl}/static/og-image.png`
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,6 @@ async function navigate(url: URL, isBack: boolean = false) {
 | 
			
		||||
 | 
			
		||||
  // scroll into place and add history
 | 
			
		||||
  if (!isBack) {
 | 
			
		||||
    history.pushState({}, "", url)
 | 
			
		||||
    if (url.hash) {
 | 
			
		||||
      const el = document.getElementById(url.hash.substring(1))
 | 
			
		||||
      el?.scrollIntoView()
 | 
			
		||||
@@ -81,6 +80,9 @@ async function navigate(url: URL, isBack: boolean = false) {
 | 
			
		||||
  const elementsToAdd = html.head.querySelectorAll(":not([spa-preserve])")
 | 
			
		||||
  elementsToAdd.forEach((el) => document.head.appendChild(el))
 | 
			
		||||
 | 
			
		||||
  // delay setting the url until now
 | 
			
		||||
  // at this point everything is loaded so changing the url should resolve to the correct addresses
 | 
			
		||||
  history.pushState({}, "", url)
 | 
			
		||||
  notifyNav(getFullSlug(window))
 | 
			
		||||
  delete announcer.dataset.persist
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user