feat(plugins/leetcode): add plugin_leetcode_ignored_skills (closes #1398)

This commit is contained in:
Simon Lecoq
2023-03-14 13:16:22 -04:00
parent 4e19a3bb46
commit 1a7484766d
2 changed files with 11 additions and 1 deletions

View File

@@ -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)
}

View File

@@ -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)