diff options
Diffstat (limited to 'front_end')
-rw-r--r-- | front_end/src/author_page.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/front_end/src/author_page.rs b/front_end/src/author_page.rs index 3df0013..2f06bab 100644 --- a/front_end/src/author_page.rs +++ b/front_end/src/author_page.rs @@ -70,8 +70,9 @@ impl<'a> AuthorPage<'a> { // Most collaborated with let mut collab = HashMap::new(); for (c, _, row, all_owners) in founder_crates.iter().chain(member_crates.iter()) { - for k in c.keywords() { - *keywords.entry(k).or_insert(0.) += row.crate_ranking + 0.5; + for (i, k) in c.keywords().iter().enumerate() { + // take first(-ish) keyword from each crate to avoid one crate taking most + *keywords.entry(k).or_insert(0.) += (row.crate_ranking + 0.5) / (i+2) as f32; } if let Some(own) = all_owners.iter().find(|o| o.github_id == aut.github.id) { |