Restrict valid page names

pull/452/head^2
Zef Hemel 2023-07-07 11:44:05 +02:00
parent 59ff0643b0
commit 04d6de18e6
4 changed files with 5 additions and 5 deletions

View File

@ -1,4 +1,4 @@
export function isValidPageName(name: string): boolean { export function isValidPageName(name: string): boolean {
// Page can not be empty and not end with a file extension (e.g. "bla.md") // Page can not be empty and not end with a file extension (e.g. "bla.md")
return name !== "" && !/\.[a-zA-Z]+$/.test(name); return name !== "" && !name.startsWith(".") && !/\.[a-zA-Z]+$/.test(name);
} }

View File

@ -139,7 +139,7 @@ export async function renamePage(cmdDef: any) {
if (!isValidPageName(newName)) { if (!isValidPageName(newName)) {
return editor.flashNotification( return editor.flashNotification(
"Invalid page name: page names cannot end with a file extension", "Invalid page name: page names cannot end with a file extension nor start with a '.'",
"error", "error",
); );
} }

View File

@ -394,8 +394,8 @@ export function renderMarkdownToHtml(
t.attrs!.src = options.translateUrls!(t.attrs!.src!); t.attrs!.src = options.translateUrls!(t.attrs!.src!);
} }
if (t.name === "a") { if (t.name === "a" && t.attrs!.href) {
t.attrs!.href = options.translateUrls!(t.attrs!.href!); t.attrs!.href = options.translateUrls!(t.attrs!.href);
} }
}); });
} }

View File

@ -1167,7 +1167,7 @@ export class Editor {
if (!isValidPageName(name)) { if (!isValidPageName(name)) {
return this.flashNotification( return this.flashNotification(
"Invalid page name: page names cannot end with a file extension", "Invalid page name: page names cannot end with a file extension nor start with a '.'",
"error", "error",
); );
} }