@@ -6,6 +6,7 @@ | |||||
- Add weight sorting | - Add weight sorting | ||||
- Remove `section` from the `page` rendering context: this is too expensive. Use | - Remove `section` from the `page` rendering context: this is too expensive. Use | ||||
the global function `get_section` if you need to get it | the global function `get_section` if you need to get it | ||||
- Fix next/previous in pagination being incorrect | |||||
## 0.0.7 (2017-06-19) | ## 0.0.7 (2017-06-19) | ||||
@@ -1,30 +1,9 @@ | |||||
[root] | [root] | ||||
name = "gutenberg" | |||||
version = "0.0.7" | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | dependencies = [ | ||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"clap 2.25.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"iron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"mount 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"notify 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"staticfile 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"term-painter 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"ws 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | ] | ||||
[[package]] | [[package]] | ||||
@@ -203,6 +182,33 @@ dependencies = [ | |||||
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", | "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
] | ] | ||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "dbghelp-sys" | name = "dbghelp-sys" | ||||
version = "0.2.0" | version = "0.2.0" | ||||
@@ -239,6 +245,15 @@ dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | "backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
] | ] | ||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "filetime" | name = "filetime" | ||||
version = "0.1.10" | version = "0.1.10" | ||||
@@ -261,6 +276,20 @@ name = "fnv" | |||||
version = "1.0.5" | version = "1.0.5" | ||||
source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "fsevent" | name = "fsevent" | ||||
version = "0.2.16" | version = "0.2.16" | ||||
@@ -299,6 +328,26 @@ name = "glob" | |||||
version = "0.2.11" | version = "0.2.11" | ||||
source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
[[package]] | |||||
name = "gutenberg" | |||||
version = "0.0.7" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"clap 2.25.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"iron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"mount 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"notify 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"site 0.1.0", | |||||
"staticfile 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"term-painter 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
"ws 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "httparse" | name = "httparse" | ||||
version = "1.2.3" | version = "1.2.3" | ||||
@@ -607,6 +656,19 @@ dependencies = [ | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
] | ] | ||||
[[package]] | |||||
name = "pagination" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "percent-encoding" | name = "percent-encoding" | ||||
version = "1.0.0" | version = "1.0.0" | ||||
@@ -707,6 +769,24 @@ name = "regex-syntax" | |||||
version = "0.4.1" | version = "0.4.1" | ||||
source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "rustc-demangle" | name = "rustc-demangle" | ||||
version = "0.1.4" | version = "0.1.4" | ||||
@@ -781,6 +861,25 @@ name = "sha1" | |||||
version = "0.2.0" | version = "0.2.0" | ||||
source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
[[package]] | |||||
name = "site" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pagination 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"taxonomies 0.1.0", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "slab" | name = "slab" | ||||
version = "0.1.3" | version = "0.1.3" | ||||
@@ -853,6 +952,20 @@ dependencies = [ | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
] | ] | ||||
[[package]] | |||||
name = "taxonomies" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "tempdir" | name = "tempdir" | ||||
version = "0.3.5" | version = "0.3.5" | ||||
@@ -861,6 +974,19 @@ dependencies = [ | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | ||||
] | ] | ||||
[[package]] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | [[package]] | ||||
name = "tera" | name = "tera" | ||||
version = "0.10.8" | version = "0.10.8" | ||||
@@ -13,25 +13,10 @@ keywords = ["static", "site", "generator", "blog"] | |||||
name = "gutenberg" | name = "gutenberg" | ||||
[dependencies] | [dependencies] | ||||
error-chain = "0.10" | |||||
clap = "2" | clap = "2" | ||||
walkdir = "1" | |||||
pulldown-cmark = "0" | |||||
regex = "0.2" | |||||
lazy_static = "0.2" | |||||
glob = "0.2" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
# tera = { path = "../tera" } | |||||
# tera = { git = "https://github.com/Keats/tera" } | |||||
tera = "0.10" | |||||
slug = "0.1" | |||||
syntect = { version = "1", features = ["static-onig"] } | |||||
chrono = "0.4" | chrono = "0.4" | ||||
toml = "0.4" | toml = "0.4" | ||||
term-painter = "0.2" | term-painter = "0.2" | ||||
base64 = "0.6" | |||||
rayon = "0.8" | |||||
# Below is for the serve cmd | # Below is for the serve cmd | ||||
staticfile = "0.4" | staticfile = "0.4" | ||||
@@ -40,5 +25,22 @@ mount = "0.3" | |||||
notify = "4" | notify = "4" | ||||
ws = "0.7" | ws = "0.7" | ||||
[dev-dependencies] | |||||
tempdir = "0.3" | |||||
site = { path = "components/site" } | |||||
errors = { path = "components/errors" } | |||||
content = { path = "components/content" } | |||||
front_matter = { path = "components/front_matter" } | |||||
utils = { path = "components/utils" } | |||||
[workspace] | |||||
members = [ | |||||
"components/config", | |||||
"components/content", | |||||
"components/errors", | |||||
"components/front_matter", | |||||
"components/pagination", | |||||
"components/rendering", | |||||
"components/site", | |||||
"components/taxonomies", | |||||
"components/templates", | |||||
"components/utils", | |||||
] |
@@ -35,7 +35,7 @@ install: | |||||
test_script: | test_script: | ||||
# we don't run the "test phase" when doing deploys | # we don't run the "test phase" when doing deploys | ||||
- if [%APPVEYOR_REPO_TAG%]==[false] ( | - if [%APPVEYOR_REPO_TAG%]==[false] ( | ||||
cargo test --target %TARGET% | |||||
cargo test --all --target %TARGET% | |||||
) | ) | ||||
before_deploy: | before_deploy: | ||||
@@ -0,0 +1,27 @@ | |||||
//! Benchmarking separate functions of Gutenberg | |||||
#![feature(test)] | |||||
extern crate test; | |||||
extern crate gutenberg; | |||||
extern crate tempdir; | |||||
use std::env; | |||||
use tempdir::TempDir; | |||||
use gutenberg::{Site, sort_pages, SortBy}; | |||||
fn setup_site(name: &str) -> Site { | |||||
let mut path = env::current_dir().unwrap().to_path_buf(); | |||||
path.push("benches"); | |||||
path.push(name); | |||||
let mut site = Site::new(&path, "config.toml").unwrap(); | |||||
site.load().unwrap(); | |||||
site | |||||
} | |||||
#[bench] | |||||
fn bench_sort_pages_medium_blog(b: &mut test::Bencher) { | |||||
let mut site = setup_site("huge-blog"); | |||||
let section = site.sections.values().next().unwrap().clone(); | |||||
b.iter(|| sort_pages(section.pages.clone(), SortBy::None)); | |||||
} |
@@ -8,7 +8,7 @@ extern crate tempdir; | |||||
use std::env; | use std::env; | ||||
use tempdir::TempDir; | use tempdir::TempDir; | ||||
use gutenberg::Site; | |||||
use gutenberg::{Site, sort_pages}; | |||||
fn setup_site(name: &str) -> Site { | fn setup_site(name: &str) -> Site { | ||||
@@ -58,3 +58,16 @@ fn bench_render_small_section_with_pages_and_no_pagination(b: &mut test::Bencher | |||||
section.meta.template = None; | section.meta.template = None; | ||||
b.iter(|| site.render_section(§ion, true).unwrap()); | b.iter(|| site.render_section(§ion, true).unwrap()); | ||||
} | } | ||||
#[bench] | |||||
fn bench_sort_sections_pages_medium_blog(b: &mut test::Bencher) { | |||||
let mut site = setup_site("medium-blog"); | |||||
b.iter(|| site.sort_sections_pages(None)); | |||||
} | |||||
#[bench] | |||||
fn bench_sort_sections_pages_medium_kb(b: &mut test::Bencher) { | |||||
let mut site = setup_site("medium-kb"); | |||||
b.iter(|| site.sort_sections_pages(None)); | |||||
} |
@@ -11,8 +11,8 @@ main() { | |||||
return | return | ||||
fi | fi | ||||
cross test --target $TARGET | |||||
cross test --target $TARGET --release | |||||
cross test --all --target $TARGET | |||||
cross test --all --target $TARGET --release | |||||
} | } | ||||
# we don't run the "test phase" when doing deploys | # we don't run the "test phase" when doing deploys | ||||
@@ -0,0 +1,674 @@ | |||||
[root] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,12 @@ | |||||
[package] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
toml = "0.4" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
errors = { path = "../errors" } | |||||
rendering = { path = "../rendering" } |
@@ -1,9 +1,16 @@ | |||||
#[macro_use] | |||||
extern crate serde_derive; | |||||
extern crate toml; | |||||
#[macro_use] | |||||
extern crate errors; | |||||
extern crate rendering; | |||||
use std::collections::HashMap; | |||||
use std::fs::File; | use std::fs::File; | ||||
use std::io::prelude::*; | use std::io::prelude::*; | ||||
use std::path::Path; | use std::path::Path; | ||||
use std::collections::HashMap; | |||||
use toml::{Value as Toml, self}; | |||||
use toml::{Value as Toml}; | |||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use rendering::highlighting::THEME_SET; | use rendering::highlighting::THEME_SET; | ||||
@@ -71,7 +78,7 @@ impl Config { | |||||
if !THEME_SET.themes.contains_key(t) { | if !THEME_SET.themes.contains_key(t) { | ||||
bail!("Theme {} not available", t) | bail!("Theme {} not available", t) | ||||
} | } | ||||
}, | |||||
} | |||||
None => config.highlight_theme = Some("base16-ocean-dark".to_string()) | None => config.highlight_theme = Some("base16-ocean-dark".to_string()) | ||||
}; | }; | ||||
@@ -0,0 +1,779 @@ | |||||
[root] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "coco" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "either" | |||||
version = "1.1.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "futures" | |||||
version = "0.1.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "num_cpus" | |||||
version = "1.6.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rand" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon-core" | |||||
version = "1.2.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "scopeguard" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tempdir" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" | |||||
"checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" | |||||
"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,19 @@ | |||||
[package] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
serde = "1.0" | |||||
slug = "0.1" | |||||
rayon = "0.8" | |||||
errors = { path = "../errors" } | |||||
config = { path = "../config" } | |||||
utils = { path = "../utils" } | |||||
rendering = { path = "../rendering" } | |||||
front_matter = { path = "../front_matter" } | |||||
[dev-dependencies] | |||||
tempdir = "0.3" |
@@ -0,0 +1,135 @@ | |||||
#![feature(test)] | |||||
extern crate test; | |||||
extern crate tera; | |||||
extern crate content; | |||||
extern crate front_matter; | |||||
extern crate config; | |||||
use std::collections::HashMap; | |||||
use config::Config; | |||||
use tera::Tera; | |||||
use front_matter::{SortBy, InsertAnchor}; | |||||
use content::{Page, sort_pages, populate_previous_and_next_pages}; | |||||
fn create_pages(number: usize, sort_by: SortBy) -> Vec<Page> { | |||||
let mut pages = vec![]; | |||||
let config = Config::default(); | |||||
let tera = Tera::default(); | |||||
let permalinks = HashMap::new(); | |||||
for i in 0..number { | |||||
let mut page = Page::default(); | |||||
match sort_by { | |||||
SortBy::Weight => { page.meta.weight = Some(i); }, | |||||
SortBy::Order => { page.meta.order = Some(i); }, | |||||
_ => (), | |||||
}; | |||||
page.raw_content = r#" | |||||
# Modus cognitius profanam ne duae virtutis mundi | |||||
## Ut vita | |||||
Lorem markdownum litora, care ponto nomina, et ut aspicit gelidas sui et | |||||
purpureo genuit. Tamen colla venientis [delphina](http://nil-sol.com/ecquis) | |||||
Tusci et temptata citaeque curam isto ubi vult vulnere reppulit. | |||||
- Seque vidit flendoque de quodam | |||||
- Dabit minimos deiecto caputque noctis pluma | |||||
- Leti coniunx est Helicen | |||||
- Illius pulvereumque Icare inpositos | |||||
- Vivunt pereo pluvio tot ramos Olenios gelidis | |||||
- Quater teretes natura inde | |||||
### A subsection | |||||
Protinus dicunt, breve per, et vivacis genus Orphei munere. Me terram [dimittere | |||||
casside](http://corpus.org/) pervenit saxo primoque frequentat genuum sorori | |||||
praeferre causas Libys. Illud in serpit adsuetam utrimque nunc haberent, | |||||
**terrae si** veni! Hectoreis potes sumite [Mavortis retusa](http://tua.org/) | |||||
granum captantur potuisse Minervae, frugum. | |||||
> Clivo sub inprovisoque nostrum minus fama est, discordia patrem petebat precatur | |||||
absumitur, poena per sit. Foramina *tamen cupidine* memor supplex tollentes | |||||
dictum unam orbem, Anubis caecae. Viderat formosior tegebat satis, Aethiopasque | |||||
sit submisso coniuge tristis ubi! | |||||
## Praeceps Corinthus totidem quem crus vultum cape | |||||
```rs | |||||
#[derive(Debug)] | |||||
pub struct Site { | |||||
/// The base path of the gutenberg site | |||||
pub base_path: PathBuf, | |||||
/// The parsed config for the site | |||||
pub config: Config, | |||||
pub pages: HashMap<PathBuf, Page>, | |||||
pub sections: HashMap<PathBuf, Section>, | |||||
pub tera: Tera, | |||||
live_reload: bool, | |||||
output_path: PathBuf, | |||||
static_path: PathBuf, | |||||
pub tags: Option<Taxonomy>, | |||||
pub categories: Option<Taxonomy>, | |||||
/// A map of all .md files (section and pages) and their permalink | |||||
/// We need that if there are relative links in the content that need to be resolved | |||||
pub permalinks: HashMap<String, String>, | |||||
} | |||||
``` | |||||
## More stuff | |||||
And a shortcode: | |||||
{{ youtube(id="my_youtube_id") }} | |||||
### Another subsection | |||||
Gotta make the toc do a little bit of work | |||||
# A big title | |||||
- hello | |||||
- world | |||||
- ! | |||||
```py | |||||
if __name__ == "__main__": | |||||
gen_site("basic-blog", [""], 250, paginate=True) | |||||
``` | |||||
"#.to_string(); | |||||
page.render_markdown(&permalinks, &tera, &config, InsertAnchor::None).unwrap(); | |||||
pages.push(page); | |||||
} | |||||
pages | |||||
} | |||||
// Most of the time spent in those benches are due to the .clone()... | |||||
// but i don't know how to remove them so there are some baseline bench with | |||||
// just the cloning and with a bit of math we can figure it out | |||||
#[bench] | |||||
fn bench_baseline_cloning(b: &mut test::Bencher) { | |||||
let pages = create_pages(250, SortBy::Order); | |||||
b.iter(|| pages.clone()); | |||||
} | |||||
#[bench] | |||||
fn bench_sorting_none(b: &mut test::Bencher) { | |||||
let pages = create_pages(250, SortBy::Order); | |||||
b.iter(|| sort_pages(pages.clone(), SortBy::None)); | |||||
} | |||||
#[bench] | |||||
fn bench_sorting_order(b: &mut test::Bencher) { | |||||
let pages = create_pages(250, SortBy::Order); | |||||
b.iter(|| sort_pages(pages.clone(), SortBy::Order)); | |||||
} | |||||
#[bench] | |||||
fn bench_populate_previous_and_next_pages(b: &mut test::Bencher) { | |||||
let pages = create_pages(250, SortBy::Order); | |||||
let (sorted_pages, _) = sort_pages(pages, SortBy::Order); | |||||
b.iter(|| populate_previous_and_next_pages(sorted_pages.clone())); | |||||
} |
@@ -0,0 +1,24 @@ | |||||
extern crate tera; | |||||
extern crate slug; | |||||
extern crate serde; | |||||
extern crate rayon; | |||||
extern crate errors; | |||||
extern crate config; | |||||
extern crate front_matter; | |||||
extern crate rendering; | |||||
extern crate utils; | |||||
#[cfg(test)] | |||||
extern crate tempdir; | |||||
mod file_info; | |||||
mod page; | |||||
mod section; | |||||
mod sorting; | |||||
pub use file_info::FileInfo; | |||||
pub use page::Page; | |||||
pub use section::Section; | |||||
pub use sorting::{sort_pages, populate_previous_and_next_pages}; |
@@ -10,13 +10,12 @@ use slug::slugify; | |||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use config::Config; | use config::Config; | ||||
use utils::fs::{read_file, find_related_assets}; | |||||
use utils::site::get_reading_analytics; | |||||
use front_matter::{PageFrontMatter, InsertAnchor, split_page_content}; | use front_matter::{PageFrontMatter, InsertAnchor, split_page_content}; | ||||
use rendering::markdown::markdown_to_html; | |||||
use rendering::context::Context; | |||||
use fs::{read_file}; | |||||
use content::utils::{find_related_assets, get_reading_analytics}; | |||||
use content::file_info::FileInfo; | |||||
use content::{Header}; | |||||
use rendering::{Context, Header, markdown_to_html}; | |||||
use file_info::FileInfo; | |||||
#[derive(Clone, Debug, PartialEq)] | #[derive(Clone, Debug, PartialEq)] | ||||
@@ -121,7 +120,14 @@ impl Page { | |||||
/// We need access to all pages url to render links relative to content | /// We need access to all pages url to render links relative to content | ||||
/// so that can't happen at the same time as parsing | /// so that can't happen at the same time as parsing | ||||
pub fn render_markdown(&mut self, permalinks: &HashMap<String, String>, tera: &Tera, config: &Config, anchor_insert: InsertAnchor) -> Result<()> { | pub fn render_markdown(&mut self, permalinks: &HashMap<String, String>, tera: &Tera, config: &Config, anchor_insert: InsertAnchor) -> Result<()> { | ||||
let context = Context::new(tera, config, &self.permalink, permalinks, anchor_insert); | |||||
let context = Context::new( | |||||
tera, | |||||
config.highlight_code.unwrap(), | |||||
config.highlight_theme.clone().unwrap(), | |||||
&self.permalink, | |||||
permalinks, | |||||
anchor_insert | |||||
); | |||||
let res = markdown_to_html(&self.raw_content, &context)?; | let res = markdown_to_html(&self.raw_content, &context)?; | ||||
self.content = res.0; | self.content = res.0; | ||||
self.toc = res.1; | self.toc = res.1; |
@@ -8,12 +8,11 @@ use serde::ser::{SerializeStruct, self}; | |||||
use config::Config; | use config::Config; | ||||
use front_matter::{SectionFrontMatter, split_section_content}; | use front_matter::{SectionFrontMatter, split_section_content}; | ||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use fs::{read_file}; | |||||
use rendering::markdown::markdown_to_html; | |||||
use rendering::context::Context; | |||||
use content::Page; | |||||
use content::file_info::FileInfo; | |||||
use content::Header; | |||||
use utils::fs::read_file; | |||||
use rendering::{Context, Header, markdown_to_html}; | |||||
use page::Page; | |||||
use file_info::FileInfo; | |||||
#[derive(Clone, Debug, PartialEq)] | #[derive(Clone, Debug, PartialEq)] | ||||
@@ -90,7 +89,14 @@ impl Section { | |||||
/// We need access to all pages url to render links relative to content | /// We need access to all pages url to render links relative to content | ||||
/// so that can't happen at the same time as parsing | /// so that can't happen at the same time as parsing | ||||
pub fn render_markdown(&mut self, permalinks: &HashMap<String, String>, tera: &Tera, config: &Config) -> Result<()> { | pub fn render_markdown(&mut self, permalinks: &HashMap<String, String>, tera: &Tera, config: &Config) -> Result<()> { | ||||
let context = Context::new(tera, config, &self.permalink, permalinks, self.meta.insert_anchor.unwrap()); | |||||
let context = Context::new( | |||||
tera, | |||||
config.highlight_code.unwrap(), | |||||
config.highlight_theme.clone().unwrap(), | |||||
&self.permalink, | |||||
permalinks, | |||||
self.meta.insert_anchor.unwrap() | |||||
); | |||||
let res = markdown_to_html(&self.raw_content, &context)?; | let res = markdown_to_html(&self.raw_content, &context)?; | ||||
self.content = res.0; | self.content = res.0; | ||||
self.toc = res.1; | self.toc = res.1; |
@@ -1,83 +1,61 @@ | |||||
use content::Page; | |||||
#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] | |||||
#[serde(rename_all = "lowercase")] | |||||
pub enum SortBy { | |||||
Date, | |||||
Order, | |||||
Weight, | |||||
None, | |||||
} | |||||
use rayon::prelude::*; | |||||
use page::Page; | |||||
use front_matter::SortBy; | |||||
/// Sort pages using the method for the given section | |||||
/// Sort pages by the given criteria | |||||
/// | /// | ||||
/// Any pages that doesn't have a date when the sorting method is date or order | |||||
/// when the sorting method is order will be ignored. | |||||
/// Any pages that doesn't have a the required field when the sorting method is other than none | |||||
/// will be ignored. | |||||
pub fn sort_pages(pages: Vec<Page>, sort_by: SortBy) -> (Vec<Page>, Vec<Page>) { | pub fn sort_pages(pages: Vec<Page>, sort_by: SortBy) -> (Vec<Page>, Vec<Page>) { | ||||
match sort_by { | |||||
SortBy::Date => { | |||||
let mut can_be_sorted = vec![]; | |||||
let mut cannot_be_sorted = vec![]; | |||||
for page in pages { | |||||
if page.meta.date.is_some() { | |||||
can_be_sorted.push(page); | |||||
} else { | |||||
cannot_be_sorted.push(page); | |||||
} | |||||
} | |||||
can_be_sorted.sort_by(|a, b| b.meta.date().unwrap().cmp(&a.meta.date().unwrap())); | |||||
(can_be_sorted, cannot_be_sorted) | |||||
}, | |||||
SortBy::Order | SortBy::Weight => { | |||||
let mut can_be_sorted = vec![]; | |||||
let mut cannot_be_sorted = vec![]; | |||||
for page in pages { | |||||
if page.meta.order.is_some() { | |||||
can_be_sorted.push(page); | |||||
} else { | |||||
cannot_be_sorted.push(page); | |||||
} | |||||
} | |||||
if sort_by == SortBy::Order { | |||||
can_be_sorted.sort_by(|a, b| b.meta.order().cmp(&a.meta.order())); | |||||
} else { | |||||
can_be_sorted.sort_by(|a, b| a.meta.order().cmp(&b.meta.order())); | |||||
if sort_by == SortBy::None { | |||||
return (pages, vec![]); | |||||
} | |||||
let (mut can_be_sorted, cannot_be_sorted): (Vec<_>, Vec<_>) = pages | |||||
.into_par_iter() | |||||
.partition(|ref page| { | |||||
match sort_by { | |||||
SortBy::Date => page.meta.date.is_some(), | |||||
SortBy::Order => page.meta.order.is_some(), | |||||
SortBy::Weight => page.meta.weight.is_some(), | |||||
_ => unreachable!() | |||||
} | } | ||||
}); | |||||
(can_be_sorted, cannot_be_sorted) | |||||
}, | |||||
SortBy::None => (pages, vec![]) | |||||
} | |||||
match sort_by { | |||||
SortBy::Date => can_be_sorted.par_sort_unstable_by(|a, b| b.meta.date().unwrap().cmp(&a.meta.date().unwrap())), | |||||
SortBy::Order => can_be_sorted.par_sort_unstable_by(|a, b| b.meta.order().cmp(&a.meta.order())), | |||||
SortBy::Weight => can_be_sorted.par_sort_unstable_by(|a, b| a.meta.weight().cmp(&b.meta.weight())), | |||||
_ => unreachable!() | |||||
}; | |||||
(can_be_sorted, cannot_be_sorted) | |||||
} | } | ||||
/// Horribly inefficient way to set previous and next on each pages | /// Horribly inefficient way to set previous and next on each pages | ||||
/// So many clones | /// So many clones | ||||
pub fn populate_previous_and_next_pages(input: &[Page]) -> Vec<Page> { | |||||
let pages = input.to_vec(); | |||||
let mut res = Vec::new(); | |||||
pub fn populate_previous_and_next_pages(input: Vec<Page>) -> Vec<Page> { | |||||
let mut res = Vec::with_capacity(input.len()); | |||||
// the input is already sorted | |||||
// We might put prev/next randomly if a page is missing date/order, probably fine | |||||
for (i, page) in input.iter().enumerate() { | |||||
let mut new_page = page.clone(); | |||||
// The input is already sorted | |||||
for (i, _) in input.iter().enumerate() { | |||||
let mut new_page = input[i].clone(); | |||||
if i > 0 { | if i > 0 { | ||||
let next = &pages[i - 1]; | |||||
let mut next_page = next.clone(); | |||||
let mut previous_page = input[i - 1].clone(); | |||||
// Remove prev/next otherwise we serialise the whole thing... | // Remove prev/next otherwise we serialise the whole thing... | ||||
next_page.previous = None; | |||||
next_page.next = None; | |||||
new_page.next = Some(Box::new(next_page)); | |||||
previous_page.previous = None; | |||||
previous_page.next = None; | |||||
new_page.previous = Some(Box::new(previous_page)); | |||||
} | } | ||||
if i < input.len() - 1 { | if i < input.len() - 1 { | ||||
let previous = &pages[i + 1]; | |||||
let mut next_page = input[i + 1].clone(); | |||||
// Remove prev/next otherwise we serialise the whole thing... | // Remove prev/next otherwise we serialise the whole thing... | ||||
let mut previous_page = previous.clone(); | |||||
previous_page.previous = None; | |||||
previous_page.next = None; | |||||
new_page.previous = Some(Box::new(previous_page)); | |||||
next_page.previous = None; | |||||
next_page.next = None; | |||||
new_page.next = Some(Box::new(next_page)); | |||||
} | } | ||||
res.push(new_page); | res.push(new_page); | ||||
} | } | ||||
@@ -87,9 +65,9 @@ pub fn populate_previous_and_next_pages(input: &[Page]) -> Vec<Page> { | |||||
#[cfg(test)] | #[cfg(test)] | ||||
mod tests { | mod tests { | ||||
use front_matter::{PageFrontMatter}; | |||||
use content::Page; | |||||
use super::{SortBy, sort_pages, populate_previous_and_next_pages}; | |||||
use front_matter::{PageFrontMatter, SortBy}; | |||||
use page::Page; | |||||
use super::{sort_pages, populate_previous_and_next_pages}; | |||||
fn create_page_with_date(date: &str) -> Page { | fn create_page_with_date(date: &str) -> Page { | ||||
let mut front_matter = PageFrontMatter::default(); | let mut front_matter = PageFrontMatter::default(); | ||||
@@ -103,6 +81,12 @@ mod tests { | |||||
Page::new("content/hello.md", front_matter) | Page::new("content/hello.md", front_matter) | ||||
} | } | ||||
fn create_page_with_weight(weight: usize) -> Page { | |||||
let mut front_matter = PageFrontMatter::default(); | |||||
front_matter.weight = Some(weight); | |||||
Page::new("content/hello.md", front_matter) | |||||
} | |||||
#[test] | #[test] | ||||
fn can_sort_by_dates() { | fn can_sort_by_dates() { | ||||
let input = vec![ | let input = vec![ | ||||
@@ -134,15 +118,15 @@ mod tests { | |||||
#[test] | #[test] | ||||
fn can_sort_by_weight() { | fn can_sort_by_weight() { | ||||
let input = vec![ | let input = vec![ | ||||
create_page_with_order(2), | |||||
create_page_with_order(3), | |||||
create_page_with_order(1), | |||||
create_page_with_weight(2), | |||||
create_page_with_weight(3), | |||||
create_page_with_weight(1), | |||||
]; | ]; | ||||
let (pages, _) = sort_pages(input, SortBy::Weight); | let (pages, _) = sort_pages(input, SortBy::Weight); | ||||
// Should be sorted by date | // Should be sorted by date | ||||
assert_eq!(pages[0].clone().meta.order.unwrap(), 1); | |||||
assert_eq!(pages[1].clone().meta.order.unwrap(), 2); | |||||
assert_eq!(pages[2].clone().meta.order.unwrap(), 3); | |||||
assert_eq!(pages[0].clone().meta.weight.unwrap(), 1); | |||||
assert_eq!(pages[1].clone().meta.weight.unwrap(), 2); | |||||
assert_eq!(pages[2].clone().meta.weight.unwrap(), 3); | |||||
} | } | ||||
#[test] | #[test] | ||||
@@ -174,23 +158,23 @@ mod tests { | |||||
#[test] | #[test] | ||||
fn can_populate_previous_and_next_pages() { | fn can_populate_previous_and_next_pages() { | ||||
let input = vec![ | let input = vec![ | ||||
create_page_with_order(3), | |||||
create_page_with_order(2), | |||||
create_page_with_order(1), | create_page_with_order(1), | ||||
create_page_with_order(2), | |||||
create_page_with_order(3), | |||||
]; | ]; | ||||
let pages = populate_previous_and_next_pages(input.as_slice()); | |||||
let pages = populate_previous_and_next_pages(input); | |||||
assert!(pages[0].clone().next.is_none()); | |||||
assert!(pages[0].clone().previous.is_some()); | |||||
assert_eq!(pages[0].clone().previous.unwrap().meta.order.unwrap(), 2); | |||||
assert!(pages[0].clone().previous.is_none()); | |||||
assert!(pages[0].clone().next.is_some()); | |||||
assert_eq!(pages[0].clone().next.unwrap().meta.order.unwrap(), 2); | |||||
assert!(pages[1].clone().next.is_some()); | assert!(pages[1].clone().next.is_some()); | ||||
assert!(pages[1].clone().previous.is_some()); | assert!(pages[1].clone().previous.is_some()); | ||||
assert_eq!(pages[1].clone().next.unwrap().meta.order.unwrap(), 3); | |||||
assert_eq!(pages[1].clone().previous.unwrap().meta.order.unwrap(), 1); | assert_eq!(pages[1].clone().previous.unwrap().meta.order.unwrap(), 1); | ||||
assert_eq!(pages[1].clone().next.unwrap().meta.order.unwrap(), 3); | |||||
assert!(pages[2].clone().next.is_some()); | |||||
assert!(pages[2].clone().previous.is_none()); | |||||
assert_eq!(pages[2].clone().next.unwrap().meta.order.unwrap(), 2); | |||||
assert!(pages[2].clone().next.is_none()); | |||||
assert!(pages[2].clone().previous.is_some()); | |||||
assert_eq!(pages[2].clone().previous.unwrap().meta.order.unwrap(), 2); | |||||
} | } | ||||
} | } |
@@ -0,0 +1,9 @@ | |||||
[package] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
error-chain = "0.10" | |||||
tera = "0.10" | |||||
toml = "0.4" |
@@ -0,0 +1,29 @@ | |||||
#[macro_use] | |||||
extern crate error_chain; | |||||
extern crate tera; | |||||
extern crate toml; | |||||
error_chain! { | |||||
errors {} | |||||
links { | |||||
Tera(tera::Error, tera::ErrorKind); | |||||
} | |||||
foreign_links { | |||||
Io(::std::io::Error); | |||||
Toml(toml::de::Error); | |||||
} | |||||
} | |||||
// So we can use bail! in all other crates | |||||
#[macro_export] | |||||
macro_rules! bail { | |||||
($e:expr) => { | |||||
return Err($e.into()); | |||||
}; | |||||
($fmt:expr, $($arg:tt)+) => { | |||||
return Err(format!($fmt, $($arg)+).into()); | |||||
}; | |||||
} | |||||
@@ -0,0 +1,445 @@ | |||||
[root] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"core 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "core" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" |
@@ -0,0 +1,16 @@ | |||||
[package] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
chrono = "0.4" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
toml = "0.4" | |||||
regex = "0.2" | |||||
lazy_static = "0.2" | |||||
errors = { path = "../errors" } |
@@ -1,19 +1,48 @@ | |||||
use std::path::Path; | |||||
#[macro_use] | |||||
extern crate lazy_static; | |||||
#[macro_use] | |||||
extern crate serde_derive; | |||||
extern crate serde; | |||||
extern crate toml; | |||||
extern crate regex; | |||||
extern crate tera; | |||||
extern crate chrono; | |||||
#[macro_use] | |||||
extern crate errors; | |||||
use std::path::Path; | |||||
use regex::Regex; | use regex::Regex; | ||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
mod page; | mod page; | ||||
mod section; | mod section; | ||||
pub use self::page::PageFrontMatter; | |||||
pub use self::section::{SectionFrontMatter, InsertAnchor}; | |||||
pub use page::PageFrontMatter; | |||||
pub use section::SectionFrontMatter; | |||||
lazy_static! { | lazy_static! { | ||||
static ref PAGE_RE: Regex = Regex::new(r"^[[:space:]]*\+\+\+\r?\n((?s).*?(?-s))\+\+\+\r?\n?((?s).*(?-s))$").unwrap(); | static ref PAGE_RE: Regex = Regex::new(r"^[[:space:]]*\+\+\+\r?\n((?s).*?(?-s))\+\+\+\r?\n?((?s).*(?-s))$").unwrap(); | ||||
} | } | ||||
#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] | |||||
#[serde(rename_all = "lowercase")] | |||||
pub enum SortBy { | |||||
Date, | |||||
Order, | |||||
Weight, | |||||
None, | |||||
} | |||||
#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] | |||||
#[serde(rename_all = "lowercase")] | |||||
pub enum InsertAnchor { | |||||
Left, | |||||
Right, | |||||
None, | |||||
} | |||||
/// Split a file between the front matter and its content | /// Split a file between the front matter and its content | ||||
/// Will return an error if the front matter wasn't found | /// Will return an error if the front matter wasn't found | ||||
fn split_content(file_path: &Path, content: &str) -> Result<(String, String)> { | fn split_content(file_path: &Path, content: &str) -> Result<(String, String)> { |
@@ -4,7 +4,7 @@ use chrono::prelude::*; | |||||
use tera::Value; | use tera::Value; | ||||
use toml; | use toml; | ||||
use errors::{Result}; | |||||
use errors::Result; | |||||
/// The front matter of every page | /// The front matter of every page | ||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] | ||||
@@ -28,6 +28,8 @@ pub struct PageFrontMatter { | |||||
pub category: Option<String>, | pub category: Option<String>, | ||||
/// Integer to use to order content. Lowest is at the bottom, highest first | /// Integer to use to order content. Lowest is at the bottom, highest first | ||||
pub order: Option<usize>, | pub order: Option<usize>, | ||||
/// Integer to use to order content. Highest is at the bottom, lowest first | |||||
pub weight: Option<usize>, | |||||
/// All aliases for that page. Gutenberg will create HTML templates that will | /// All aliases for that page. Gutenberg will create HTML templates that will | ||||
#[serde(skip_serializing)] | #[serde(skip_serializing)] | ||||
pub aliases: Option<Vec<String>>, | pub aliases: Option<Vec<String>>, | ||||
@@ -84,6 +86,10 @@ impl PageFrontMatter { | |||||
self.order.unwrap() | self.order.unwrap() | ||||
} | } | ||||
pub fn weight(&self) -> usize { | |||||
self.weight.unwrap() | |||||
} | |||||
pub fn has_tags(&self) -> bool { | pub fn has_tags(&self) -> bool { | ||||
match self.tags { | match self.tags { | ||||
Some(ref t) => !t.is_empty(), | Some(ref t) => !t.is_empty(), | ||||
@@ -103,6 +109,7 @@ impl Default for PageFrontMatter { | |||||
tags: None, | tags: None, | ||||
category: None, | category: None, | ||||
order: None, | order: None, | ||||
weight: None, | |||||
aliases: None, | aliases: None, | ||||
template: None, | template: None, | ||||
extra: None, | extra: None, |
@@ -3,19 +3,12 @@ use std::collections::HashMap; | |||||
use tera::Value; | use tera::Value; | ||||
use toml; | use toml; | ||||
use errors::{Result}; | |||||
use content::SortBy; | |||||
use errors::Result; | |||||
static DEFAULT_PAGINATE_PATH: &'static str = "page"; | |||||
use super::{SortBy, InsertAnchor}; | |||||
static DEFAULT_PAGINATE_PATH: &'static str = "page"; | |||||
#[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] | |||||
#[serde(rename_all = "lowercase")] | |||||
pub enum InsertAnchor { | |||||
Left, | |||||
Right, | |||||
None, | |||||
} | |||||
/// The front matter of every section | /// The front matter of every section | ||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] |
@@ -0,0 +1,741 @@ | |||||
[root] | |||||
name = "pagination" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.6.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "safemem" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,16 @@ | |||||
[package] | |||||
name = "pagination" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
errors = { path = "../errors" } | |||||
config = { path = "../config" } | |||||
content = { path = "../content" } | |||||
[dev-dependencies] | |||||
front_matter = { path = "../front_matter" } |
@@ -1,9 +1,22 @@ | |||||
#[macro_use] | |||||
extern crate serde_derive; | |||||
extern crate tera; | |||||
extern crate errors; | |||||
extern crate config; | |||||
extern crate content; | |||||
#[cfg(test)] | |||||
extern crate front_matter; | |||||
use std::collections::HashMap; | use std::collections::HashMap; | ||||
use tera::{Context, to_value, Value}; | |||||
use std::path::PathBuf; | |||||
use tera::{Tera, Context, to_value, Value}; | |||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use config::Config; | |||||
use content::{Page, Section}; | use content::{Page, Section}; | ||||
use site::Site; | |||||
/// A list of all the pages in the paginator with their index and links | /// A list of all the pages in the paginator with their index and links | ||||
@@ -134,30 +147,30 @@ impl<'a> Paginator<'a> { | |||||
paginator | paginator | ||||
} | } | ||||
pub fn render_pager(&self, pager: &Pager, site: &Site) -> Result<String> { | |||||
pub fn render_pager(&self, pager: &Pager, config: &Config, sections: &HashMap<PathBuf, Section>, tera: &Tera) -> Result<String> { | |||||
let mut context = Context::new(); | let mut context = Context::new(); | ||||
context.add("config", &site.config); | |||||
context.add("config", &config); | |||||
context.add("section", self.section); | context.add("section", self.section); | ||||
context.add("current_url", &pager.permalink); | context.add("current_url", &pager.permalink); | ||||
context.add("current_path", &pager.path); | context.add("current_path", &pager.path); | ||||
context.add("paginator", &self.build_paginator_context(pager)); | context.add("paginator", &self.build_paginator_context(pager)); | ||||
if self.section.is_index() { | if self.section.is_index() { | ||||
context.add("section", &site.sections); | |||||
context.add("section", §ions); | |||||
} | } | ||||
site.tera.render(&self.section.get_template_name(), &context) | |||||
tera.render(&self.section.get_template_name(), &context) | |||||
.chain_err(|| format!("Failed to render pager {} of section '{}'", pager.index, self.section.file.path.display())) | .chain_err(|| format!("Failed to render pager {} of section '{}'", pager.index, self.section.file.path.display())) | ||||
} | } | ||||
} | } | ||||
#[cfg(test)] | #[cfg(test)] | ||||
mod tests { | mod tests { | ||||
use tera::{to_value}; | |||||
use tera::to_value; | |||||
use front_matter::SectionFrontMatter; | use front_matter::SectionFrontMatter; | ||||
use content::{Page, Section}; | use content::{Page, Section}; | ||||
use super::{Paginator}; | |||||
use super::Paginator; | |||||
fn create_section(is_index: bool) -> Section { | fn create_section(is_index: bool) -> Section { | ||||
let mut f = SectionFrontMatter::default(); | let mut f = SectionFrontMatter::default(); |
@@ -0,0 +1,702 @@ | |||||
[root] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.6.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "safemem" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,22 @@ | |||||
[package] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
regex = "0.2" | |||||
lazy_static = "0.2" | |||||
syntect = { version = "1", features = ["static-onig"] } | |||||
pulldown-cmark = "0" | |||||
slug = "0.1" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
errors = { path = "../errors" } | |||||
front_matter = { path = "../front_matter" } | |||||
utils = { path = "../utils" } | |||||
[dev-dependencies] | |||||
templates = { path = "../templates" } |
@@ -2,7 +2,6 @@ use std::collections::HashMap; | |||||
use tera::Tera; | use tera::Tera; | ||||
use config::Config; | |||||
use front_matter::InsertAnchor; | use front_matter::InsertAnchor; | ||||
@@ -20,7 +19,8 @@ pub struct Context<'a> { | |||||
impl<'a> Context<'a> { | impl<'a> Context<'a> { | ||||
pub fn new( | pub fn new( | ||||
tera: &'a Tera, | tera: &'a Tera, | ||||
config: &'a Config, | |||||
highlight_code: bool, | |||||
highlight_theme: String, | |||||
current_page_permalink: &str, | current_page_permalink: &str, | ||||
permalinks: &'a HashMap<String, String>, | permalinks: &'a HashMap<String, String>, | ||||
insert_anchor: InsertAnchor, | insert_anchor: InsertAnchor, | ||||
@@ -30,8 +30,8 @@ impl<'a> Context<'a> { | |||||
current_page_permalink: current_page_permalink.to_string(), | current_page_permalink: current_page_permalink.to_string(), | ||||
permalinks, | permalinks, | ||||
insert_anchor, | insert_anchor, | ||||
highlight_code: config.highlight_code.unwrap(), | |||||
highlight_theme: config.highlight_theme.clone().unwrap(), | |||||
highlight_code, | |||||
highlight_theme, | |||||
} | } | ||||
} | } | ||||
@@ -4,13 +4,13 @@ use syntect::highlighting::ThemeSet; | |||||
thread_local!{ | thread_local!{ | ||||
pub static SYNTAX_SET: SyntaxSet = { | pub static SYNTAX_SET: SyntaxSet = { | ||||
let mut ss: SyntaxSet = from_binary(include_bytes!("../../sublime_syntaxes/newlines.packdump")); | |||||
let mut ss: SyntaxSet = from_binary(include_bytes!("../../../sublime_syntaxes/newlines.packdump")); | |||||
ss.link_syntaxes(); | ss.link_syntaxes(); | ||||
ss | ss | ||||
}; | }; | ||||
} | } | ||||
lazy_static!{ | lazy_static!{ | ||||
pub static ref THEME_SET: ThemeSet = from_binary(include_bytes!("../../sublime_themes/all.themedump")); | |||||
pub static ref THEME_SET: ThemeSet = from_binary(include_bytes!("../../../sublime_themes/all.themedump")); | |||||
} | } | ||||
@@ -0,0 +1,27 @@ | |||||
#[macro_use] | |||||
extern crate lazy_static; | |||||
extern crate regex; | |||||
extern crate tera; | |||||
extern crate syntect; | |||||
extern crate pulldown_cmark; | |||||
extern crate slug; | |||||
#[macro_use] | |||||
extern crate serde_derive; | |||||
extern crate serde; | |||||
extern crate errors; | |||||
extern crate front_matter; | |||||
extern crate utils; | |||||
#[cfg(test)] | |||||
extern crate templates; | |||||
mod context; | |||||
pub mod highlighting; | |||||
mod markdown; | |||||
mod short_code; | |||||
mod table_of_contents; | |||||
pub use context::Context; | |||||
pub use markdown::markdown_to_html; | |||||
pub use table_of_contents::Header; |
@@ -2,23 +2,18 @@ use std::borrow::Cow::Owned; | |||||
use pulldown_cmark as cmark; | use pulldown_cmark as cmark; | ||||
use self::cmark::{Parser, Event, Tag, Options, OPTION_ENABLE_TABLES, OPTION_ENABLE_FOOTNOTES}; | use self::cmark::{Parser, Event, Tag, Options, OPTION_ENABLE_TABLES, OPTION_ENABLE_FOOTNOTES}; | ||||
use regex::Regex; | |||||
use slug::slugify; | use slug::slugify; | ||||
use syntect::easy::HighlightLines; | use syntect::easy::HighlightLines; | ||||
use syntect::html::{start_coloured_html_snippet, styles_to_coloured_html, IncludeBackground}; | use syntect::html::{start_coloured_html_snippet, styles_to_coloured_html, IncludeBackground}; | ||||
use tera::{Context as TeraContext}; | use tera::{Context as TeraContext}; | ||||
use errors::{Result}; | |||||
use site::resolve_internal_link; | |||||
use errors::Result; | |||||
use utils::site::resolve_internal_link; | |||||
use front_matter::InsertAnchor; | use front_matter::InsertAnchor; | ||||
use rendering::context::Context; | |||||
use rendering::highlighting::{SYNTAX_SET, THEME_SET}; | |||||
use rendering::short_code::{ShortCode, parse_shortcode, render_simple_shortcode}; | |||||
use content::{TempHeader, Header, make_table_of_contents}; | |||||
lazy_static!{ | |||||
static ref SHORTCODE_RE: Regex = Regex::new(r#"\{(?:%|\{)\s+([[:alnum:]]+?)\(([[:alnum:]]+?="?.+?"?)\)\s+(?:%|\})\}"#).unwrap(); | |||||
} | |||||
use context::Context; | |||||
use highlighting::{SYNTAX_SET, THEME_SET}; | |||||
use short_code::{SHORTCODE_RE, ShortCode, parse_shortcode, render_simple_shortcode}; | |||||
use table_of_contents::{TempHeader, Header, make_table_of_contents}; | |||||
pub fn markdown_to_html(content: &str, context: &Context) -> Result<(String, Vec<Header>)> { | pub fn markdown_to_html(content: &str, context: &Context) -> Result<(String, Vec<Header>)> { | ||||
@@ -275,10 +270,9 @@ mod tests { | |||||
use tera::Tera; | use tera::Tera; | ||||
use config::Config; | |||||
use front_matter::InsertAnchor; | use front_matter::InsertAnchor; | ||||
use templates::GUTENBERG_TERA; | use templates::GUTENBERG_TERA; | ||||
use rendering::context::Context; | |||||
use context::Context; | |||||
use super::markdown_to_html; | use super::markdown_to_html; | ||||
@@ -286,8 +280,7 @@ mod tests { | |||||
fn can_do_markdown_to_html_simple() { | fn can_do_markdown_to_html_simple() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("hello", &context).unwrap(); | let res = markdown_to_html("hello", &context).unwrap(); | ||||
assert_eq!(res.0, "<p>hello</p>\n"); | assert_eq!(res.0, "<p>hello</p>\n"); | ||||
} | } | ||||
@@ -296,8 +289,7 @@ mod tests { | |||||
fn doesnt_highlight_code_block_with_highlighting_off() { | fn doesnt_highlight_code_block_with_highlighting_off() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let mut context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let mut context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
context.highlight_code = false; | context.highlight_code = false; | ||||
let res = markdown_to_html("```\n$ gutenberg server\n```", &context).unwrap(); | let res = markdown_to_html("```\n$ gutenberg server\n```", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
@@ -310,8 +302,7 @@ mod tests { | |||||
fn can_highlight_code_block_no_lang() { | fn can_highlight_code_block_no_lang() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("```\n$ gutenberg server\n$ ping\n```", &context).unwrap(); | let res = markdown_to_html("```\n$ gutenberg server\n$ ping\n```", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -323,8 +314,7 @@ mod tests { | |||||
fn can_highlight_code_block_with_lang() { | fn can_highlight_code_block_with_lang() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("```python\nlist.append(1)\n```", &context).unwrap(); | let res = markdown_to_html("```python\nlist.append(1)\n```", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -336,8 +326,7 @@ mod tests { | |||||
fn can_higlight_code_block_with_unknown_lang() { | fn can_higlight_code_block_with_unknown_lang() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("```yolo\nlist.append(1)\n```", &context).unwrap(); | let res = markdown_to_html("```yolo\nlist.append(1)\n```", &context).unwrap(); | ||||
// defaults to plain text | // defaults to plain text | ||||
assert_eq!( | assert_eq!( | ||||
@@ -349,8 +338,7 @@ mod tests { | |||||
#[test] | #[test] | ||||
fn can_render_shortcode() { | fn can_render_shortcode() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html(r#" | let res = markdown_to_html(r#" | ||||
Hello | Hello | ||||
@@ -363,8 +351,7 @@ Hello | |||||
#[test] | #[test] | ||||
fn can_render_several_shortcode_in_row() { | fn can_render_several_shortcode_in_row() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html(r#" | let res = markdown_to_html(r#" | ||||
Hello | Hello | ||||
@@ -389,8 +376,7 @@ Hello | |||||
#[test] | #[test] | ||||
fn doesnt_render_shortcode_in_code_block() { | fn doesnt_render_shortcode_in_code_block() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html(r#"```{{ youtube(id="w7Ft2ymGmfc") }}```"#, &context).unwrap(); | let res = markdown_to_html(r#"```{{ youtube(id="w7Ft2ymGmfc") }}```"#, &context).unwrap(); | ||||
assert_eq!(res.0, "<p><code>{{ youtube(id="w7Ft2ymGmfc") }}</code></p>\n"); | assert_eq!(res.0, "<p><code>{{ youtube(id="w7Ft2ymGmfc") }}</code></p>\n"); | ||||
} | } | ||||
@@ -401,8 +387,7 @@ Hello | |||||
tera.extend(&GUTENBERG_TERA).unwrap(); | tera.extend(&GUTENBERG_TERA).unwrap(); | ||||
tera.add_raw_template("shortcodes/quote.html", "<blockquote>{{ body }} - {{ author}}</blockquote>").unwrap(); | tera.add_raw_template("shortcodes/quote.html", "<blockquote>{{ body }} - {{ author}}</blockquote>").unwrap(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html(r#" | let res = markdown_to_html(r#" | ||||
Hello | Hello | ||||
@@ -417,8 +402,7 @@ A quote | |||||
fn errors_rendering_unknown_shortcode() { | fn errors_rendering_unknown_shortcode() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("{{ hello(flash=true) }}", &context); | let res = markdown_to_html("{{ hello(flash=true) }}", &context); | ||||
assert!(res.is_err()); | assert!(res.is_err()); | ||||
} | } | ||||
@@ -428,8 +412,7 @@ A quote | |||||
let mut permalinks = HashMap::new(); | let mut permalinks = HashMap::new(); | ||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks, InsertAnchor::None); | |||||
let res = markdown_to_html( | let res = markdown_to_html( | ||||
r#"[rel link](./pages/about.md), [abs link](https://vincent.is/about)"#, | r#"[rel link](./pages/about.md), [abs link](https://vincent.is/about)"#, | ||||
&context | &context | ||||
@@ -445,8 +428,7 @@ A quote | |||||
let mut permalinks = HashMap::new(); | let mut permalinks = HashMap::new(); | ||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks, InsertAnchor::None); | |||||
let res = markdown_to_html(r#"[rel link](./pages/about.md#cv)"#, &context).unwrap(); | let res = markdown_to_html(r#"[rel link](./pages/about.md#cv)"#, &context).unwrap(); | ||||
assert!( | assert!( | ||||
@@ -458,8 +440,7 @@ A quote | |||||
fn errors_relative_link_inexistant() { | fn errors_relative_link_inexistant() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("[rel link](./pages/about.md)", &context); | let res = markdown_to_html("[rel link](./pages/about.md)", &context); | ||||
assert!(res.is_err()); | assert!(res.is_err()); | ||||
} | } | ||||
@@ -468,8 +449,7 @@ A quote | |||||
fn can_add_id_to_headers() { | fn can_add_id_to_headers() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html(r#"# Hello"#, &context).unwrap(); | let res = markdown_to_html(r#"# Hello"#, &context).unwrap(); | ||||
assert_eq!(res.0, "<h1 id=\"hello\">Hello</h1>\n"); | assert_eq!(res.0, "<h1 id=\"hello\">Hello</h1>\n"); | ||||
} | } | ||||
@@ -478,8 +458,7 @@ A quote | |||||
fn can_add_id_to_headers_same_slug() { | fn can_add_id_to_headers_same_slug() { | ||||
let tera_ctx = Tera::default(); | let tera_ctx = Tera::default(); | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&tera_ctx, &config_ctx, "", &permalinks_ctx, InsertAnchor::None); | |||||
let context = Context::new(&tera_ctx, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::None); | |||||
let res = markdown_to_html("# Hello\n# Hello", &context).unwrap(); | let res = markdown_to_html("# Hello\n# Hello", &context).unwrap(); | ||||
assert_eq!(res.0, "<h1 id=\"hello\">Hello</h1>\n<h1 id=\"hello-1\">Hello</h1>\n"); | assert_eq!(res.0, "<h1 id=\"hello\">Hello</h1>\n<h1 id=\"hello-1\">Hello</h1>\n"); | ||||
} | } | ||||
@@ -487,8 +466,7 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_insert_anchor_left() { | fn can_insert_anchor_left() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::Left); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::Left); | |||||
let res = markdown_to_html("# Hello", &context).unwrap(); | let res = markdown_to_html("# Hello", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -499,8 +477,7 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_insert_anchor_right() { | fn can_insert_anchor_right() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::Right); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::Right); | |||||
let res = markdown_to_html("# Hello", &context).unwrap(); | let res = markdown_to_html("# Hello", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -512,8 +489,7 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_insert_anchor_with_exclamation_mark() { | fn can_insert_anchor_with_exclamation_mark() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::Left); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::Left); | |||||
let res = markdown_to_html("# Hello!", &context).unwrap(); | let res = markdown_to_html("# Hello!", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -525,8 +501,7 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_insert_anchor_with_link() { | fn can_insert_anchor_with_link() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::Left); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::Left); | |||||
let res = markdown_to_html("## [](#xresources)Xresources", &context).unwrap(); | let res = markdown_to_html("## [](#xresources)Xresources", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -537,8 +512,7 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_insert_anchor_with_other_special_chars() { | fn can_insert_anchor_with_other_special_chars() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new(&GUTENBERG_TERA, &config_ctx, "", &permalinks_ctx, InsertAnchor::Left); | |||||
let context = Context::new(&GUTENBERG_TERA, true, "base16-ocean-dark".to_string(), "", &permalinks_ctx, InsertAnchor::Left); | |||||
let res = markdown_to_html("# Hello*_()", &context).unwrap(); | let res = markdown_to_html("# Hello*_()", &context).unwrap(); | ||||
assert_eq!( | assert_eq!( | ||||
res.0, | res.0, | ||||
@@ -549,10 +523,10 @@ A quote | |||||
#[test] | #[test] | ||||
fn can_make_toc() { | fn can_make_toc() { | ||||
let permalinks_ctx = HashMap::new(); | let permalinks_ctx = HashMap::new(); | ||||
let config_ctx = Config::default(); | |||||
let context = Context::new( | let context = Context::new( | ||||
&GUTENBERG_TERA, | &GUTENBERG_TERA, | ||||
&config_ctx, | |||||
true, | |||||
"base16-ocean-dark".to_string(), | |||||
"https://mysite.com/something", | "https://mysite.com/something", | ||||
&permalinks_ctx, | &permalinks_ctx, | ||||
InsertAnchor::Left | InsertAnchor::Left |
@@ -6,7 +6,7 @@ use tera::{Tera, Context}; | |||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
lazy_static!{ | lazy_static!{ | ||||
static ref SHORTCODE_RE: Regex = Regex::new(r#"\{(?:%|\{)\s+([[:alnum:]]+?)\(([[:alnum:]]+?="?.+?"?)\)\s+(?:%|\})\}"#).unwrap(); | |||||
pub static ref SHORTCODE_RE: Regex = Regex::new(r#"\{(?:%|\{)\s+([[:alnum:]]+?)\(([[:alnum:]]+?="?.+?"?)\)\s+(?:%|\})\}"#).unwrap(); | |||||
} | } | ||||
/// A shortcode that has a body | /// A shortcode that has a body | ||||
@@ -73,7 +73,7 @@ pub fn render_simple_shortcode(tera: &Tera, name: &str, args: &HashMap<String, S | |||||
#[cfg(test)] | #[cfg(test)] | ||||
mod tests { | mod tests { | ||||
use super::{parse_shortcode}; | |||||
use super::parse_shortcode; | |||||
#[test] | #[test] | ||||
fn can_parse_simple_shortcode_one_arg() { | fn can_parse_simple_shortcode_one_arg() { |
@@ -21,7 +21,6 @@ impl Header { | |||||
} | } | ||||
} | } | ||||
/// Used in | |||||
#[derive(Debug, PartialEq, Clone)] | #[derive(Debug, PartialEq, Clone)] | ||||
pub struct TempHeader { | pub struct TempHeader { | ||||
pub level: i32, | pub level: i32, |
@@ -0,0 +1,852 @@ | |||||
[root] | |||||
name = "site" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pagination 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"taxonomies 0.1.0", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.6.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "coco" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "either" | |||||
version = "1.1.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "futures" | |||||
version = "0.1.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "num_cpus" | |||||
version = "1.6.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pagination" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rand" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon-core" | |||||
version = "1.2.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "safemem" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "scopeguard" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "taxonomies" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tempdir" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" | |||||
"checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" | |||||
"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,22 @@ | |||||
[package] | |||||
name = "site" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
glob = "0.2" | |||||
walkdir = "1" | |||||
rayon = "0.8" | |||||
errors = { path = "../errors" } | |||||
config = { path = "../config" } | |||||
utils = { path = "../utils" } | |||||
templates = { path = "../templates" } | |||||
front_matter = { path = "../front_matter" } | |||||
pagination = { path = "../pagination" } | |||||
taxonomies = { path = "../taxonomies" } | |||||
content = { path = "../content" } | |||||
[dev-dependencies] | |||||
tempdir = "0.3" |
@@ -1,5 +1,23 @@ | |||||
extern crate tera; | |||||
extern crate rayon; | |||||
extern crate glob; | |||||
extern crate walkdir; | |||||
extern crate errors; | |||||
extern crate config; | |||||
extern crate utils; | |||||
extern crate front_matter; | |||||
extern crate templates; | |||||
extern crate pagination; | |||||
extern crate taxonomies; | |||||
extern crate content; | |||||
#[cfg(test)] | |||||
extern crate tempdir; | |||||
use std::collections::HashMap; | use std::collections::HashMap; | ||||
use std::fs::{remove_dir_all, copy, create_dir_all}; | use std::fs::{remove_dir_all, copy, create_dir_all}; | ||||
use std::mem; | |||||
use std::path::{Path, PathBuf}; | use std::path::{Path, PathBuf}; | ||||
use glob::glob; | use glob::glob; | ||||
@@ -8,10 +26,12 @@ use walkdir::WalkDir; | |||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use config::{Config, get_config}; | use config::{Config, get_config}; | ||||
use fs::{create_file, create_directory, ensure_directory_exists}; | |||||
use content::{Page, Section, Paginator, SortBy, Taxonomy, populate_previous_and_next_pages, sort_pages}; | |||||
use utils::fs::{create_file, create_directory, ensure_directory_exists}; | |||||
use content::{Page, Section, populate_previous_and_next_pages, sort_pages}; | |||||
use templates::{GUTENBERG_TERA, global_fns, render_redirect_template}; | use templates::{GUTENBERG_TERA, global_fns, render_redirect_template}; | ||||
use front_matter::InsertAnchor; | |||||
use front_matter::{SortBy, InsertAnchor}; | |||||
use taxonomies::Taxonomy; | |||||
use pagination::Paginator; | |||||
use rayon::prelude::*; | use rayon::prelude::*; | ||||
@@ -270,8 +290,9 @@ impl Site { | |||||
continue; | continue; | ||||
} | } | ||||
} | } | ||||
let (sorted_pages, cannot_be_sorted_pages) = sort_pages(section.pages.clone(), section.meta.sort_by()); | |||||
section.pages = populate_previous_and_next_pages(&sorted_pages); | |||||
let pages = mem::replace(&mut section.pages, vec![]); | |||||
let (sorted_pages, cannot_be_sorted_pages) = sort_pages(pages, section.meta.sort_by()); | |||||
section.pages = populate_previous_and_next_pages(sorted_pages); | |||||
section.ignored_pages = cannot_be_sorted_pages; | section.ignored_pages = cannot_be_sorted_pages; | ||||
} | } | ||||
} | } | ||||
@@ -286,7 +307,7 @@ impl Site { | |||||
// TODO: can we pass a reference? | // TODO: can we pass a reference? | ||||
let (tags, categories) = Taxonomy::find_tags_and_categories( | let (tags, categories) = Taxonomy::find_tags_and_categories( | ||||
self.pages.values().cloned().collect::<Vec<_>>() | |||||
self.pages.values().cloned().collect::<Vec<_>>().as_slice() | |||||
); | ); | ||||
if generate_tags_pages { | if generate_tags_pages { | ||||
self.tags = Some(tags); | self.tags = Some(tags); | ||||
@@ -639,7 +660,7 @@ impl Site { | |||||
.map(|(i, pager)| { | .map(|(i, pager)| { | ||||
let page_path = folder_path.join(&format!("{}", i + 1)); | let page_path = folder_path.join(&format!("{}", i + 1)); | ||||
create_directory(&page_path)?; | create_directory(&page_path)?; | ||||
let output = paginator.render_pager(pager, self)?; | |||||
let output = paginator.render_pager(pager, &self.config, &self.sections, &self.tera)?; | |||||
if i > 0 { | if i > 0 { | ||||
create_file(&page_path.join("index.html"), &self.inject_livereload(output))?; | create_file(&page_path.join("index.html"), &self.inject_livereload(output))?; | ||||
} else { | } else { | ||||
@@ -654,51 +675,3 @@ impl Site { | |||||
} | } | ||||
/// Resolves an internal link (of the `./posts/something.md#hey` sort) to its absolute link | |||||
pub fn resolve_internal_link(link: &str, permalinks: &HashMap<String, String>) -> Result<String> { | |||||
// First we remove the ./ since that's gutenberg specific | |||||
let clean_link = link.replacen("./", "", 1); | |||||
// Then we remove any potential anchor | |||||
// parts[0] will be the file path and parts[1] the anchor if present | |||||
let parts = clean_link.split('#').collect::<Vec<_>>(); | |||||
match permalinks.get(parts[0]) { | |||||
Some(p) => { | |||||
if parts.len() > 1 { | |||||
Ok(format!("{}#{}", p, parts[1])) | |||||
} else { | |||||
Ok(p.to_string()) | |||||
} | |||||
}, | |||||
None => bail!(format!("Relative link {} not found.", link)), | |||||
} | |||||
} | |||||
#[cfg(test)] | |||||
mod tests { | |||||
use std::collections::HashMap; | |||||
use super::resolve_internal_link; | |||||
#[test] | |||||
fn can_resolve_valid_internal_link() { | |||||
let mut permalinks = HashMap::new(); | |||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | |||||
let res = resolve_internal_link("./pages/about.md", &permalinks).unwrap(); | |||||
assert_eq!(res, "https://vincent.is/about"); | |||||
} | |||||
#[test] | |||||
fn can_resolve_internal_links_with_anchors() { | |||||
let mut permalinks = HashMap::new(); | |||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | |||||
let res = resolve_internal_link("./pages/about.md#hello", &permalinks).unwrap(); | |||||
assert_eq!(res, "https://vincent.is/about#hello"); | |||||
} | |||||
#[test] | |||||
fn errors_resolve_inexistant_internal_link() { | |||||
let res = resolve_internal_link("./pages/about.md#hello", &HashMap::new()); | |||||
assert!(res.is_err()); | |||||
} | |||||
} |
@@ -1,4 +1,4 @@ | |||||
extern crate gutenberg; | |||||
extern crate site; | |||||
extern crate tempdir; | extern crate tempdir; | ||||
extern crate glob; | extern crate glob; | ||||
@@ -8,7 +8,7 @@ use std::fs::File; | |||||
use std::io::prelude::*; | use std::io::prelude::*; | ||||
use tempdir::TempDir; | use tempdir::TempDir; | ||||
use gutenberg::{Site}; | |||||
use site::Site; | |||||
#[test] | #[test] |
@@ -0,0 +1,812 @@ | |||||
[root] | |||||
name = "taxonomies" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.6.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "coco" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "either" | |||||
version = "1.1.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "futures" | |||||
version = "0.1.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "num_cpus" | |||||
version = "1.6.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rand" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon-core" | |||||
version = "1.2.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"templates 0.1.0", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "safemem" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "scopeguard" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" | |||||
"checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" | |||||
"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,15 @@ | |||||
[package] | |||||
name = "taxonomies" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
slug = "0.1" | |||||
serde = "1.0" | |||||
serde_derive = "1.0" | |||||
errors = { path = "../errors" } | |||||
config = { path = "../config" } | |||||
content = { path = "../content" } | |||||
front_matter = { path = "../front_matter" } |
@@ -1,3 +1,13 @@ | |||||
#[macro_use] | |||||
extern crate serde_derive; | |||||
extern crate tera; | |||||
extern crate slug; | |||||
extern crate errors; | |||||
extern crate config; | |||||
extern crate content; | |||||
extern crate front_matter; | |||||
use std::collections::HashMap; | use std::collections::HashMap; | ||||
use slug::slugify; | use slug::slugify; | ||||
@@ -5,8 +15,8 @@ use tera::{Context, Tera}; | |||||
use config::Config; | use config::Config; | ||||
use errors::{Result, ResultExt}; | use errors::{Result, ResultExt}; | ||||
use content::Page; | |||||
use content::sorting::{SortBy, sort_pages}; | |||||
use content::{Page, sort_pages}; | |||||
use front_matter::SortBy; | |||||
#[derive(Debug, Copy, Clone, PartialEq)] | #[derive(Debug, Copy, Clone, PartialEq)] | ||||
@@ -27,6 +37,7 @@ impl TaxonomyItem { | |||||
pub fn new(name: &str, pages: Vec<Page>) -> TaxonomyItem { | pub fn new(name: &str, pages: Vec<Page>) -> TaxonomyItem { | ||||
// We shouldn't have any pages without dates there | // We shouldn't have any pages without dates there | ||||
let (sorted_pages, _) = sort_pages(pages, SortBy::Date); | let (sorted_pages, _) = sort_pages(pages, SortBy::Date); | ||||
TaxonomyItem { | TaxonomyItem { | ||||
name: name.to_string(), | name: name.to_string(), | ||||
slug: slugify(name), | slug: slugify(name), | ||||
@@ -45,7 +56,7 @@ pub struct Taxonomy { | |||||
impl Taxonomy { | impl Taxonomy { | ||||
// TODO: take a Vec<&'a Page> if it makes a difference in terms of perf for actual sites | // TODO: take a Vec<&'a Page> if it makes a difference in terms of perf for actual sites | ||||
pub fn find_tags_and_categories(all_pages: Vec<Page>) -> (Taxonomy, Taxonomy) { | |||||
pub fn find_tags_and_categories(all_pages: &[Page]) -> (Taxonomy, Taxonomy) { | |||||
let mut tags = HashMap::new(); | let mut tags = HashMap::new(); | ||||
let mut categories = HashMap::new(); | let mut categories = HashMap::new(); | ||||
@@ -0,0 +1,798 @@ | |||||
[root] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"content 0.1.0", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.5.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "base64" | |||||
version = "0.6.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bincode" | |||||
version = "0.8.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "bitflags" | |||||
version = "0.9.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "byteorder" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cmake" | |||||
version = "0.1.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "coco" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "config" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "content" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"config 0.1.0", | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rendering 0.1.0", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "either" | |||||
version = "1.1.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "flate2" | |||||
version = "0.2.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "fnv" | |||||
version = "1.0.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "front_matter" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"errors 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "futures" | |||||
version = "0.1.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "getopts" | |||||
version = "0.2.14" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "miniz-sys" | |||||
version = "0.1.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "num_cpus" | |||||
version = "1.6.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig" | |||||
version = "1.3.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "onig_sys" | |||||
version = "63.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pkg-config" | |||||
version = "0.3.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "plist" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "pulldown-cmark" | |||||
version = "0.0.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "quote" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rand" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon" | |||||
version = "0.8.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "rayon-core" | |||||
version = "1.2.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rendering" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"front_matter 0.1.0", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utils 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "safemem" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "same-file" | |||||
version = "0.1.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "scopeguard" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_derive" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_derive_internals" | |||||
version = "0.15.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syn" | |||||
version = "0.11.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "synom" | |||||
version = "0.11.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "syntect" | |||||
version = "1.7.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unicode-xid" | |||||
version = "0.0.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
] | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "walkdir" | |||||
version = "1.0.7" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "xml-rs" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "yaml-rust" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557" | |||||
"checksum base64 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96434f987501f0ed4eb336a411e0631ecd1afa11574fe148587adc4ff96143c9" | |||||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||||
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" | |||||
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" | |||||
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" | |||||
"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "158b0bd7d75cbb6bf9c25967a48a2e9f77da95876b858eadfabaa99cd069de6e" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum cmake 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f" | |||||
"checksum coco 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" | |||||
"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" | |||||
"checksum futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "4b63a4792d4f8f686defe3b39b92127fea6344de5d38202b2ee5a11bbbf29d6a" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aec53c34f2d0247c5ca5d32cca1478762f301740468ee9ee6dcb7a0dd7a0c584" | |||||
"checksum onig 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee619da9cf707b167098e84fb00f10db61d5a662d1d29b59822bcac3a81553dd" | |||||
"checksum onig_sys 63.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "531682ab45a2cd40eff91f29340dae975f25336d2b61e624adabed39e61d7fb3" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" | |||||
"checksum plist 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2f7e9574aabcf57bc5e9f602caabdffffa8179b0c130a039f7895fea3dbdb5" | |||||
"checksum pulldown-cmark 0.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "378e941dbd392c101f2cb88097fa4d7167bc421d4b88de3ff7dbee503bc3233b" | |||||
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" | |||||
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" | |||||
"checksum rayon 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b614fe08b6665cb9a231d07ac1364b0ef3cb3698f1239ee0c4c3a88a524f54c8" | |||||
"checksum rayon-core 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7febc28567082c345f10cddc3612c6ea020fc3297a1977d472cf9fdb73e6e493" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" | |||||
"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" | |||||
"checksum scopeguard 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c79eb2c3ac4bc2507cda80e7f3ac5b88bd8eae4c0914d5663e6a8933994be918" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" | |||||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||||
"checksum syntect 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f436345e5b6ebbfdf51b20b95cd9bcb82576262c340bad9cf815078d76b082a" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | |||||
"checksum xml-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b46ee689ba7a669c08a1170c2348d2516c62dc461135c9e86b2f1f476e07be4a" | |||||
"checksum yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992" |
@@ -0,0 +1,14 @@ | |||||
[package] | |||||
name = "templates" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
tera = "0.10" | |||||
base64 = "0.6" | |||||
lazy_static = "0.2" | |||||
pulldown-cmark = "0" | |||||
errors = { path = "../errors" } | |||||
utils = { path = "../utils" } | |||||
content = { path = "../content" } |
@@ -1,10 +1,9 @@ | |||||
use std::collections::{HashMap}; | |||||
use std::collections::HashMap; | |||||
use base64::{encode, decode}; | use base64::{encode, decode}; | ||||
use pulldown_cmark as cmark; | use pulldown_cmark as cmark; | ||||
use tera::{Value, to_value, Result as TeraResult}; | use tera::{Value, to_value, Result as TeraResult}; | ||||
// fn(Value, HashMap<String, Value>) -> Result<Value> | |||||
pub fn markdown(value: Value, _: HashMap<String, Value>) -> TeraResult<Value> { | pub fn markdown(value: Value, _: HashMap<String, Value>) -> TeraResult<Value> { | ||||
let s = try_get_value!("markdown", "value", String, value); | let s = try_get_value!("markdown", "value", String, value); |
@@ -4,7 +4,7 @@ use std::path::{PathBuf}; | |||||
use tera::{GlobalFn, Value, from_value, to_value, Result}; | use tera::{GlobalFn, Value, from_value, to_value, Result}; | ||||
use content::{Page, Section}; | use content::{Page, Section}; | ||||
use site::resolve_internal_link; | |||||
use utils::site::resolve_internal_link; | |||||
pub fn make_get_page(all_pages: &HashMap<PathBuf, Page>) -> GlobalFn { | pub fn make_get_page(all_pages: &HashMap<PathBuf, Page>) -> GlobalFn { |
@@ -1,10 +1,21 @@ | |||||
use tera::{Tera, Context}; | |||||
#[macro_use] | |||||
extern crate lazy_static; | |||||
#[macro_use] | |||||
extern crate tera; | |||||
extern crate base64; | |||||
extern crate pulldown_cmark; | |||||
use errors::{Result, ResultExt}; | |||||
extern crate errors; | |||||
extern crate utils; | |||||
extern crate content; | |||||
pub mod filters; | pub mod filters; | ||||
pub mod global_fns; | pub mod global_fns; | ||||
use tera::{Tera, Context}; | |||||
use errors::{Result, ResultExt}; | |||||
lazy_static! { | lazy_static! { | ||||
pub static ref GUTENBERG_TERA: Tera = { | pub static ref GUTENBERG_TERA: Tera = { | ||||
let mut tera = Tera::default(); | let mut tera = Tera::default(); |
@@ -0,0 +1,404 @@ | |||||
[root] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"errors 0.1.0", | |||||
"tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "aho-corasick" | |||||
version = "0.6.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace" | |||||
version = "0.3.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "backtrace-sys" | |||||
version = "0.1.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "cfg-if" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "chrono" | |||||
version = "0.4.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dbghelp-sys" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "dtoa" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "error-chain" | |||||
version = "0.10.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "errors" | |||||
version = "0.1.0" | |||||
dependencies = [ | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "gcc" | |||||
version = "0.3.51" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "glob" | |||||
version = "0.2.11" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "humansize" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "idna" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "itoa" | |||||
version = "0.3.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "kernel32-sys" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "lazy_static" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "libc" | |||||
version = "0.2.24" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "matches" | |||||
version = "0.1.6" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "memchr" | |||||
version = "1.0.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-integer" | |||||
version = "0.1.34" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-iter" | |||||
version = "0.1.33" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "num-traits" | |||||
version = "0.1.39" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "percent-encoding" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "pest" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rand" | |||||
version = "0.3.15" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "redox_syscall" | |||||
version = "0.1.19" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "regex" | |||||
version = "0.2.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "regex-syntax" | |||||
version = "0.4.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "rustc-demangle" | |||||
version = "0.1.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde" | |||||
version = "1.0.9" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "serde_json" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "slug" | |||||
version = "0.1.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tempdir" | |||||
version = "0.3.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "tera" | |||||
version = "0.10.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "thread_local" | |||||
version = "0.3.4" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "time" | |||||
version = "0.1.37" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "toml" | |||||
version = "0.4.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-bidi" | |||||
version = "0.3.3" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "unicode-normalization" | |||||
version = "0.1.5" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unidecode" | |||||
version = "0.2.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "unreachable" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "url" | |||||
version = "1.5.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
dependencies = [ | |||||
"idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
"percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||||
] | |||||
[[package]] | |||||
name = "utf8-ranges" | |||||
version = "1.0.0" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "void" | |||||
version = "1.0.2" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi" | |||||
version = "0.2.8" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[[package]] | |||||
name = "winapi-build" | |||||
version = "0.1.1" | |||||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||||
[metadata] | |||||
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" | |||||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||||
"checksum cfg-if 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29" | |||||
"checksum chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9" | |||||
"checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" | |||||
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" | |||||
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" | |||||
"checksum gcc 0.3.51 (registry+https://github.com/rust-lang/crates.io-index)" = "120d07f202dcc3f72859422563522b66fe6463a4c513df062874daad05f85f0a" | |||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" | |||||
"checksum humansize 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "92d211e6e70b05749dce515b47684f29a3c8c38bbbb21c50b30aff9eca1b0bd3" | |||||
"checksum idna 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2233d4940b1f19f0418c158509cd7396b8d70a5db5705ce410914dc8fa603b37" | |||||
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" | |||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | |||||
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" | |||||
"checksum libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)" = "38f5c2b18a287cf78b4097db62e20f43cace381dc76ae5c0a3073067f78b7ddc" | |||||
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" | |||||
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" | |||||
"checksum num 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "2c3a3dc9f30bf824141521b30c908a859ab190b76e20435fcd89f35eb6583887" | |||||
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" | |||||
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" | |||||
"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" | |||||
"checksum percent-encoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356" | |||||
"checksum pest 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e823a5967bb4cdc6d3e46f47baaf4ecfeae44413a642b74ad44e59e49c7f6" | |||||
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" | |||||
"checksum redox_syscall 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "e4a357d14a12e90a37d658725df0e6468504750b5948b9710f83f94a0c5818e8" | |||||
"checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" | |||||
"checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" | |||||
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95" | |||||
"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" | |||||
"checksum serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "48b04779552e92037212c3615370f6bd57a40ebba7f20e554ff9f55e41a69a7b" | |||||
"checksum slug 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f5ff4b43cb07b86c5f9236c92714a22cdf9e5a27a7d85e398e2c9403328cb8" | |||||
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" | |||||
"checksum tera 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "62736a6d748fd2c5a8b4be21010e37d79f78aea3c2e07a9e13ff5c70864a3129" | |||||
"checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" | |||||
"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" | |||||
"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" | |||||
"checksum unicode-bidi 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a6a2c4e3710edd365cd7e78383153ed739fa31af19f9172f72d3575060f5a43a" | |||||
"checksum unicode-normalization 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f" | |||||
"checksum unidecode 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2adb95ee07cd579ed18131f2d9e7a17c25a4b76022935c7f2460d2bfae89fd2" | |||||
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" | |||||
"checksum url 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27" | |||||
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" | |||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" | |||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | |||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" |
@@ -0,0 +1,11 @@ | |||||
[package] | |||||
name = "utils" | |||||
version = "0.1.0" | |||||
authors = ["Vincent Prouillet <vincent@wearewizards.io>"] | |||||
[dependencies] | |||||
errors = { path = "../errors" } | |||||
[dev-dependencies] | |||||
tempdir = "0.3" |
@@ -1,6 +1,44 @@ | |||||
use std::fs::read_dir; | |||||
use std::io::prelude::*; | |||||
use std::fs::{File, create_dir_all, read_dir}; | |||||
use std::path::{Path, PathBuf}; | use std::path::{Path, PathBuf}; | ||||
use errors::{Result, ResultExt}; | |||||
/// Create a file with the content given | |||||
pub fn create_file(path: &Path, content: &str) -> Result<()> { | |||||
let mut file = File::create(&path)?; | |||||
file.write_all(content.as_bytes())?; | |||||
Ok(()) | |||||
} | |||||
/// Create a directory at the given path if it doesn't exist already | |||||
pub fn ensure_directory_exists(path: &Path) -> Result<()> { | |||||
if !path.exists() { | |||||
create_directory(path)?; | |||||
} | |||||
Ok(()) | |||||
} | |||||
/// Very similar to `create_dir` from the std except it checks if the folder | |||||
/// exists before creating it | |||||
pub fn create_directory(path: &Path) -> Result<()> { | |||||
if !path.exists() { | |||||
create_dir_all(path) | |||||
.chain_err(|| format!("Was not able to create folder {}", path.display()))?; | |||||
} | |||||
Ok(()) | |||||
} | |||||
/// Return the content of a file, with error handling added | |||||
pub fn read_file(path: &Path) -> Result<String> { | |||||
let mut content = String::new(); | |||||
File::open(path) | |||||
.chain_err(|| format!("Failed to open '{:?}'", path.display()))? | |||||
.read_to_string(&mut content)?; | |||||
Ok(content) | |||||
} | |||||
/// Looks into the current folder for the path and see if there's anything that is not a .md | /// Looks into the current folder for the path and see if there's anything that is not a .md | ||||
/// file. Those will be copied next to the rendered .html file | /// file. Those will be copied next to the rendered .html file | ||||
pub fn find_related_assets(path: &Path) -> Vec<PathBuf> { | pub fn find_related_assets(path: &Path) -> Vec<PathBuf> { | ||||
@@ -22,23 +60,13 @@ pub fn find_related_assets(path: &Path) -> Vec<PathBuf> { | |||||
assets | assets | ||||
} | } | ||||
/// Get word count and estimated reading time | |||||
pub fn get_reading_analytics(content: &str) -> (usize, usize) { | |||||
// Only works for latin language but good enough for a start | |||||
let word_count: usize = content.split_whitespace().count(); | |||||
// https://help.medium.com/hc/en-us/articles/214991667-Read-time | |||||
// 275 seems a bit too high though | |||||
(word_count, (word_count / 200)) | |||||
} | |||||
#[cfg(test)] | #[cfg(test)] | ||||
mod tests { | mod tests { | ||||
use std::fs::File; | use std::fs::File; | ||||
use tempdir::TempDir; | use tempdir::TempDir; | ||||
use super::{find_related_assets, get_reading_analytics}; | |||||
use super::{find_related_assets}; | |||||
#[test] | #[test] | ||||
fn can_find_related_assets() { | fn can_find_related_assets() { | ||||
@@ -55,22 +83,4 @@ mod tests { | |||||
assert_eq!(assets.iter().filter(|p| p.file_name().unwrap() == "graph.jpg").count(), 1); | assert_eq!(assets.iter().filter(|p| p.file_name().unwrap() == "graph.jpg").count(), 1); | ||||
assert_eq!(assets.iter().filter(|p| p.file_name().unwrap() == "fail.png").count(), 1); | assert_eq!(assets.iter().filter(|p| p.file_name().unwrap() == "fail.png").count(), 1); | ||||
} | } | ||||
#[test] | |||||
fn reading_analytics_short_text() { | |||||
let (word_count, reading_time) = get_reading_analytics("Hello World"); | |||||
assert_eq!(word_count, 2); | |||||
assert_eq!(reading_time, 0); | |||||
} | |||||
#[test] | |||||
fn reading_analytics_long_text() { | |||||
let mut content = String::new(); | |||||
for _ in 0..1000 { | |||||
content.push_str(" Hello world"); | |||||
} | |||||
let (word_count, reading_time) = get_reading_analytics(&content); | |||||
assert_eq!(word_count, 2000); | |||||
assert_eq!(reading_time, 10); | |||||
} | |||||
} | } |
@@ -0,0 +1,8 @@ | |||||
#[macro_use] | |||||
extern crate errors; | |||||
#[cfg(test)] | |||||
extern crate tempdir; | |||||
pub mod fs; | |||||
pub mod site; |
@@ -0,0 +1,80 @@ | |||||
use std::collections::HashMap; | |||||
use errors::Result; | |||||
/// Get word count and estimated reading time | |||||
pub fn get_reading_analytics(content: &str) -> (usize, usize) { | |||||
// Only works for latin language but good enough for a start | |||||
let word_count: usize = content.split_whitespace().count(); | |||||
// https://help.medium.com/hc/en-us/articles/214991667-Read-time | |||||
// 275 seems a bit too high though | |||||
(word_count, (word_count / 200)) | |||||
} | |||||
/// Resolves an internal link (of the `./posts/something.md#hey` sort) to its absolute link | |||||
pub fn resolve_internal_link(link: &str, permalinks: &HashMap<String, String>) -> Result<String> { | |||||
// First we remove the ./ since that's gutenberg specific | |||||
let clean_link = link.replacen("./", "", 1); | |||||
// Then we remove any potential anchor | |||||
// parts[0] will be the file path and parts[1] the anchor if present | |||||
let parts = clean_link.split('#').collect::<Vec<_>>(); | |||||
match permalinks.get(parts[0]) { | |||||
Some(p) => { | |||||
if parts.len() > 1 { | |||||
Ok(format!("{}#{}", p, parts[1])) | |||||
} else { | |||||
Ok(p.to_string()) | |||||
} | |||||
}, | |||||
None => bail!(format!("Relative link {} not found.", link)), | |||||
} | |||||
} | |||||
#[cfg(test)] | |||||
mod tests { | |||||
use std::collections::HashMap; | |||||
use super::{resolve_internal_link, get_reading_analytics}; | |||||
#[test] | |||||
fn can_resolve_valid_internal_link() { | |||||
let mut permalinks = HashMap::new(); | |||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | |||||
let res = resolve_internal_link("./pages/about.md", &permalinks).unwrap(); | |||||
assert_eq!(res, "https://vincent.is/about"); | |||||
} | |||||
#[test] | |||||
fn can_resolve_internal_links_with_anchors() { | |||||
let mut permalinks = HashMap::new(); | |||||
permalinks.insert("pages/about.md".to_string(), "https://vincent.is/about".to_string()); | |||||
let res = resolve_internal_link("./pages/about.md#hello", &permalinks).unwrap(); | |||||
assert_eq!(res, "https://vincent.is/about#hello"); | |||||
} | |||||
#[test] | |||||
fn errors_resolve_inexistant_internal_link() { | |||||
let res = resolve_internal_link("./pages/about.md#hello", &HashMap::new()); | |||||
assert!(res.is_err()); | |||||
} | |||||
#[test] | |||||
fn reading_analytics_short_text() { | |||||
let (word_count, reading_time) = get_reading_analytics("Hello World"); | |||||
assert_eq!(word_count, 2); | |||||
assert_eq!(reading_time, 0); | |||||
} | |||||
#[test] | |||||
fn reading_analytics_long_text() { | |||||
let mut content = String::new(); | |||||
for _ in 0..1000 { | |||||
content.push_str(" Hello world"); | |||||
} | |||||
let (word_count, reading_time) = get_reading_analytics(&content); | |||||
assert_eq!(word_count, 2000); | |||||
assert_eq!(reading_time, 10); | |||||
} | |||||
} |
@@ -1,7 +1,7 @@ | |||||
use std::env; | use std::env; | ||||
use gutenberg::errors::Result; | |||||
use gutenberg::Site; | |||||
use errors::Result; | |||||
use site::Site; | |||||
use console; | use console; | ||||
@@ -1,9 +1,8 @@ | |||||
use std::fs::{create_dir}; | |||||
use std::fs::create_dir; | |||||
use std::path::Path; | use std::path::Path; | ||||
use gutenberg::errors::Result; | |||||
use gutenberg::create_file; | |||||
use errors::Result; | |||||
use utils::fs::create_file; | |||||
const CONFIG: &'static str = r#" | const CONFIG: &'static str = r#" |
@@ -33,8 +33,8 @@ use mount::Mount; | |||||
use staticfile::Static; | use staticfile::Static; | ||||
use notify::{Watcher, RecursiveMode, watcher}; | use notify::{Watcher, RecursiveMode, watcher}; | ||||
use ws::{WebSocket, Sender, Message}; | use ws::{WebSocket, Sender, Message}; | ||||
use gutenberg::Site; | |||||
use gutenberg::errors::{Result, ResultExt}; | |||||
use site::Site; | |||||
use errors::{Result, ResultExt}; | |||||
use console; | use console; | ||||
use rebuild; | use rebuild; |
@@ -4,8 +4,8 @@ use chrono::Duration; | |||||
use term_painter::ToStyle; | use term_painter::ToStyle; | ||||
use term_painter::Color::*; | use term_painter::Color::*; | ||||
use gutenberg::errors::Error; | |||||
use gutenberg::Site; | |||||
use errors::Error; | |||||
use site::Site; | |||||
pub fn info(message: &str) { | pub fn info(message: &str) { |