From d7eede087ade92d126af05b98726e0ed40af9285 Mon Sep 17 00:00:00 2001 From: aka paul <50n50@noreply.localhost> Date: Sat, 29 Nov 2025 20:18:15 +0000 Subject: [PATCH] Update mangapark/mangapark.js --- mangapark/mangapark.js | 78 +++++++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/mangapark/mangapark.js b/mangapark/mangapark.js index 7838353..d999580 100644 --- a/mangapark/mangapark.js +++ b/mangapark/mangapark.js @@ -87,23 +87,44 @@ async function getChapters(url) { try { const response = await fetch(url); const html = await response.text(); - const regex = /]*>Chapter (\d+(?:\.\d+)?)[^<]*<\/a>/g; + + const regex = /]*class="link-hover link-primary[^"]*"[^>]*>([^<]+)<\/a>/g; let match; - let index = 0; + while ((match = regex.exec(html)) !== null) { + const href = match[1]; + const title = match[2].trim(); + + let chapterNum = null; + + let chapterMatch = title.match(/Chapter\s+([\d.]+)/i); + if (chapterMatch) { + chapterNum = parseFloat(chapterMatch[1]); + } else { + chapterMatch = title.match(/Ch\.([\d.]+)/i); + if (chapterMatch) { + chapterNum = parseFloat(chapterMatch[1]); + } + } + + if (chapterNum === null) continue; + results.push([ - String(index), + String(chapterNum), [{ - id: "https://mangapark.net" + match[1].trim(), - title: `Chapter ${match[2].trim()}`, - chapter: index, - scanlation_group: "MangaPark" + id: "https://mangapark.net" + href, + title: title, + chapter: chapterNum, + scanlation_group: title }] ]); - index++; } - return { en: results.reverse() }; + + results.sort((a, b) => parseFloat(a[0]) - parseFloat(b[0])); + + return { en: results }; } catch (err) { + console.error('Error fetching chapters:', err); return { en: [] }; } } @@ -115,25 +136,34 @@ async function getChapterImages(url) { const html = await response.text(); const jsonMatch = html.match(/