Add development server

This commit is contained in:
Zoey 2021-08-18 13:49:50 -07:00
parent 04bddee78c
commit 2032d86daa
11 changed files with 1497 additions and 42 deletions

View file

@ -2,9 +2,40 @@ use std::path::Path;
use zoey::Site;
fn main() -> anyhow::Result<()> {
let builder = Site::new(Path::new("site"))?;
builder.build_once()?;
#[cfg(feature = "serve")]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
enum Mode {
Build,
Serve,
}
#[cfg(feature = "serve")]
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let site = Site::new(Path::new("site"))?;
let mut mode = Mode::Build;
for arg in std::env::args() {
if arg == "serve" {
mode = Mode::Serve;
break;
}
}
match mode {
Mode::Build => site.build_once()?,
Mode::Serve => site.serve().await?,
}
println!("Build complete!");
Ok(())
}
#[cfg(not(feature = "serve"))]
fn main() -> anyhow::Result<()> {
let site = Site::new(Path::new("site"))?;
site.build_once()?;
println!("Build complete!");