base path refactor to better support subpath hosting
This commit is contained in:
		
							parent
							
								
									3201f83b70
								
							
						
					
					
						commit
						c874e7e937
					
				
					 29 changed files with 257 additions and 389 deletions
				
			
		| 
						 | 
				
			
			@ -5,13 +5,13 @@ import path from "path"
 | 
			
		|||
 | 
			
		||||
import style from "../styles/listPage.scss"
 | 
			
		||||
import { PageList } from "../PageList"
 | 
			
		||||
import { canonicalizeServer } from "../../util/path"
 | 
			
		||||
import { simplifySlug } from "../../util/path"
 | 
			
		||||
 | 
			
		||||
function FolderContent(props: QuartzComponentProps) {
 | 
			
		||||
  const { tree, fileData, allFiles } = props
 | 
			
		||||
  const folderSlug = canonicalizeServer(fileData.slug!)
 | 
			
		||||
  const folderSlug = simplifySlug(fileData.slug!)
 | 
			
		||||
  const allPagesInFolder = allFiles.filter((file) => {
 | 
			
		||||
    const fileSlug = canonicalizeServer(file.slug!)
 | 
			
		||||
    const fileSlug = simplifySlug(file.slug!)
 | 
			
		||||
    const prefixed = fileSlug.startsWith(folderSlug) && fileSlug !== folderSlug
 | 
			
		||||
    const folderParts = folderSlug.split(path.posix.sep)
 | 
			
		||||
    const fileParts = fileSlug.split(path.posix.sep)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import { Fragment, jsx, jsxs } from "preact/jsx-runtime"
 | 
			
		|||
import { toJsxRuntime } from "hast-util-to-jsx-runtime"
 | 
			
		||||
import style from "../styles/listPage.scss"
 | 
			
		||||
import { PageList } from "../PageList"
 | 
			
		||||
import { ServerSlug, canonicalizeServer, getAllSegmentPrefixes } from "../../util/path"
 | 
			
		||||
import { FullSlug, getAllSegmentPrefixes, simplifySlug } from "../../util/path"
 | 
			
		||||
import { QuartzPluginData } from "../../plugins/vfile"
 | 
			
		||||
 | 
			
		||||
const numPages = 10
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +15,7 @@ function TagContent(props: QuartzComponentProps) {
 | 
			
		|||
    throw new Error(`Component "TagContent" tried to render a non-tag page: ${slug}`)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const tag = canonicalizeServer(slug.slice("tags/".length) as ServerSlug)
 | 
			
		||||
  const tag = simplifySlug(slug.slice("tags/".length) as FullSlug)
 | 
			
		||||
  const allPagesWithTag = (tag: string) =>
 | 
			
		||||
    allFiles.filter((file) =>
 | 
			
		||||
      (file.frontmatter?.tags ?? []).flatMap(getAllSegmentPrefixes).includes(tag),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue