Ajout paramètre message bas de page personnalisable

This commit is contained in:
Yannick Le Duc
2025-08-27 12:21:09 +02:00
parent 28df167fee
commit aa859a1e44
15 changed files with 580 additions and 207 deletions

View File

@@ -4,3 +4,42 @@ import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
/**
* Traite le message du footer en remplaçant [LINK] par le lien vers le repository
*/
export function processFooterMessage(message: string, repositoryUrl: string): string {
return message.replace(/\[LINK\]/g, repositoryUrl);
}
/**
* Traite le message du footer et retourne le texte avec les liens Markdown remplacés
*/
export function parseFooterMessage(message: string, repositoryUrl: string): { text: string; links: Array<{ text: string; url: string; start: number; end: number }> } {
const links: Array<{ text: string; url: string; start: number; end: number }> = [];
let processedText = message;
// Remplacer [texte](GITURL) par le texte du lien
const linkRegex = /\[([^\]]+)\]\(GITURL\)/g;
let match;
let offset = 0;
while ((match = linkRegex.exec(message)) !== null) {
const linkText = match[1]; // Le texte entre crochets
const fullMatch = match[0]; // Le match complet [texte](GITURL)
const start = match.index + offset;
const end = start + linkText.length;
links.push({
text: linkText,
url: repositoryUrl,
start,
end
});
processedText = processedText.replace(fullMatch, linkText);
offset += linkText.length - fullMatch.length;
}
return { text: processedText, links };
}