diff --git a/Cargo.lock b/Cargo.lock index 7153ac4b..dc6b44a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1638,11 +1638,12 @@ dependencies = [ [[package]] name = "pulldown-cmark" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1872,7 +1873,7 @@ dependencies = [ "link_checker 0.1.0", "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pulldown-cmark 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pulldown-cmark 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3219,7 +3220,7 @@ dependencies = [ "checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" "checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915" "checksum pulldown-cmark 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eef52fac62d0ea7b9b4dc7da092aa64ea7ec3d90af6679422d3d7e0e14b6ee15" -"checksum pulldown-cmark 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "426175701ce727edeeef0a56535d88cc62afbdd977933e82be610044d645c4ec" +"checksum pulldown-cmark 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa4987312f985c300f4d68d208a9e4b646268140b6dbe83388c09652cc19ed3f" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" "checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" "checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" diff --git a/components/rendering/Cargo.toml b/components/rendering/Cargo.toml index ef38a2c1..a4a6408a 100644 --- a/components/rendering/Cargo.toml +++ b/components/rendering/Cargo.toml @@ -6,7 +6,7 @@ authors = ["Vincent Prouillet "] [dependencies] tera = { version = "1.0.0-alpha.3", features = ["preserve_order"] } syntect = "3" -pulldown-cmark = "0.3" +pulldown-cmark = "0.4" slug = "0.1" serde = "1" serde_derive = "1" diff --git a/components/rendering/src/shortcode.rs b/components/rendering/src/shortcode.rs index 4bf7c691..6a47dafd 100644 --- a/components/rendering/src/shortcode.rs +++ b/components/rendering/src/shortcode.rs @@ -58,7 +58,7 @@ fn parse_shortcode_call(pair: Pair) -> (String, Map) { for p in pair.into_inner() { match p.as_rule() { Rule::ident => { - name = Some(p.into_span().as_str().to_string()); + name = Some(p.as_span().as_str().to_string()); } Rule::kwarg => { let mut arg_name = None; @@ -66,7 +66,7 @@ fn parse_shortcode_call(pair: Pair) -> (String, Map) { for p2 in p.into_inner() { match p2.as_rule() { Rule::ident => { - arg_name = Some(p2.into_span().as_str().to_string()); + arg_name = Some(p2.as_span().as_str().to_string()); } Rule::literal => { arg_val = Some(parse_literal(p2)); @@ -169,7 +169,7 @@ pub fn render_shortcodes(content: &str, context: &RenderContext) -> Result res.push_str(p.into_span().as_str()), + Rule::text => res.push_str(p.as_span().as_str()), Rule::inline_shortcode => { let (name, args) = parse_shortcode_call(p); res.push_str(&render_shortcode(&name, &args, context, None)?); @@ -179,12 +179,12 @@ pub fn render_shortcodes(content: &str, context: &RenderContext) -> Result { res.push_str( - &p.into_span().as_str().replacen("{{/*", "{{", 1).replacen("*/}}", "}}", 1), + &p.as_span().as_str().replacen("{{/*", "{{", 1).replacen("*/}}", "}}", 1), ); } Rule::ignored_shortcode_with_body => { @@ -192,13 +192,13 @@ pub fn render_shortcodes(content: &str, context: &RenderContext) -> Result { res.push_str( - &p2.into_span() + &p2.as_span() .as_str() .replacen("{%/*", "{%", 1) .replacen("*/%}", "%}", 1), ); } - Rule::text_in_ignored_body_sc => res.push_str(p2.into_span().as_str()), + Rule::text_in_ignored_body_sc => res.push_str(p2.as_span().as_str()), _ => unreachable!("Got something weird in an ignored shortcode: {:?}", p2), } } @@ -230,7 +230,7 @@ mod tests { panic!(); } assert!(res.is_ok()); - assert_eq!(res.unwrap().last().unwrap().into_span().end(), $input.len()); + assert_eq!(res.unwrap().last().unwrap().as_span().end(), $input.len()); }; }