mirror of
https://github.com/lise-henry/crowbook
synced 2024-05-10 04:26:22 +02:00
Update comrak
This commit is contained in:
parent
e729eb191d
commit
9285b5f3e7
|
@ -2,15 +2,6 @@
|
|||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
|
@ -72,21 +63,6 @@ version = "1.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.66"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.13.0"
|
||||
|
@ -169,10 +145,11 @@ version = "0.4.19"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"libc",
|
||||
"num-integer",
|
||||
"num-traits",
|
||||
"time 0.1.44",
|
||||
"wasm-bindgen",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
|
@ -225,9 +202,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "comrak"
|
||||
version = "0.17.0"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54b9638d96f93f8bf7b050f7505ba0d82b8267f601965b08faa0eb4882a9bba9"
|
||||
checksum = "482aa5695bca086022be453c700a40c02893f1ba7098a2c88351de55341ae894"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"entities",
|
||||
|
@ -358,7 +335,7 @@ dependencies = [
|
|||
"tempdir",
|
||||
"textwrap",
|
||||
"url",
|
||||
"uuid 1.1.2",
|
||||
"uuid",
|
||||
"walkdir 2.3.2",
|
||||
"yaml-rust",
|
||||
]
|
||||
|
@ -446,35 +423,20 @@ version = "1.0.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca"
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"humantime",
|
||||
"log 0.4.17",
|
||||
"regex 1.7.0",
|
||||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "epub-builder"
|
||||
version = "0.5.0"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6663e4a14bc563ac3a6af97daf1bd854463913bed3278f3b9a0930ad263f874"
|
||||
checksum = "8f8b607f95b941c07a724ccd9264cce99632911d5cf96ec76bb56976485c1d9c"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"env_logger",
|
||||
"error-chain",
|
||||
"eyre",
|
||||
"html-escape",
|
||||
"lazy_static 1.4.0",
|
||||
"log 0.4.17",
|
||||
"mustache",
|
||||
"regex 1.7.0",
|
||||
"once_cell",
|
||||
"tempdir",
|
||||
"uuid 0.8.2",
|
||||
"uuid",
|
||||
"zip",
|
||||
]
|
||||
|
||||
|
@ -500,13 +462,13 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "error-chain"
|
||||
version = "0.12.4"
|
||||
name = "eyre"
|
||||
version = "0.6.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
|
||||
checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"version_check",
|
||||
"indenter",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -643,15 +605,9 @@ checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
|
|||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"wasi 0.11.0+wasi-snapshot-preview1",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.26.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.3.13"
|
||||
|
@ -738,12 +694,6 @@ version = "1.0.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
|
||||
|
||||
[[package]]
|
||||
name = "humantime"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.14.20"
|
||||
|
@ -815,6 +765,12 @@ dependencies = [
|
|||
"unicode-normalization",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indenter"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "1.9.1"
|
||||
|
@ -994,7 +950,7 @@ checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
|
|||
dependencies = [
|
||||
"libc",
|
||||
"log 0.4.17",
|
||||
"wasi 0.11.0+wasi-snapshot-preview1",
|
||||
"wasi",
|
||||
"windows-sys 0.36.1",
|
||||
]
|
||||
|
||||
|
@ -1135,15 +1091,6 @@ version = "0.1.4"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e25be21376a772d15f97ae789845340a9651d3c4246ff5ebb6a2b35f9c37bd31"
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.29.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.13.0"
|
||||
|
@ -1299,7 +1246,7 @@ dependencies = [
|
|||
"indexmap",
|
||||
"line-wrap",
|
||||
"serde",
|
||||
"time 0.3.11",
|
||||
"time",
|
||||
"xml-rs",
|
||||
]
|
||||
|
||||
|
@ -1648,12 +1595,6 @@ version = "0.1.5"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca136c6f6d53a2de7264bb392ea7c1f83357e00d131a24275b1661ea1c23c3af"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-serialize"
|
||||
version = "0.3.24"
|
||||
|
@ -1801,7 +1742,7 @@ checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786"
|
|||
dependencies = [
|
||||
"log 0.4.17",
|
||||
"termcolor",
|
||||
"time 0.3.11",
|
||||
"time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2005,17 +1946,6 @@ dependencies = [
|
|||
"lazy_static 1.4.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.1.44"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.11"
|
||||
|
@ -2216,15 +2146,6 @@ version = "0.1.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "1.1.2"
|
||||
|
@ -2278,12 +2199,6 @@ dependencies = [
|
|||
"try-lock",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.10.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
|
@ -2544,12 +2459,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zip"
|
||||
version = "0.5.13"
|
||||
version = "0.6.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
|
||||
checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"crc32fast",
|
||||
"thiserror",
|
||||
"time 0.1.44",
|
||||
"crossbeam-utils",
|
||||
"flate2",
|
||||
"time",
|
||||
]
|
||||
|
|
|
@ -49,7 +49,7 @@ crowbook-intl = "0.2"
|
|||
|
||||
[dependencies]
|
||||
mime_guess = "2"
|
||||
comrak = "0.17"
|
||||
comrak = "0.18"
|
||||
yaml-rust = "0.4"
|
||||
mustache = "0.9"
|
||||
uuid = { version = "1", features = ["v4"] }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2016 Élisabeth HENRY.
|
||||
// Copyright (C) 2016-2023 Élisabeth HENRY.
|
||||
//
|
||||
// This file is part of Crowbook.
|
||||
//
|
||||
|
@ -367,15 +367,6 @@ impl From<mustache::Error> for Error {
|
|||
}
|
||||
}
|
||||
|
||||
/// Implement our error from epub_maker::Error
|
||||
impl From<epub_builder::Error> for Error {
|
||||
fn from(err: epub_builder::Error) -> Error {
|
||||
Error::render(
|
||||
Source::empty(),
|
||||
lformat!("error during EPUB generation: {error}", error = err),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FromUtf8Error> for Error {
|
||||
fn from(err: FromUtf8Error) -> Error {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
// Copyright (C) 2016-2022 Élisabeth HENRY.
|
||||
// Copyright (C) 2016-2023 Élisabeth HENRY.
|
||||
//
|
||||
// This file is part of Crowbook.
|
||||
//
|
||||
|
@ -271,7 +271,7 @@ impl Parser {
|
|||
NodeValue::FrontMatter(ref v) => {
|
||||
if let Some(yaml) = yaml_block {
|
||||
// We can add the frontmatter to the yaml block
|
||||
yaml.push_str(std::str::from_utf8(v)?);
|
||||
yaml.push_str(v);
|
||||
}
|
||||
vec![]
|
||||
},
|
||||
|
@ -288,19 +288,13 @@ impl Parser {
|
|||
NodeValue::DescriptionTerm => vec![Token::DescriptionTerm(inner)],
|
||||
NodeValue::DescriptionDetails => vec![Token::DescriptionDetails(inner)],
|
||||
NodeValue::CodeBlock(ref block) => {
|
||||
let info = String::from_utf8(block.info.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Codeblock contains invalid UTF-8"))
|
||||
})?;
|
||||
let code = String::from_utf8(block.literal.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Codeblock contains invalid UTF-8"))
|
||||
})?;
|
||||
let info = block.info.clone();
|
||||
let code = block.literal.clone();
|
||||
self.features.codeblock = true;
|
||||
vec![Token::CodeBlock(info, code)]
|
||||
}
|
||||
NodeValue::HtmlBlock(ref block) => {
|
||||
let text = String::from_utf8(block.literal.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("HTML block contains invalid UTF-8"))
|
||||
})?;
|
||||
let text = block.literal.clone();
|
||||
if self.html_as_text {
|
||||
vec![Token::Str(text)]
|
||||
} else {
|
||||
|
@ -309,9 +303,7 @@ impl Parser {
|
|||
}
|
||||
}
|
||||
NodeValue::HtmlInline(ref html) => {
|
||||
let text = String::from_utf8(html.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("HTML block contains invalid UTF-8"))
|
||||
})?;
|
||||
let text = html.clone();
|
||||
if self.html_as_text {
|
||||
vec![Token::Str(text)]
|
||||
} else {
|
||||
|
@ -329,37 +321,23 @@ impl Parser {
|
|||
NodeValue::Heading(ref heading) => vec![Token::Header(heading.level as i32, inner)],
|
||||
NodeValue::ThematicBreak => vec![Token::Rule],
|
||||
NodeValue::FootnoteDefinition(ref def) => {
|
||||
let reference = String::from_utf8(def.clone()).map_err(|_| {
|
||||
Error::parser(
|
||||
&self.source,
|
||||
lformat!("Footnote definition contains invalid UTF-8"),
|
||||
)
|
||||
})?;
|
||||
let reference = def.clone();
|
||||
vec![Token::FootnoteDefinition(reference, inner)]
|
||||
}
|
||||
NodeValue::Text(ref text) => {
|
||||
let text = String::from_utf8(text.clone()).map_err(|_| {
|
||||
Error::parser(
|
||||
&self.source,
|
||||
lformat!("Markdown file contains invalid UTF-8"),
|
||||
)
|
||||
})?;
|
||||
let text = text.clone();
|
||||
vec![Token::Str(text)]
|
||||
}
|
||||
NodeValue::Code(ref code) => {
|
||||
let text = String::from_utf8(code.literal.clone()).map_err(|_| {
|
||||
Error::parser(
|
||||
&self.source,
|
||||
lformat!("Markdown file contains invalid UTF-8"),
|
||||
)
|
||||
})?;
|
||||
let text = code.literal.clone();
|
||||
vec![Token::Code(text)]
|
||||
}
|
||||
NodeValue::SoftBreak => vec![Token::SoftBreak],
|
||||
NodeValue::LineBreak => vec![Token::HardBreak],
|
||||
NodeValue::Emph => vec![Token::Emphasis(inner)],
|
||||
NodeValue::TaskItem(checked) => {
|
||||
NodeValue::TaskItem(c) => {
|
||||
self.features.taskitem = true;
|
||||
let checked = if c.is_some() { true } else { false };
|
||||
vec![Token::TaskItem(checked, inner)]
|
||||
}
|
||||
NodeValue::Strong => vec![Token::Strong(inner)],
|
||||
|
@ -370,31 +348,18 @@ impl Parser {
|
|||
NodeValue::Superscript => vec![Token::Superscript(inner)],
|
||||
NodeValue::Link(ref link) => {
|
||||
self.features.url = true;
|
||||
let url = String::from_utf8(link.url.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Link URL contains invalid UTF-8"))
|
||||
})?;
|
||||
let title = String::from_utf8(link.title.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Link title contains invalid UTF-8"))
|
||||
})?;
|
||||
let url = link.url.clone();
|
||||
let title = link.title.clone();
|
||||
vec![Token::Link(url, title, inner)]
|
||||
}
|
||||
NodeValue::Image(ref link) => {
|
||||
self.features.image = true;
|
||||
let url = String::from_utf8(link.url.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Image URL contains invalid UTF-8"))
|
||||
})?;
|
||||
let title = String::from_utf8(link.title.clone()).map_err(|_| {
|
||||
Error::parser(&self.source, lformat!("Image title contains invalid UTF-8"))
|
||||
})?;
|
||||
let url = link.url.clone();
|
||||
let title = link.title.clone();
|
||||
vec![Token::Image(url, title, inner)]
|
||||
}
|
||||
NodeValue::FootnoteReference(ref name) => {
|
||||
let name = String::from_utf8(name.clone()).map_err(|_| {
|
||||
Error::parser(
|
||||
&self.source,
|
||||
lformat!("Footnote reference contains invalid UTF-8"),
|
||||
)
|
||||
})?;
|
||||
let name = name.clone();
|
||||
|
||||
vec![Token::FootnoteReference(name)]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue