Merge branch 'rust-lang:master' into master
This commit is contained in:
commit
a3836121c9
|
@ -28,7 +28,6 @@ log = "0.4.17"
|
||||||
memchr = "2.5.0"
|
memchr = "2.5.0"
|
||||||
opener = "0.6.1"
|
opener = "0.6.1"
|
||||||
pulldown-cmark = { version = "0.9.3", default-features = false }
|
pulldown-cmark = { version = "0.9.3", default-features = false }
|
||||||
pathdiff = "0.2.1"
|
|
||||||
regex = "1.8.1"
|
regex = "1.8.1"
|
||||||
serde = { version = "1.0.163", features = ["derive"] }
|
serde = { version = "1.0.163", features = ["derive"] }
|
||||||
serde_json = "1.0.96"
|
serde_json = "1.0.96"
|
||||||
|
@ -41,6 +40,7 @@ topological-sort = "0.2.2"
|
||||||
notify = { version = "6.1.1", optional = true }
|
notify = { version = "6.1.1", optional = true }
|
||||||
notify-debouncer-mini = { version = "0.4.1", optional = true }
|
notify-debouncer-mini = { version = "0.4.1", optional = true }
|
||||||
ignore = { version = "0.4.20", optional = true }
|
ignore = { version = "0.4.20", optional = true }
|
||||||
|
pathdiff = { version = "0.2.1", optional = true }
|
||||||
|
|
||||||
# Serve feature
|
# Serve feature
|
||||||
futures-util = { version = "0.3.28", optional = true }
|
futures-util = { version = "0.3.28", optional = true }
|
||||||
|
@ -61,7 +61,7 @@ walkdir = "2.3.3"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["watch", "serve", "search"]
|
default = ["watch", "serve", "search"]
|
||||||
watch = ["dep:notify", "dep:notify-debouncer-mini", "dep:ignore"]
|
watch = ["dep:notify", "dep:notify-debouncer-mini", "dep:ignore", "dep:pathdiff"]
|
||||||
serve = ["dep:futures-util", "dep:tokio", "dep:warp"]
|
serve = ["dep:futures-util", "dep:tokio", "dep:warp"]
|
||||||
search = ["dep:elasticlunr-rs", "dep:ammonia"]
|
search = ["dep:elasticlunr-rs", "dep:ammonia"]
|
||||||
|
|
||||||
|
|
|
@ -939,8 +939,9 @@ fn add_playground_pre(
|
||||||
/// Modifies all `<code>` blocks to convert "hidden" lines and to wrap them in
|
/// Modifies all `<code>` blocks to convert "hidden" lines and to wrap them in
|
||||||
/// a `<span class="boring">`.
|
/// a `<span class="boring">`.
|
||||||
fn hide_lines(html: &str, code_config: &Code) -> String {
|
fn hide_lines(html: &str, code_config: &Code) -> String {
|
||||||
let language_regex = Regex::new(r"\blanguage-(\w+)\b").unwrap();
|
static LANGUAGE_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"\blanguage-(\w+)\b").unwrap());
|
||||||
let hidelines_regex = Regex::new(r"\bhidelines=(\S+)").unwrap();
|
static HIDELINES_REGEX: Lazy<Regex> = Lazy::new(|| Regex::new(r"\bhidelines=(\S+)").unwrap());
|
||||||
|
|
||||||
CODE_BLOCK_RE
|
CODE_BLOCK_RE
|
||||||
.replace_all(html, |caps: &Captures<'_>| {
|
.replace_all(html, |caps: &Captures<'_>| {
|
||||||
let text = &caps[1];
|
let text = &caps[1];
|
||||||
|
@ -955,12 +956,12 @@ fn hide_lines(html: &str, code_config: &Code) -> String {
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
// First try to get the prefix from the code block
|
// First try to get the prefix from the code block
|
||||||
let hidelines_capture = hidelines_regex.captures(classes);
|
let hidelines_capture = HIDELINES_REGEX.captures(classes);
|
||||||
let hidelines_prefix = match &hidelines_capture {
|
let hidelines_prefix = match &hidelines_capture {
|
||||||
Some(capture) => Some(&capture[1]),
|
Some(capture) => Some(&capture[1]),
|
||||||
None => {
|
None => {
|
||||||
// Then look up the prefix by language
|
// Then look up the prefix by language
|
||||||
language_regex.captures(classes).and_then(|capture| {
|
LANGUAGE_REGEX.captures(classes).and_then(|capture| {
|
||||||
code_config.hidelines.get(&capture[1]).map(|p| p.as_str())
|
code_config.hidelines.get(&capture[1]).map(|p| p.as_str())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,7 +103,7 @@ fn find_chapter(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
previous = Some(item.clone());
|
previous = Some(item);
|
||||||
}
|
}
|
||||||
_ => continue,
|
_ => continue,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue