summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorveradec <glitchmill.dyj3d@simplelogin.co>2026-10-27 22:00:15 +0530
committerveradec <glitchmill.dyj3d@simplelogin.co>2026-10-27 22:00:15 +0530
commitee8377a7c0f9ebb9f3655c0a350fa9ba0174caf0 (patch)
tree32f0509ebd46da6fc17d855b8013c87cf3409795 /src
init: markdown -> html conversion works
Diffstat (limited to 'src')
-rw-r--r--src/main.rs59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..f125e7b
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,59 @@
+#![allow(unused)]
+use markdown;
+use std::env;
+use std::fs;
+use std::path::PathBuf;
+
+struct File {
+ file_name: String,
+ parent_directory: String,
+ date: Option<String>,
+ title: Option<String>,
+ description: Option<String>,
+ content: String,
+}
+
+fn markdown_to_html(path: String, content: String) -> File {
+ let mut end: usize = 0;
+ if &content[0..3] != "+++" {
+ println!("It doesnt pass");
+ }
+
+ let end = content[3..].find("+++").unwrap();
+
+ // if Some(end) == Some(None) {
+ // println!("It doesnt pass");
+ // }
+
+ let meta_data = &content[3..end];
+
+ println!("{meta_data}\n\n");
+
+ let html = markdown::to_html(&content[end + 7..]);
+ let file_name = std::path::Path::new(&path).file_name().unwrap();
+ return File {
+ file_name: file_name.to_str().unwrap().to_string(),
+ parent_directory: path,
+ date: None,
+ title: None,
+ description: None,
+ content: html,
+ };
+}
+
+fn main() {
+ // let contents_path = std::path::Path::new("./content/index.md");
+ let path = "./content/index.md";
+ // let path = std::env::current_dir()
+ // .unwrap()
+ // .into_os_string()
+ // .into_string();
+ // println!("File parent_directory: {}", path);
+
+ let contents_read = fs::read_to_string(path).unwrap();
+ let f: File = markdown_to_html(path.to_string(), contents_read);
+ println!(
+ "file_name: {}\npath:{}\ncontent:\n{}",
+ f.file_name, f.parent_directory, f.content
+ );
+}