mirror of
https://github.com/Hopiu/lychee.git
synced 2026-05-04 20:04:44 +00:00
Bump the dependencies group with 6 updates (#1486)
* Bump the dependencies group with 6 updates Bumps the dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.13` | `4.5.15` | | [serde](https://github.com/serde-rs/serde) | `1.0.204` | `1.0.206` | | [serde_json](https://github.com/serde-rs/json) | `1.0.122` | `1.0.124` | | [assert_cmd](https://github.com/assert-rs/assert_cmd) | `2.0.15` | `2.0.16` | | [tempfile](https://github.com/Stebalien/tempfile) | `3.11.0` | `3.12.0` | | [html5ever](https://github.com/servo/html5ever) | `0.27.0` | `0.28.0` | Updates `clap` from 4.5.13 to 4.5.15 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.13...v4.5.15) Updates `serde` from 1.0.204 to 1.0.206 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206) Updates `serde_json` from 1.0.122 to 1.0.124 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.124) Updates `assert_cmd` from 2.0.15 to 2.0.16 - [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md) - [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.15...v2.0.16) Updates `tempfile` from 3.11.0 to 3.12.0 - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stebalien/tempfile/commits) Updates `html5ever` from 0.27.0 to 0.28.0 - [Commits](https://github.com/servo/html5ever/commits) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: assert_cmd dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: tempfile dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: html5ever dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies ... Signed-off-by: dependabot[bot] <support@github.com> * Fix compile error --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matthias <matthias@endler.dev>
This commit is contained in:
parent
bf19934949
commit
0a53e920ed
4 changed files with 89 additions and 76 deletions
108
Cargo.lock
generated
108
Cargo.lock
generated
|
|
@ -81,9 +81,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.6"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
|
||||
checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
|
|
@ -143,13 +143,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "assert_cmd"
|
||||
version = "2.0.15"
|
||||
version = "2.0.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc65048dd435533bb1baf2ed9956b9a278fbfdcf90301b39ee117f06c0199d37"
|
||||
checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"bstr",
|
||||
"doc-comment",
|
||||
"libc",
|
||||
"predicates",
|
||||
"predicates-core",
|
||||
"predicates-tree",
|
||||
|
|
@ -734,7 +735,7 @@ dependencies = [
|
|||
"iana-time-zone",
|
||||
"num-traits",
|
||||
"serde",
|
||||
"windows-targets 0.52.5",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -766,9 +767,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.13"
|
||||
version = "4.5.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc"
|
||||
checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
|
|
@ -776,9 +777,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.13"
|
||||
version = "4.5.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99"
|
||||
checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
|
@ -1909,9 +1910,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "html5ever"
|
||||
version = "0.27.0"
|
||||
version = "0.28.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4"
|
||||
checksum = "0ff6858c1f7e2a470c5403091866fa95b36fe0dbac5d771f932c15e5ff1ee501"
|
||||
dependencies = [
|
||||
"log",
|
||||
"mac",
|
||||
|
|
@ -2582,9 +2583,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "markup5ever"
|
||||
version = "0.12.1"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45"
|
||||
checksum = "d581ff8be69d08a2efa23a959d81aa22b739073f749f067348bd4f4ba4b69195"
|
||||
dependencies = [
|
||||
"log",
|
||||
"phf",
|
||||
|
|
@ -3874,18 +3875,18 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.204"
|
||||
version = "1.0.206"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
|
||||
checksum = "5b3e4cd94123dd520a128bcd11e34d9e9e423e7e3e50425cb1b4b1e3549d0284"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.204"
|
||||
version = "1.0.206"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
|
||||
checksum = "fabfb6138d2383ea8208cf98ccf69cdfb1aff4088460681d84189aa259762f97"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -3894,9 +3895,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.122"
|
||||
version = "1.0.124"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
|
||||
checksum = "66ad62847a56b3dba58cc891acd13884b9c61138d330c0d7b6181713d4fce38d"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
|
|
@ -4270,15 +4271,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.11.0"
|
||||
version = "3.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53"
|
||||
checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"fastrand 2.0.2",
|
||||
"once_cell",
|
||||
"rustix 0.38.34",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5008,7 +5009,7 @@ version = "0.52.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.5",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5026,7 +5027,16 @@ version = "0.52.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.5",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5046,18 +5056,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.52.5",
|
||||
"windows_aarch64_msvc 0.52.5",
|
||||
"windows_i686_gnu 0.52.5",
|
||||
"windows_aarch64_gnullvm 0.52.6",
|
||||
"windows_aarch64_msvc 0.52.6",
|
||||
"windows_i686_gnu 0.52.6",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc 0.52.5",
|
||||
"windows_x86_64_gnu 0.52.5",
|
||||
"windows_x86_64_gnullvm 0.52.5",
|
||||
"windows_x86_64_msvc 0.52.5",
|
||||
"windows_i686_msvc 0.52.6",
|
||||
"windows_x86_64_gnu 0.52.6",
|
||||
"windows_x86_64_gnullvm 0.52.6",
|
||||
"windows_x86_64_msvc 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -5068,9 +5078,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
|||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
|
|
@ -5080,9 +5090,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
|||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
|
|
@ -5092,15 +5102,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
|||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
|
|
@ -5110,9 +5120,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
|||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
|
|
@ -5122,9 +5132,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
|||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
|
|
@ -5134,9 +5144,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
|||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
|
|
@ -5146,9 +5156,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
|||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.5"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ lychee-lib = { path = "../lychee-lib", version = "0.15.1", default-features = fa
|
|||
|
||||
anyhow = "1.0.86"
|
||||
assert-json-diff = "2.0.2"
|
||||
clap = { version = "4.5.13", features = ["env", "derive"] }
|
||||
clap = { version = "4.5.15", features = ["env", "derive"] }
|
||||
console = "0.15.8"
|
||||
const_format = "0.2.32"
|
||||
csv = "1.3.0"
|
||||
|
|
@ -46,8 +46,8 @@ reqwest_cookie_store = "0.8.0"
|
|||
# https://github.com/Homebrew/homebrew-core/pull/70216
|
||||
ring = "0.17.8"
|
||||
secrecy = { version = "0.8.0", features = ["serde"] }
|
||||
serde = { version = "1.0.204", features = ["derive"] }
|
||||
serde_json = "1.0.122"
|
||||
serde = { version = "1.0.206", features = ["derive"] }
|
||||
serde_json = "1.0.124"
|
||||
strum = { version = "0.26.3", features = ["derive"] }
|
||||
supports-color = "3.0.0"
|
||||
tabled = "0.16.0"
|
||||
|
|
@ -56,10 +56,10 @@ tokio-stream = "0.1.15"
|
|||
toml = "0.8.19"
|
||||
|
||||
[dev-dependencies]
|
||||
assert_cmd = "2.0.15"
|
||||
assert_cmd = "2.0.16"
|
||||
predicates = "3.1.2"
|
||||
pretty_assertions = "1.4.0"
|
||||
tempfile = "3.11.0"
|
||||
tempfile = "3.12.0"
|
||||
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
|
||||
"fmt",
|
||||
"registry",
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ email_address = "0.2.9"
|
|||
futures = "0.3.30"
|
||||
glob = "0.3.1"
|
||||
headers = "0.4.0"
|
||||
html5ever = "0.27.0"
|
||||
html5ever = "0.28.0"
|
||||
html5gum = "0.5.7"
|
||||
http = "1.0.0"
|
||||
hyper = "1.3.1"
|
||||
|
|
@ -49,7 +49,7 @@ reqwest_cookie_store = "0.8.0"
|
|||
# https://github.com/Homebrew/homebrew-core/pull/70216
|
||||
ring = "0.17.8"
|
||||
secrecy = "0.8.0"
|
||||
serde = { version = "1.0.204", features = ["derive"] }
|
||||
serde = { version = "1.0.206", features = ["derive"] }
|
||||
serde_with = "3.8.1"
|
||||
shellexpand = "3.1.0"
|
||||
thiserror = "1.0.63"
|
||||
|
|
@ -64,9 +64,9 @@ features = ["runtime-tokio"]
|
|||
|
||||
[dev-dependencies]
|
||||
doc-comment = "0.3.3"
|
||||
tempfile = "3.11.0"
|
||||
tempfile = "3.12.0"
|
||||
wiremock = "0.6.1"
|
||||
serde_json = "1.0.122"
|
||||
serde_json = "1.0.124"
|
||||
rstest = "0.22.0"
|
||||
toml = "0.8.19"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
use std::cell::RefCell;
|
||||
|
||||
use html5ever::{
|
||||
buffer_queue::BufferQueue,
|
||||
tendril::StrTendril,
|
||||
|
|
@ -9,22 +11,22 @@ use crate::types::uri::raw::RawUri;
|
|||
|
||||
#[derive(Clone, Default)]
|
||||
struct LinkExtractor {
|
||||
links: Vec<RawUri>,
|
||||
links: RefCell<Vec<RawUri>>,
|
||||
include_verbatim: bool,
|
||||
current_verbatim_element_name: Option<String>,
|
||||
current_verbatim_element_name: RefCell<Option<String>>,
|
||||
}
|
||||
|
||||
impl TokenSink for LinkExtractor {
|
||||
type Handle = ();
|
||||
|
||||
#[allow(clippy::match_same_arms)]
|
||||
fn process_token(&mut self, token: Token, _line_number: u64) -> TokenSinkResult<()> {
|
||||
fn process_token(&self, token: Token, _line_number: u64) -> TokenSinkResult<()> {
|
||||
match token {
|
||||
Token::CharacterTokens(raw) => {
|
||||
if self.current_verbatim_element_name.is_some() {
|
||||
if self.current_verbatim_element_name.borrow().is_some() {
|
||||
return TokenSinkResult::Continue;
|
||||
}
|
||||
self.links.extend(extract_plaintext(&raw));
|
||||
self.links.borrow_mut().extend(extract_plaintext(&raw));
|
||||
}
|
||||
Token::TagToken(tag) => {
|
||||
let Tag {
|
||||
|
|
@ -36,25 +38,26 @@ impl TokenSink for LinkExtractor {
|
|||
// Check if this is a verbatim element, which we want to skip.
|
||||
if !self.include_verbatim && is_verbatim_elem(&name) {
|
||||
// Check if we're currently inside a verbatim block
|
||||
if let Some(current_verbatim_element_name) = &self.current_verbatim_element_name
|
||||
{
|
||||
let mut curr_verbatim_elem = self.current_verbatim_element_name.borrow_mut();
|
||||
|
||||
if curr_verbatim_elem.is_some() {
|
||||
// Inside a verbatim block. Check if the verbatim
|
||||
// element name matches with the current element name.
|
||||
if current_verbatim_element_name == name.as_ref() {
|
||||
if curr_verbatim_elem.as_ref() == Some(&name.to_string()) {
|
||||
// If so, we're done with the verbatim block,
|
||||
// -- but only if this is an end tag.
|
||||
if matches!(kind, TagKind::EndTag) {
|
||||
self.current_verbatim_element_name = None;
|
||||
*curr_verbatim_elem = None;
|
||||
}
|
||||
}
|
||||
} else if matches!(kind, TagKind::StartTag) {
|
||||
// We're not inside a verbatim block, but we just
|
||||
// encountered a verbatim element. Remember the name
|
||||
// of the element.
|
||||
self.current_verbatim_element_name = Some(name.to_string());
|
||||
*curr_verbatim_elem = Some(name.to_string());
|
||||
}
|
||||
}
|
||||
if self.current_verbatim_element_name.is_some() {
|
||||
if self.current_verbatim_element_name.borrow().is_some() {
|
||||
// We want to skip the content of this element
|
||||
// as we're inside a verbatim block.
|
||||
return TokenSinkResult::Continue;
|
||||
|
|
@ -101,7 +104,7 @@ impl TokenSink for LinkExtractor {
|
|||
})
|
||||
.collect::<Vec<_>>(),
|
||||
};
|
||||
self.links.extend(new_urls);
|
||||
self.links.borrow_mut().extend(new_urls);
|
||||
}
|
||||
}
|
||||
Token::ParseError(_err) => {
|
||||
|
|
@ -119,9 +122,9 @@ impl TokenSink for LinkExtractor {
|
|||
impl LinkExtractor {
|
||||
pub(crate) const fn new(include_verbatim: bool) -> Self {
|
||||
Self {
|
||||
links: vec![],
|
||||
links: RefCell::new(Vec::new()),
|
||||
include_verbatim,
|
||||
current_verbatim_element_name: None,
|
||||
current_verbatim_element_name: RefCell::new(None),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -167,17 +170,17 @@ impl LinkExtractor {
|
|||
|
||||
/// Extract unparsed URL strings from an HTML string.
|
||||
pub(crate) fn extract_html(buf: &str, include_verbatim: bool) -> Vec<RawUri> {
|
||||
let mut input = BufferQueue::default();
|
||||
let input = BufferQueue::default();
|
||||
input.push_back(StrTendril::from(buf));
|
||||
|
||||
let mut tokenizer = Tokenizer::new(
|
||||
let tokenizer = Tokenizer::new(
|
||||
LinkExtractor::new(include_verbatim),
|
||||
TokenizerOpts::default(),
|
||||
);
|
||||
let _handle = tokenizer.feed(&mut input);
|
||||
let _handle = tokenizer.feed(&input);
|
||||
tokenizer.end();
|
||||
|
||||
tokenizer.sink.links
|
||||
tokenizer.sink.links.into_inner()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
|||
Loading…
Reference in a new issue