{
Required fields: Name, URL and Item selector
) : (
{
const requestUrl = URL.parse(request.url);
const include = requestUrl?.searchParams.get("include");
+ const exclude = requestUrl?.searchParams.get("exclude");
const itemSelector = requestUrl?.searchParams.get("itemSelector");
const titleSelector = requestUrl?.searchParams.get("titleSelector");
const linkSelector = requestUrl?.searchParams.get("linkSelector");
@@ -42,6 +43,15 @@ export const GET = async (request: Request) => {
continue;
}
+ if (
+ exclude &&
+ exclude.trim() !== "" &&
+ (item.textContent === null ||
+ item.textContent.toLocaleLowerCase().includes(exclude.toLocaleLowerCase()) === true)
+ ) {
+ continue;
+ }
+
result.debug.itemsAfterFilter += 1;
const title =
diff --git a/src/app/index.ts b/src/app/index.ts
index 18be748..6e96f84 100644
--- a/src/app/index.ts
+++ b/src/app/index.ts
@@ -1,4 +1,5 @@
export type ListConfig = {
+ exclude?: string;
id: string;
include?: string;
itemSelector: string;
diff --git a/src/app/page.tsx b/src/app/page.tsx
index c46776b..d7e8f34 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -96,6 +96,7 @@ const HomePage = () => {
render={(closeDialog) => (