Просмотр исходного кода

Merge pull request #475 from alexei-led/fix/handelize-dots-and-case

fix: preserve dots and original case in handelize()
Tobias Lütke 1 месяц назад
Родитель
Сommit
2ec3360a8b
1 измененных файлов с 1 добавлено и 2 удалено
  1. 1 2
      src/store.ts

+ 1 - 2
src/store.ts

@@ -1595,7 +1595,6 @@ export function handelize(path: string): string {
 
   const result = path
     .replace(/___/g, '/')       // Triple underscore becomes folder separator
-    .toLowerCase()
     .split('/')
     .map((segment, idx, arr) => {
       const isLastSegment = idx === arr.length - 1;
@@ -1610,7 +1609,7 @@ export function handelize(path: string): string {
         const nameWithoutExt = ext ? segment.slice(0, -ext.length) : segment;
 
         const cleanedName = nameWithoutExt
-          .replace(/[^\p{L}\p{N}$]+/gu, '-')  // Keep route marker "$", dash-separate other chars
+          .replace(/[^\p{L}\p{N}.$]+/gu, '-')  // Keep letters, numbers, dots, "$"; dash-separate rest
           .replace(/^-+|-+$/g, ''); // Remove leading/trailing dashes
 
         return cleanedName + ext;