website/scripts/docsmg: final version (#11501)
* add docsmg tool * moved to the correct scripts directory * removed test files * added install script and readme draft to docsmg * fix install script * fixed issues * Revert "fixed issues" This reverts commita51192025f. * Revert "Revert "fixed issues"" This reverts commitab68918fea. * added dotenv and updated readme * fixed install script * update readme to ensure that new installers of rust have envs loaded * changed docsmg from using .env to docsmg.env * fixed docsmg to fix internal links in file * fixed docsmg migrate not making directories to file * fixed docsmg migrate trying to read pngs to string * did stuff * fix links * fix links 2 * fix links 3 * fix links * fix links * fix links * fix links * fix links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed docsmg migrate replacing links * fixed links * update docsmg fixing links * update docsmg fixing links * update docsmg fixing links * update docsmg removing empty directories * remove changed docs * Revert "remove changed docs" This reverts commit2e21a5bac8. * remove changed docs * fixed readme --------- Signed-off-by: Tana M Berry <tanamarieberry@yahoo.com> Co-authored-by: Tana M Berry <tanamarieberry@yahoo.com>
This commit is contained in:
34
website/scripts/docsmg/src/links.rs
Normal file
34
website/scripts/docsmg/src/links.rs
Normal file
@ -0,0 +1,34 @@
|
||||
use std::{fs::read_to_string, path::PathBuf};
|
||||
|
||||
use regex::{Captures, Regex};
|
||||
|
||||
use crate::recurse_directory;
|
||||
|
||||
pub fn shorten_all_external_links(migrate_path: PathBuf) {
|
||||
let files = recurse_directory(migrate_path.clone());
|
||||
for file in files {
|
||||
let file = migrate_path.join(file);
|
||||
let absolute_file = file.clone().canonicalize().unwrap();
|
||||
let contents = if let Ok(x) = read_to_string(file) {
|
||||
x
|
||||
} else {
|
||||
continue;
|
||||
};
|
||||
let re = Regex::new(r"\[(?<name>.*)\]\((?<link>.*)\)").unwrap();
|
||||
let captures: Vec<Captures> = re.captures_iter(&contents).collect();
|
||||
for capture in captures {
|
||||
let link = &capture["link"];
|
||||
let link = PathBuf::from(link);
|
||||
let absolute_link = absolute_file
|
||||
.clone()
|
||||
.parent()
|
||||
.unwrap()
|
||||
.join(link)
|
||||
.canonicalize()
|
||||
.unwrap();
|
||||
shorten_link_relative_to(absolute_link.clone(), absolute_file.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn shorten_link_relative_to(link_to_shorten: PathBuf, relative_to: PathBuf) {}
|
||||
Reference in New Issue
Block a user