add url to rendered text
This commit is contained in:
21
src/main.rs
21
src/main.rs
@@ -1,5 +1,6 @@
|
|||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
|
use std::io::Write;
|
||||||
use std::{fs, path::PathBuf};
|
use std::{fs, path::PathBuf};
|
||||||
use termimad::crossterm::style::Color::*;
|
use termimad::crossterm::style::Color::*;
|
||||||
use termimad::*;
|
use termimad::*;
|
||||||
@@ -31,6 +32,8 @@ fn replace_links(input: &str) -> String {
|
|||||||
intermediate.replace("]", "** ")
|
intermediate.replace("]", "** ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn add_github_link(input: &str, name: &str, file: &DirEntry) -> String {}
|
||||||
|
|
||||||
fn render(input: &str) -> String {
|
fn render(input: &str) -> String {
|
||||||
let mut skin = MadSkin::default();
|
let mut skin = MadSkin::default();
|
||||||
skin.set_headers_fg(rgb(255, 187, 0));
|
skin.set_headers_fg(rgb(255, 187, 0));
|
||||||
@@ -53,17 +56,25 @@ async fn process_file(
|
|||||||
|
|
||||||
let html_stripped = &remove_html(markdown);
|
let html_stripped = &remove_html(markdown);
|
||||||
let links_replaced = &replace_links(html_stripped);
|
let links_replaced = &replace_links(html_stripped);
|
||||||
|
let name = get_file_name(&file);
|
||||||
|
let dir = file.path().parent().unwrap();
|
||||||
|
let url = fs::read_to_string(dir.to_str().unwrap().to_owned() + "url").unwrap();
|
||||||
|
|
||||||
let rendered = render(links_replaced);
|
let github_link_added =
|
||||||
copy_readme(&file, readme_dir);
|
links_replaced.to_owned() + "\n" + name.as_str() + " Github: " + url.as_str();
|
||||||
|
|
||||||
|
let rendered = render(github_link_added.as_str());
|
||||||
|
copy_readme(&file, readme_dir, &url);
|
||||||
write_file(output_dir, &file, &rendered)
|
write_file(output_dir, &file, &rendered)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn copy_readme(file: &DirEntry, readme_dir: PathBuf) {
|
fn copy_readme(file: &DirEntry, readme_dir: PathBuf, url: &str) {
|
||||||
let file_name = get_file_name(&file) + ".md";
|
let file_name = get_file_name(&file) + ".md";
|
||||||
let readme_path = get_output_path(readme_dir, &file_name);
|
let readme_path = get_output_path(readme_dir, &file_name);
|
||||||
|
|
||||||
let _ = std::fs::copy(file.path(), readme_path);
|
let _ = std::fs::copy(file.path(), &readme_path);
|
||||||
|
let mut readme_file = fs::File::options().append(true).open(readme_path).unwrap();
|
||||||
|
writeln!(readme_file, "\n[{} Github]({})", file_name, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_file_name(file: &DirEntry) -> String {
|
fn get_file_name(file: &DirEntry) -> String {
|
||||||
@@ -114,7 +125,7 @@ async fn main() {
|
|||||||
.max_depth(2)
|
.max_depth(2)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter_map(|e| e.ok())
|
.filter_map(|e| e.ok())
|
||||||
.filter(|file| file.file_name() == "README.md")
|
.filter(|file| file.file_name().eq_ignore_ascii_case("readme.md"))
|
||||||
.map(|file| task::spawn(process_file(file, render_path.clone(), readme_path.clone())))
|
.map(|file| task::spawn(process_file(file, render_path.clone(), readme_path.clone())))
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user