Ajout paramètre message bas de page personnalisable
This commit is contained in:
@@ -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 };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user