gaysex
This commit is contained in:
@@ -4,6 +4,9 @@ mod markdown;
|
||||
use markdown::{get_all_posts, get_post_by_slug, get_posts_by_tag, watch_posts};
|
||||
use serde_json;
|
||||
use std::fs;
|
||||
use std::io;
|
||||
use std::io::Read; // STD AYOOOOOOOOOOOOOO - Tsodin
|
||||
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(name = "Markdown Backend")]
|
||||
@@ -31,6 +34,15 @@ enum Commands {
|
||||
Rsparseinfo,
|
||||
/// Check backend health
|
||||
Checkhealth,
|
||||
/// Parse markdown from file or stdin
|
||||
Parse {
|
||||
#[arg(long)]
|
||||
file: Option<String>,
|
||||
#[arg(long)]
|
||||
stdin: bool,
|
||||
#[arg(long)]
|
||||
ast: bool,
|
||||
},
|
||||
}
|
||||
|
||||
fn main() {
|
||||
@@ -80,5 +92,39 @@ fn main() {
|
||||
let health = markdown::checkhealth();
|
||||
println!("{}", serde_json::to_string_pretty(&health).unwrap());
|
||||
}
|
||||
Commands::Parse { file, stdin, ast } => {
|
||||
let input = if let Some(file_path) = file {
|
||||
match std::fs::read_to_string(file_path) {
|
||||
Ok(content) => content,
|
||||
Err(e) => {
|
||||
eprintln!("Failed to read file: {}", e);
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
} else if *stdin {
|
||||
let mut buffer = String::new();
|
||||
if let Err(e) = io::stdin().read_to_string(&mut buffer) {
|
||||
eprintln!("Failed to read from stdin: {}", e);
|
||||
std::process::exit(1);
|
||||
}
|
||||
buffer
|
||||
} else {
|
||||
eprintln!("Please provide --file <path> or --stdin");
|
||||
std::process::exit(1);
|
||||
};
|
||||
if *ast {
|
||||
// Print pulldown_cmark events as debug output
|
||||
let parser = pulldown_cmark::Parser::new_ext(&input, pulldown_cmark::Options::all());
|
||||
for event in parser {
|
||||
println!("{:?}", event);
|
||||
}
|
||||
} else {
|
||||
// Print HTML output
|
||||
let parser = pulldown_cmark::Parser::new_ext(&input, pulldown_cmark::Options::all());
|
||||
let mut html_output = String::new();
|
||||
pulldown_cmark::html::push_html(&mut html_output, parser);
|
||||
println!("{}", html_output);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user