Merge pull request 'fix: invalid url' (#3) from fix/invalid-url into main
Reviewed-on: #3
This commit is contained in:
commit
f030a7cbf8
@ -17,6 +17,7 @@ pub async fn handle(mut url: String, runtime: &TargetRuntime) -> anyhow::Result<
|
||||
let mut htmls = vec![];
|
||||
let mut root = handle_inner(&url, runtime).await?;
|
||||
htmls.push(root.clone());
|
||||
let mut links = vec![];
|
||||
|
||||
loop {
|
||||
let parsed = Html::parse_document(&root);
|
||||
@ -34,6 +35,8 @@ pub async fn handle(mut url: String, runtime: &TargetRuntime) -> anyhow::Result<
|
||||
match val {
|
||||
Some(val) => {
|
||||
let next = val.value().attr("href").unwrap_or("#");
|
||||
links.push(next.to_string());
|
||||
|
||||
url = format!("{}{}", url, next);
|
||||
|
||||
let next = handle_inner(&url, runtime).await?;
|
||||
@ -51,5 +54,12 @@ pub async fn handle(mut url: String, runtime: &TargetRuntime) -> anyhow::Result<
|
||||
.flatten()
|
||||
.collect::<Vec<_>>();
|
||||
let text = mds.join("\n");
|
||||
let mut text = text.replace("../", "/");
|
||||
|
||||
links.into_iter().for_each(|v| {
|
||||
let v = v.replace("../", "/");
|
||||
let x = format!("{}{}", url, v);
|
||||
text = text.replace(&v, &x);
|
||||
});
|
||||
Ok(text)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user