diff options
author | Kornel <kornel@geekhood.net> | 2020-02-28 18:53:29 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-02-28 18:53:29 +0000 |
commit | 4ecf9e46ace52c3d0a2349be4a5e30deab40ce8d (patch) | |
tree | 4390b363c34d3fd5a1e47033ea3cfbdfeedeac2b | |
parent | ba9ffff97e85f0df74c24785ffaa7706a7c9af7f (diff) |
Ugc attr
-rw-r--r-- | front_end/Cargo.toml | 2 | ||||
-rw-r--r-- | front_end/src/crate_page.rs | 9 | ||||
-rw-r--r-- | front_end/src/front_end.rs | 3 | ||||
-rw-r--r-- | front_end/src/install_page.rs | 3 | ||||
-rw-r--r-- | ranking/Cargo.toml | 2 | ||||
-rw-r--r-- | ranking/src/lib_ranking.rs | 2 | ||||
-rw-r--r-- | reindex/src/bin/reindex_crates.rs | 3 | ||||
m--------- | render_readme | 0 | ||||
-rw-r--r-- | rich_crate/Cargo.toml | 2 | ||||
-rw-r--r-- | server/Cargo.toml | 2 |
10 files changed, 18 insertions, 10 deletions
diff --git a/front_end/Cargo.toml b/front_end/Cargo.toml index 29f1361..8889b9b 100644 --- a/front_end/Cargo.toml +++ b/front_end/Cargo.toml @@ -15,7 +15,7 @@ ructe = "0.9" [dependencies] kitchen_sink = { path = "../kitchen_sink", version = "0.9" } rich_crate = { path = "../rich_crate" } -render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.6.0" } +render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.7.0" } categories = { path = "../categories" } udedokei = { path = "../udedokei" } search_index = { path = "../search_index" } diff --git a/front_end/src/crate_page.rs b/front_end/src/crate_page.rs index 50e1c5e..47a5210 100644 --- a/front_end/src/crate_page.rs +++ b/front_end/src/crate_page.rs @@ -14,6 +14,7 @@ use kitchen_sink::DepInfMap; use kitchen_sink::{DepTy, KitchenSink, Origin}; use locale::Numeric; use render_readme::Renderer; +use render_readme::Links; use rich_crate::Readme; use rich_crate::RepoHost; use rich_crate::RichCrate; @@ -269,9 +270,13 @@ impl<'a> CratePage<'a> { templates::Html(html) } - pub fn nofollow(&self) -> bool { + pub fn nofollow(&self) -> Links { // TODO: take multiple factors into account, like # of contributors, author reputation, dependents - self.block(self.kitchen_sink.downloads_per_month_or_equivalent(self.all.origin())).ok().and_then(|x| x).unwrap_or(0) < 50 + if self.block(self.kitchen_sink.downloads_per_month_or_equivalent(self.all.origin())).ok().and_then(|x| x).unwrap_or(0) < 100 { + Links::Ugc + } else { + Links::FollowUgc + } } fn block<O>(&self, f: impl Future<Output = O>) -> O { diff --git a/front_end/src/front_end.rs b/front_end/src/front_end.rs index dffb190..24ea176 100644 --- a/front_end/src/front_end.rs +++ b/front_end/src/front_end.rs @@ -30,6 +30,7 @@ use kitchen_sink::KitchenSink; use kitchen_sink::{stopped, KitchenSinkErr}; use render_readme::Markup; use render_readme::Renderer; +use render_readme::Links; use rich_crate::RichCrate; use rich_crate::RichCrateVersion; use semver::Version as SemVer; @@ -259,7 +260,7 @@ pub fn render_static_page(out: &mut impl Write, title: String, page: &Markup, re Err(KitchenSinkErr::Stopped)?; } - let (html, warnings) = renderer.page(page, Some(("https://lib.rs", "https://lib.rs")), false, None); + let (html, warnings) = renderer.page(page, Some(("https://lib.rs", "https://lib.rs")), Links::Trusted, None); if !warnings.is_empty() { eprintln!("static: {:?}", warnings); } diff --git a/front_end/src/install_page.rs b/front_end/src/install_page.rs index ad712d5..0c48fdc 100644 --- a/front_end/src/install_page.rs +++ b/front_end/src/install_page.rs @@ -2,6 +2,7 @@ use crate::templates; use crate::Page; use kitchen_sink::KitchenSink; use render_readme::Renderer; +use render_readme::Links; use rich_crate::Readme; use rich_crate::RichCrateVersion; @@ -53,7 +54,7 @@ impl<'a> InstallPage<'a> { (Some(l), None) => Some((l.as_str(), l.as_str())), _ => None, }; - let (html, warnings) = self.markup.page(&readme.markup, urls, true, Some(self.ver.short_name())); + let (html, warnings) = self.markup.page(&readme.markup, urls, Links::Ugc, Some(self.ver.short_name())); if !warnings.is_empty() { eprintln!("{} readme: {:?}", self.ver.short_name(), warnings); } diff --git a/ranking/Cargo.toml b/ranking/Cargo.toml index f95b1ae..a1a8803 100644 --- a/ranking/Cargo.toml +++ b/ranking/Cargo.toml @@ -12,5 +12,5 @@ path = "src/lib_ranking.rs" rich_crate = { path = "../rich_crate" } chrono = "0.4.10" cargo_toml = "0.8.0" -render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.6.1" } +render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.7" } semver = "0.9.0" diff --git a/ranking/src/lib_ranking.rs b/ranking/src/lib_ranking.rs index c9d6655..2621050 100644 --- a/ranking/src/lib_ranking.rs +++ b/ranking/src/lib_ranking.rs @@ -368,7 +368,7 @@ code * list * items -".into()), None, false, None); +".into()), None, render_readme::Links::Ugc, None); let mut p = Default::default(); fill_props(&dom, &mut p, false); assert_eq!(p.images, 1); diff --git a/reindex/src/bin/reindex_crates.rs b/reindex/src/bin/reindex_crates.rs index b74ddae..e0c5966 100644 --- a/reindex/src/bin/reindex_crates.rs +++ b/reindex/src/bin/reindex_crates.rs @@ -10,6 +10,7 @@ use rand::{seq::SliceRandom, thread_rng}; use ranking::CrateTemporalInputs; use ranking::CrateVersionInputs; use render_readme::Renderer; +use render_readme::Links; use search_index::*; use std::collections::HashSet; use std::sync::mpsc; @@ -179,7 +180,7 @@ async fn crate_overall_score(crates: &KitchenSink, all: &RichCrate, k: &RichCrat versions: all.versions(), description: k.description().unwrap_or(""), readme: k.readme().map(|readme| { - renderer.page_node(&readme.markup, None, false, None) + renderer.page_node(&readme.markup, None, Links::Ugc, None) }).as_ref(), owners: all.owners(), authors: k.authors(), diff --git a/render_readme b/render_readme -Subproject 90b6dee02e393d6149d53eb6477cff797d00026 +Subproject 8778c7bb274185745693d40b51d6c796f989133 diff --git a/rich_crate/Cargo.toml b/rich_crate/Cargo.toml index f89ed07..8d3288c 100644 --- a/rich_crate/Cargo.toml +++ b/rich_crate/Cargo.toml @@ -8,7 +8,7 @@ license = "Apache-2.0 OR MIT" [dependencies] crates_io_client = { path = "../crates_io_client", version = "0.8.2" } -render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.6.0" } +render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.7" } categories = { path = "../categories" } udedokei = { path = "../udedokei" } cargo_author = "1.0.2" diff --git a/server/Cargo.toml b/server/Cargo.toml index c046be5..7f148de 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -19,7 +19,7 @@ assets = [ actix-web = "2" env_logger = "0.7" log = "0.4.6" -render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.6.1" } +render_readme = { git = "https://gitlab.com/crates.rs/render_readme.git", version = "0.7" } search_index = { path = "../search_index" } repo_url = { path = "../repo_url" } kitchen_sink = { path = "../kitchen_sink", version = "0.9" } |