enable most md options; resolves #6
This commit is contained in:
parent
920041184b
commit
247f39e7ec
17
Cargo.lock
generated
17
Cargo.lock
generated
|
@ -735,16 +735,23 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pulldown-cmark"
|
name = "pulldown-cmark"
|
||||||
version = "0.9.6"
|
version = "0.12.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
|
checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.6.0",
|
"bitflags 2.6.0",
|
||||||
"getopts",
|
"getopts",
|
||||||
"memchr",
|
"memchr",
|
||||||
|
"pulldown-cmark-escape",
|
||||||
"unicase",
|
"unicase",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pulldown-cmark-escape"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "quick-xml"
|
name = "quick-xml"
|
||||||
version = "0.32.0"
|
version = "0.32.0"
|
||||||
|
@ -824,7 +831,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "roxy_cli"
|
name = "roxy_cli"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
|
@ -853,9 +860,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "roxy_markdown_parser"
|
name = "roxy_markdown_parser"
|
||||||
version = "0.1.0"
|
version = "0.1.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4c9ad43dee77efc231568de10362592e9d828a5fbeb1d1a6f800515b0424e5ca"
|
checksum = "340648d5566e42d77d96a3dc1d0682defff8248a5eff39b32d751890dbfa4503"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pulldown-cmark",
|
"pulldown-cmark",
|
||||||
"roxy_core",
|
"roxy_core",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "roxy_cli"
|
name = "roxy_cli"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Rowan <rowan@kitsu.cafe>"]
|
authors = ["Rowan <rowan@kitsu.cafe>"]
|
||||||
repository = "https://fem.mint.lgbt/kitsunecafe/roxy-cli"
|
repository = "https://fem.mint.lgbt/kitsunecafe/roxy-cli"
|
||||||
|
@ -12,7 +12,7 @@ homepage = "https://roxy-docs.netlify.app"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
glob = "~0.3.1"
|
glob = "~0.3.1"
|
||||||
syntect = "~5.2.0"
|
syntect = "~5.2.0"
|
||||||
roxy_markdown_parser = "~0.1.0"
|
roxy_markdown_parser = "~0.1.2"
|
||||||
roxy_tera_parser = "~0.1.0"
|
roxy_tera_parser = "~0.1.0"
|
||||||
roxy_markdown_tera_rewriter = "~0.1.0"
|
roxy_markdown_tera_rewriter = "~0.1.0"
|
||||||
roxy_syntect = "~0.1.0"
|
roxy_syntect = "~0.1.0"
|
||||||
|
|
19
src/main.rs
19
src/main.rs
|
@ -10,23 +10,22 @@ use context::Context;
|
||||||
use file_path::FilePath;
|
use file_path::FilePath;
|
||||||
use functions::register_functions;
|
use functions::register_functions;
|
||||||
|
|
||||||
use roxy_markdown_parser::MarkdownParser;
|
use roxy_markdown_parser::{MarkdownParser, Options as MPOptions};
|
||||||
use roxy_markdown_tera_rewriter::{MarkdownTeraPreformatter, MarkdownTeraRewriter};
|
use roxy_markdown_tera_rewriter::{MarkdownTeraPreformatter, MarkdownTeraRewriter};
|
||||||
use roxy_syntect::SyntectParser;
|
use roxy_syntect::SyntectParser;
|
||||||
use roxy_tera_parser::{TeraParser, TeraParserOptions};
|
use roxy_tera_parser::{TeraParser, TeraParserOptions};
|
||||||
|
|
||||||
use clap::Parser as Clap;
|
use clap::Parser as Clap;
|
||||||
use std::{
|
use std::{
|
||||||
ffi,
|
ffi, fs,
|
||||||
fs,
|
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
};
|
};
|
||||||
|
|
||||||
use syntect::{highlighting::ThemeSet, parsing::SyntaxSet};
|
use syntect::{highlighting::ThemeSet, parsing::SyntaxSet};
|
||||||
|
|
||||||
use glob::glob;
|
use glob::glob;
|
||||||
use roxy_core::roxy::{Parser, Roxy};
|
|
||||||
use roxy_core::result::Result;
|
use roxy_core::result::Result;
|
||||||
|
use roxy_core::roxy::{Parser, Roxy};
|
||||||
|
|
||||||
use crate::iter_ext::{Head, MapFoldExt};
|
use crate::iter_ext::{Head, MapFoldExt};
|
||||||
|
|
||||||
|
@ -91,10 +90,7 @@ fn load_config(path: &Path) -> Config {
|
||||||
.into()
|
.into()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn copy_static<T: AsRef<Path>>(
|
fn copy_static<T: AsRef<Path>>(files: &Vec<&PathBuf>, file_path: &FilePath<T>) -> Result<()> {
|
||||||
files: &Vec<&PathBuf>,
|
|
||||||
file_path: &FilePath<T>,
|
|
||||||
) -> Result<()> {
|
|
||||||
for file in files {
|
for file in files {
|
||||||
let output = file_path.to_output(file).unwrap();
|
let output = file_path.to_output(file).unwrap();
|
||||||
fs::create_dir_all(output.parent().unwrap())?;
|
fs::create_dir_all(output.parent().unwrap())?;
|
||||||
|
@ -127,6 +123,11 @@ fn main() -> Result<()> {
|
||||||
let mut context = Context::from_files(meta, &file_path)?;
|
let mut context = Context::from_files(meta, &file_path)?;
|
||||||
context.build_paths(&content, &file_path)?;
|
context.build_paths(&content, &file_path)?;
|
||||||
|
|
||||||
|
let md_options = MPOptions::all()
|
||||||
|
& !MPOptions::ENABLE_SMART_PUNCTUATION
|
||||||
|
& !MPOptions::ENABLE_YAML_STYLE_METADATA_BLOCKS
|
||||||
|
& !MPOptions::ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS;
|
||||||
|
|
||||||
let theme = config.syntect.theme;
|
let theme = config.syntect.theme;
|
||||||
|
|
||||||
let syntax_set = SyntaxSet::load_defaults_newlines();
|
let syntax_set = SyntaxSet::load_defaults_newlines();
|
||||||
|
@ -151,7 +152,7 @@ fn main() -> Result<()> {
|
||||||
let mut syntect = SyntectParser::new(&syntax_set, &theme_set, theme.as_str());
|
let mut syntect = SyntectParser::new(&syntax_set, &theme_set, theme.as_str());
|
||||||
parser.push(&mut syntect);
|
parser.push(&mut syntect);
|
||||||
|
|
||||||
let mut md = MarkdownParser::new();
|
let mut md = MarkdownParser::with_options(md_options);
|
||||||
parser.push(&mut md);
|
parser.push(&mut md);
|
||||||
|
|
||||||
let mut rewriter = MarkdownTeraRewriter::new();
|
let mut rewriter = MarkdownTeraRewriter::new();
|
||||||
|
|
Loading…
Reference in a new issue