Compare commits

..

No commits in common. "3e56c1e557544acec78876323a29f1fae05c563c" and "b491e210c7873fede599f5043e237b73f858d81d" have entirely different histories.

6 changed files with 12 additions and 17 deletions

2
Cargo.lock generated
View file

@ -508,7 +508,7 @@ checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]] [[package]]
name = "mlem" name = "mlem"
version = "0.2.0" version = "0.1.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"derive_more", "derive_more",

View file

@ -1,6 +1,6 @@
[package] [package]
name = "mlem" name = "mlem"
version = "0.2.0" version = "0.1.0"
edition = "2021" edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -6,8 +6,8 @@ pub struct Config {
pub output_dir: String, pub output_dir: String,
pub src_dir: String, pub src_dir: String,
pub templates_dir: String, pub templates_dir: String,
pub emoji_web_directory: Option<String>, pub emoji_web_directory: String,
pub emoji_local_directory: Option<String>, pub emoji_local_directory: String,
} }
pub fn read_config() -> Config { pub fn read_config() -> Config {

View file

@ -2,24 +2,20 @@ use regex::Regex;
use std::{ffi::OsString, fs::read_dir}; use std::{ffi::OsString, fs::read_dir};
pub fn emoji_pass( pub fn emoji_pass(
markdown: &str, markdown: &str,
emoji_web_directory: &Option<String>, emoji_web_directory: &String,
emoji_local_directory: &Option<String>, emoji_local_directory: &String,
) -> String { ) -> String {
if emoji_web_directory.is_none() | emoji_local_directory.is_none() {
return markdown.to_string();
}
let mut markdown = markdown.to_owned(); let mut markdown = markdown.to_owned();
let re_emojis = Regex::new(r":\w+:").unwrap(); let re_emojis = Regex::new(r":\w+:").unwrap();
for emoji in re_emojis.find_iter(&markdown.clone()) { for emoji in re_emojis.find_iter(&markdown.clone()) {
let emoji_file_name = let emoji_file_name =
get_emoji_file_name(&get_emoji_name(emoji.as_str()), &emoji_local_directory.as_ref().unwrap()); get_emoji_file_name(&get_emoji_name(emoji.as_str()), emoji_local_directory);
if emoji_file_name.is_none() { if emoji_file_name.is_none() {
continue; continue;
} }
let html_string = format!( let html_string = format!(
"<img class=\"emoji\" src=\"{}/{}\"><img>", "<img class=\"emoji\" src=\"{emoji_web_directory}/{}\"><img>",
emoji_web_directory.as_ref().unwrap(),
emoji_file_name.unwrap().to_str().unwrap() emoji_file_name.unwrap().to_str().unwrap()
); );
markdown = markdown.replacen(emoji.as_str(), &html_string, 1); markdown = markdown.replacen(emoji.as_str(), &html_string, 1);

View file

@ -56,7 +56,7 @@ pub fn generate_blog_entry(markdown: String, template_dir: &String) -> (String,
allow_dangerous_protocol: true, allow_dangerous_protocol: true,
..CompileOptions::default() ..CompileOptions::default()
}, },
..Options::gfm() ..Options::default()
}, },
) )
.unwrap(); .unwrap();

View file

@ -1,9 +1,8 @@
use std::fs::read_to_string; use std::fs::read_to_string;
pub mod config; mod config;
pub mod emoji; mod emoji;
pub mod index; mod index;
use mlem::*; use mlem::*;
fn main() { fn main() {
let config = config::read_config(); let config = config::read_config();
let raw_files = read_src_files(&config.src_dir); let raw_files = read_src_files(&config.src_dir);