fix(path): properly path encode &
This commit is contained in:
		@@ -106,8 +106,9 @@ describe("transforms", () => {
 | 
			
		||||
        ["test.mp4", "test.mp4"],
 | 
			
		||||
        ["note with spaces.md", "note-with-spaces"],
 | 
			
		||||
        ["notes.with.dots.md", "notes.with.dots"],
 | 
			
		||||
        ["test/special chars?.md", "test/special-chars-q"],
 | 
			
		||||
        ["test/special chars?.md", "test/special-chars"],
 | 
			
		||||
        ["test/special chars #3.md", "test/special-chars-3"],
 | 
			
		||||
        ["cool/what about r&d?.md", "cool/what-about-r-and-d"],
 | 
			
		||||
      ],
 | 
			
		||||
      path.slugifyFilePath,
 | 
			
		||||
      path.isFilePath,
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,12 @@ function sluggify(s: string): string {
 | 
			
		||||
  return s
 | 
			
		||||
    .split("/")
 | 
			
		||||
    .map((segment) =>
 | 
			
		||||
      segment.replace(/\s/g, "-").replace(/%/g, "-percent").replace(/\?/g, "-q").replace(/#/g, ""),
 | 
			
		||||
      segment
 | 
			
		||||
        .replace(/\s/g, "-")
 | 
			
		||||
        .replace(/&/g, "-and-")
 | 
			
		||||
        .replace(/%/g, "-percent")
 | 
			
		||||
        .replace(/\?/g, "")
 | 
			
		||||
        .replace(/#/g, ""),
 | 
			
		||||
    )
 | 
			
		||||
    .join("/") // always use / as sep
 | 
			
		||||
    .replace(/\/$/, "")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user