diff --git a/README.md b/README.md index 0e78ca2..0566b3d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,20 @@ This projects goal is to implement a fast markdown parser with an extended syntax fitted for my needs. +## Installation + +You need a working rust installation, for example by using [rustup](http://rustup.rs). + +```sh +cargo install snekdown +``` + +With pdf rendering + +```sh +cargo install snekdown --features pdf +``` + ## Usage ``` diff --git a/src/format/chromium_pdf/mod.rs b/src/format/chromium_pdf/mod.rs index 5fb4d48..8c9692c 100644 --- a/src/format/chromium_pdf/mod.rs +++ b/src/format/chromium_pdf/mod.rs @@ -6,12 +6,9 @@ use crate::references::configuration::keys::INCLUDE_MATHJAX; use crate::utils::downloads::get_cached_path; use headless_chrome::protocol::page::PrintToPdfOptions; use headless_chrome::{Browser, LaunchOptionsBuilder, Tab}; -use std::error::Error; -use std::fs::{File, OpenOptions}; -use std::io; +use std::fs::OpenOptions; use std::io::BufWriter; use std::path::PathBuf; -use std::sync::{Arc, Mutex}; use std::thread; use std::time::{Duration, Instant}; @@ -40,7 +37,7 @@ pub fn render_to_pdf(document: Document) -> PdfRenderingResult> { .open(file_path)?, ); let mut html_writer = HTMLWriter::new(Box::new(writer)); - document.to_html(&mut html_writer); + document.to_html(&mut html_writer)?; log::debug!("Successfully rendered temporary html file!"); html_writer.flush() } diff --git a/src/main.rs b/src/main.rs index 94a5091..0b3db3b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,7 +54,6 @@ fn main() { .filter_module("mio", LevelFilter::Warn) .filter_module("want", LevelFilter::Warn) .format(|buf, record| { - use std::io::Write; let color = get_level_style(record.level()); writeln!( buf, @@ -133,7 +132,7 @@ fn render(opt: &Opt) -> Parser { .create(true) .open(&opt.output) .unwrap(); - let mut writer = BufWriter::new(file); + let writer = BufWriter::new(file); render_format(opt, document, writer); log::info!("Rendering took: {:?}", start_render.elapsed()); @@ -143,7 +142,7 @@ fn render(opt: &Opt) -> Parser { } #[cfg(not(feature = "pdf"))] -fn render_format(opt: &Opt, document: Document, mut writer: BufWriter) { +fn render_format(opt: &Opt, document: Document, writer: BufWriter) { match opt.format.as_str() { "html" => render_html(document, writer), _ => log::error!("Unknown format {}", opt.format), @@ -151,7 +150,7 @@ fn render_format(opt: &Opt, document: Document, mut writer: BufWriter) { } #[cfg(feature = "pdf")] -fn render_format(opt: &Opt, document: Document, mut writer: BufWriter) { +fn render_format(opt: &Opt, document: Document, writer: BufWriter) { match opt.format.as_str() { "html" => render_html(document, writer), "pdf" => render_pdf(document, writer), @@ -159,7 +158,7 @@ fn render_format(opt: &Opt, document: Document, mut writer: BufWriter) { } } -fn render_html(document: Document, mut writer: BufWriter) { +fn render_html(document: Document, writer: BufWriter) { let mut writer = HTMLWriter::new(Box::new(writer)); document.to_html(&mut writer).unwrap(); writer.flush().unwrap();