mirror of
https://git.sr.ht/~adnano/kiln
synced 2024-10-30 01:13:08 +00:00
Update dependencies
This commit is contained in:
parent
ff5f6ddaf2
commit
fc79cc068b
850
Cargo.lock
generated
850
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
16
Cargo.toml
16
Cargo.toml
|
@ -4,17 +4,15 @@ description = "A simple static site generator built in Rust."
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["adnano <me@adnano.co>"]
|
authors = ["adnano <me@adnano.co>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license-file = "LICENSE.md" # BlueOak-1.0.0
|
license = "BlueOak-1.0.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
chrono = "0.4"
|
chrono = "0.4"
|
||||||
lazy_static = "1.3"
|
lazy_static = "1.4"
|
||||||
log = { version = "0.4", features = ["release_max_level_warn"] }
|
pulldown-cmark = { version = "0.7", default-features = false }
|
||||||
pulldown-cmark = { version = "0.5", default-features = false }
|
regex = "1.3"
|
||||||
regex = "1.1"
|
rsass = "0.13"
|
||||||
rsass = "0.9"
|
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_derive = "1.0"
|
serde_derive = "1.0"
|
||||||
tera = "1.0.0-beta.6"
|
tera = "1.2"
|
||||||
toml = "0.4"
|
toml = "0.5"
|
||||||
simple-log = { version = "0.1.0", git = "https://git.sr.ht/~adnano/simple-log" }
|
|
||||||
|
|
|
@ -14,10 +14,6 @@ impl Index {
|
||||||
Ok(index)
|
Ok(index)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn len(&self) -> usize {
|
|
||||||
self.0.len()
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn insert(&mut self, key: PathBuf, val: Vec<u8>) {
|
pub fn insert(&mut self, key: PathBuf, val: Vec<u8>) {
|
||||||
self.0.push((key, val));
|
self.0.push((key, val));
|
||||||
}
|
}
|
||||||
|
|
27
src/lib.rs
27
src/lib.rs
|
@ -1,27 +0,0 @@
|
||||||
#[macro_use]
|
|
||||||
extern crate log;
|
|
||||||
|
|
||||||
use std::time::Instant;
|
|
||||||
|
|
||||||
mod index;
|
|
||||||
mod manipulate;
|
|
||||||
mod page;
|
|
||||||
mod result;
|
|
||||||
mod section;
|
|
||||||
|
|
||||||
use index::Index;
|
|
||||||
use manipulate::manipulate;
|
|
||||||
pub use result::{Exit, Result};
|
|
||||||
|
|
||||||
pub fn run() -> Result<()> {
|
|
||||||
let time = Instant::now();
|
|
||||||
let mut index = Index::from("src")?;
|
|
||||||
manipulate(&mut index)?;
|
|
||||||
index.write("public")?;
|
|
||||||
|
|
||||||
let elapsed = time.elapsed();
|
|
||||||
let elapsed = elapsed.as_secs() as f64 + f64::from(elapsed.subsec_nanos()) * 1e-9;
|
|
||||||
println!("Rendered {} files in {:.2} seconds", index.len(), elapsed);
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
20
src/main.rs
20
src/main.rs
|
@ -1,7 +1,17 @@
|
||||||
#[macro_use]
|
mod index;
|
||||||
extern crate log;
|
mod manipulate;
|
||||||
|
mod page;
|
||||||
|
mod result;
|
||||||
|
mod section;
|
||||||
|
|
||||||
fn main() {
|
use index::Index;
|
||||||
simple_log::init();
|
use manipulate::manipulate;
|
||||||
kiln::run().unwrap_or_else(|e| error!("{}", e));
|
pub use result::{Exit, Result};
|
||||||
|
|
||||||
|
fn main() -> Result<()> {
|
||||||
|
let mut index = Index::from("src")?;
|
||||||
|
manipulate(&mut index)?;
|
||||||
|
index.write("public")?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,11 +61,11 @@ impl<'a> Manipulater<'a> {
|
||||||
}
|
}
|
||||||
Some("scss") => {
|
Some("scss") => {
|
||||||
path.set_extension("css");
|
path.set_extension("css");
|
||||||
match rsass::compile_scss(&contents, rsass::OutputStyle::Compressed) {
|
match rsass::compile_scss(&contents, Default::default()) {
|
||||||
Ok(css) => *contents = css,
|
Ok(css) => *contents = css,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
self.ignored.push(i);
|
self.ignored.push(i);
|
||||||
warn!("failed to parse stylesheet `{}`: {}", path.display(), e)
|
eprintln!("Warning: Failed to parse stylesheet `{}`: {}", path.display(), e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ impl<'a> Manipulater<'a> {
|
||||||
let entry = &mut self.index[i];
|
let entry = &mut self.index[i];
|
||||||
entry.1 = self
|
entry.1 = self
|
||||||
.tera
|
.tera
|
||||||
.render(&entry.0.to_string_lossy(), Context::new())?
|
.render(&entry.0.to_string_lossy(), &Context::new())?
|
||||||
.into_bytes();
|
.into_bytes();
|
||||||
entry.0.set_extension("html");
|
entry.0.set_extension("html");
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ impl<'a> Manipulater<'a> {
|
||||||
section.sort();
|
section.sort();
|
||||||
let mut context = Context::new();
|
let mut context = Context::new();
|
||||||
context.insert("section", §ion);
|
context.insert("section", §ion);
|
||||||
let contents = self.tera.render(&dir.to_string_lossy(), context)?;
|
let contents = self.tera.render(&dir.to_string_lossy(), &context)?;
|
||||||
entry.0.push("index.html");
|
entry.0.push("index.html");
|
||||||
entry.1 = contents.into_bytes();
|
entry.1 = contents.into_bytes();
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ impl<'a> Manipulater<'a> {
|
||||||
if self.tera.templates.contains_key("_page") {
|
if self.tera.templates.contains_key("_page") {
|
||||||
let mut context = Context::new();
|
let mut context = Context::new();
|
||||||
context.insert("page", &page);
|
context.insert("page", &page);
|
||||||
let content = self.tera.render("_page", context)?;
|
let content = self.tera.render("_page", &context)?;
|
||||||
let path = page.output.unwrap_or(page.input);
|
let path = page.output.unwrap_or(page.input);
|
||||||
(*entry) = (path, content.into_bytes());
|
(*entry) = (path, content.into_bytes());
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -47,7 +47,7 @@ impl Page {
|
||||||
let mut page: Page = match toml::from_str(&captures[1]) {
|
let mut page: Page = match toml::from_str(&captures[1]) {
|
||||||
Ok(page) => page,
|
Ok(page) => page,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
warn!("failed to parse frontmatter in `{}`: {}", path.display(), e);
|
eprintln!("failed to parse frontmatter in `{}`: {}", path.display(), e);
|
||||||
Page::default()
|
Page::default()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue