diff --git a/javascript/novel/src/en/novelupdates.js b/javascript/novel/src/en/novelupdates.js
index 380f7e0f..fb555f9a 100644
--- a/javascript/novel/src/en/novelupdates.js
+++ b/javascript/novel/src/en/novelupdates.js
@@ -7,7 +7,7 @@ const mangayomiSources = [{
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/javascript/icon/en.novelupdates.png",
"typeSource": "single",
"itemType": 2,
- "version": "0.0.1",
+ "version": "0.0.2",
"dateFormat": "",
"dateFormatLocale": "",
"pkgPath": "novel/src/en/novelupdates.js",
@@ -378,6 +378,21 @@ class DefaultExtension extends MProvider {
const content = doc.selectFirst("#page > .chapter_content > .cha-content > .cha-words")?.innerHtml.replaceAll(/.*?<\/i>/gm, "");
return `${title}
${content}`;
}
+
+ if (domain.includes("re-library")) {
+ const redirectUrl = doc.selectFirst(".entry-content > div > div > p > a").getHref;
+ const redirectRes = await client.get(redirectUrl, {
+ Priority: "u=0, i",
+ "User-Agent":
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36",
+ });
+ const redirectDoc = new Document(redirectRes.body);
+ const title =
+ redirectDoc.selectFirst(".entry-header > .entry-title")?.text.trim() ||
+ "";
+ const content = redirectDoc.selectFirst(".entry-content")?.innerHtml.replaceAll(/.*?<\/i>/gm, "");
+ return `${title}
${content}`;
+ }
const blogspotElements = [
doc.selectFirst("meta[name=\"google-adsense-platform-domain\"]").attr("content"),
@@ -408,49 +423,52 @@ class DefaultExtension extends MProvider {
let isWordpress = wordpressElements.some(e => {
return e?.toLowerCase().includes("wordpress") || e?.toLowerCase().includes("site kit by google")
});
+
+
+ let title =
+ doc.selectFirst(".entry-title")?.text.trim() ||
+ doc.selectFirst(".entry-title-main")?.text.trim() ||
+ doc.selectFirst(".chapter__title")?.text.trim() ||
+ doc.selectFirst(".sp-title")?.text.trim() ||
+ doc.selectFirst(".title-content")?.text.trim() ||
+ doc.selectFirst(".wp-block-post-title")?.text.trim() ||
+ doc.selectFirst(".title_story")?.text.trim() ||
+ doc.selectFirst(".active")?.text.trim() ||
+ doc.selectFirst("head title")?.text.trim() ||
+ doc.selectFirst("h1.leading-none ~ h2")?.text.trim() ||
+ "";
+ const subtitle =
+ doc.selectFirst(".cat-series")?.text.trim() ||
+ doc.selectFirst("h1.leading-none ~ span")?.text.trim() ||
+ "";
+ if (subtitle && subtitle != "") {
+ title = subtitle;
+ }
+ const content =
+ doc.selectFirst(".rdminimal")?.innerHtml ||
+ doc.selectFirst(".entry-content")?.innerHtml ||
+ doc.selectFirst(".chapter__content")?.innerHtml ||
+ doc.selectFirst(".prevent-select")?.innerHtml ||
+ doc.selectFirst(".text_story")?.innerHtml ||
+ doc.selectFirst(".contenta")?.innerHtml ||
+ doc.selectFirst(".single_post")?.innerHtml ||
+ doc.selectFirst(".post-entry")?.innerHtml ||
+ doc.selectFirst(".main-content")?.innerHtml ||
+ doc.selectFirst(".post-content")?.innerHtml ||
+ doc.selectFirst(".content")?.innerHtml ||
+ doc.selectFirst(".page-body")?.innerHtml ||
+ doc.selectFirst(".td-page-content")?.innerHtml ||
+ doc.selectFirst(".reader-content")?.innerHtml ||
+ doc.selectFirst("#content")?.innerHtml ||
+ doc.selectFirst("#the-content")?.innerHtml ||
+ doc.selectFirst("article.post")?.innerHtml;
if (isWordpress || domain.includes("etherreads") || domain.includes("soafp")) {
- let title =
- doc.selectFirst(".entry-title")?.text.trim() ||
- doc.selectFirst(".entry-title-main")?.text.trim() ||
- doc.selectFirst(".chapter__title")?.text.trim() ||
- doc.selectFirst(".sp-title")?.text.trim() ||
- doc.selectFirst(".title-content")?.text.trim() ||
- doc.selectFirst(".wp-block-post-title")?.text.trim() ||
- doc.selectFirst(".title_story")?.text.trim() ||
- doc.selectFirst(".active")?.text.trim() ||
- doc.selectFirst("head title")?.text.trim() ||
- doc.selectFirst("h1.leading-none ~ h2")?.text.trim() ||
- "";
- const subtitle =
- doc.selectFirst(".cat-series")?.text.trim() ||
- doc.selectFirst("h1.leading-none ~ span")?.text.trim() ||
- "";
- if (subtitle && subtitle != "") {
- title = subtitle;
- }
- const content =
- doc.selectFirst(".rdminimal")?.innerHtml ||
- doc.selectFirst(".entry-content")?.innerHtml ||
- doc.selectFirst(".chapter__content")?.innerHtml ||
- doc.selectFirst(".prevent-select")?.innerHtml ||
- doc.selectFirst(".text_story")?.innerHtml ||
- doc.selectFirst(".contenta")?.innerHtml ||
- doc.selectFirst(".single_post")?.innerHtml ||
- doc.selectFirst(".post-entry")?.innerHtml ||
- doc.selectFirst(".main-content")?.innerHtml ||
- doc.selectFirst(".post-content")?.innerHtml ||
- doc.selectFirst(".content")?.innerHtml ||
- doc.selectFirst(".page-body")?.innerHtml ||
- doc.selectFirst(".td-page-content")?.innerHtml ||
- doc.selectFirst(".reader-content")?.innerHtml ||
- doc.selectFirst("#content")?.innerHtml ||
- doc.selectFirst("#the-content")?.innerHtml ||
- doc.selectFirst("article.post")?.innerHtml;
return `${title}
${content}`;
}
- return "
Domain not supported yet
"; + return `Domain not supported yet. Content might not load properly!
+