diff --git a/source/plugins/leetcode/index.mjs b/source/plugins/leetcode/index.mjs index d2fea2cc..e9364b70 100644 --- a/source/plugins/leetcode/index.mjs +++ b/source/plugins/leetcode/index.mjs @@ -7,7 +7,7 @@ export default async function({login, q, imports, data, queries, account}, {enab return null //Load inputs - let {user, sections, "limit.skills": _limit_skills, "limit.recent": _limit_recent} = imports.metadata.plugins.leetcode.inputs({data, account, q}) + let {user, sections, "limit.skills": _limit_skills, "ignored.skills": _ignored_skills, "limit.recent": _limit_recent} = imports.metadata.plugins.leetcode.inputs({data, account, q}) const result = {user, sections, languages: [], skills: [], problems: {}, recent: []} //Languages stats @@ -24,6 +24,7 @@ export default async function({login, q, imports, data, queries, account}, {enab for (const category in skills) result.skills.push(...skills[category].map(({tagName: name, problemsSolved: solved}) => ({name, solved, category}))) result.skills.sort((a, b) => b.solved - a.solved) + result.skills = result.skills.filter(({name, category}) => (imports.filters.text(name, _ignored_skills))&&(imports.filters.text(category, _ignored_skills))) result.skills = result.skills.slice(0, _limit_skills || Infinity) } diff --git a/source/plugins/leetcode/metadata.yml b/source/plugins/leetcode/metadata.yml index 452d0e15..abf18884 100644 --- a/source/plugins/leetcode/metadata.yml +++ b/source/plugins/leetcode/metadata.yml @@ -50,6 +50,15 @@ inputs: min: 0 zero: disable + plugin_leetcode_ignored_skills: + description: | + Ignored skills + + It is possible to ignore entires categories by passing `fundamental`, `intermediate` or `advanced` + type: array + default: "" + example: hash table, string, divide and conquer, fundamental + plugin_leetcode_limit_recent: description: | Display limit (recent)