Compare commits

..

No commits in common. "933387eb6f6e38c5421baf7889521eef525e5fca" and "8b5930f277a178eb5ba82c2cc6ee4c28b4305678" have entirely different histories.

7 changed files with 2 additions and 149 deletions

96
Cargo.lock generated
View File

@ -140,24 +140,12 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "equivalent"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "gimli"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
[[package]]
name = "hashbrown"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
[[package]]
name = "heck"
version = "0.4.1"
@ -170,16 +158,6 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
[[package]]
name = "indexmap"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"equivalent",
"hashbrown",
]
[[package]]
name = "libc"
version = "0.2.149"
@ -285,35 +263,6 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "serde"
version = "1.0.189"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.189"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_spanned"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
dependencies = [
"serde",
]
[[package]]
name = "syn"
version = "2.0.38"
@ -336,40 +285,6 @@ dependencies = [
"pin-project-lite",
]
[[package]]
name = "toml"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit",
]
[[package]]
name = "toml_datetime"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"winnow",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
@ -489,22 +404,11 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"
version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c"
dependencies = [
"memchr",
]
[[package]]
name = "writer"
version = "0.0.1"
dependencies = [
"clap",
"organic",
"serde",
"tokio",
"toml",
]

View File

@ -6,11 +6,7 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# error-context, suggestions, usage | env
# TODO: maybe error-context, suggestions, usage | env
clap = { version = "4.4.6", default-features = false, features = ["std", "color", "help", "derive"] }
organic = "0.1.12"
# | alloc, rc, serde_derive, unstable
serde = { version = "1.0.189", default-features = false, features = ["std", "derive"] }
tokio = { version = "1.30.0", default-features = false, features = ["rt", "rt-multi-thread"] }
# display, parse | indexmap, preserve_order
toml = "0.8.2"

View File

@ -1,3 +0,0 @@
mod runner;
pub(crate) use runner::init_writer_folder;

View File

@ -1,25 +0,0 @@
use std::fs::File;
use std::io::Write;
use crate::cli::parameters::InitArgs;
use crate::config::Config;
pub(crate) async fn init_writer_folder(args: &InitArgs) -> Result<(), Box<dyn std::error::Error>> {
let new_config = Config::default();
if args.path.exists() && !args.path.is_dir() {
return Err("The supplied path exists but is not a directory. Aborting.".into());
}
if !args.path.exists() {
std::fs::create_dir_all(&args.path)?;
}
let existing_entries = std::fs::read_dir(&args.path)?;
if existing_entries.count() != 0 {
return Err("The directory is not empty. Aborting.".into());
}
let mut config_file = File::create(args.path.join("writer.toml"))?;
config_file.write_all(toml::to_string(&new_config)?.as_bytes())?;
Ok(())
}

View File

@ -1,13 +0,0 @@
use serde::Deserialize;
use serde::Serialize;
/// This is the struct for the writer.toml config file that ends up in each site's root directory.
#[derive(Deserialize, Serialize)]
pub(crate) struct Config {
foo: String,
}
impl Default for Config {
fn default() -> Self {
Config { foo: "".to_owned() }
}
}

View File

@ -1,2 +0,0 @@
mod definition;
pub(crate) use definition::Config;

View File

@ -4,10 +4,8 @@ use clap::Parser;
use self::cli::parameters::Cli;
use self::cli::parameters::Commands;
use self::command::init::init_writer_folder;
mod cli;
mod command;
mod config;
fn main() -> Result<ExitCode, Box<dyn std::error::Error>> {
let rt = tokio::runtime::Runtime::new()?;
@ -20,9 +18,7 @@ fn main() -> Result<ExitCode, Box<dyn std::error::Error>> {
async fn main_body() -> Result<ExitCode, Box<dyn std::error::Error>> {
let args = Cli::parse();
match args.command {
Commands::Init(args) => {
init_writer_folder(&args).await?;
}
Commands::Init(_args) => {}
Commands::Build(_args) => {}
Commands::AddPost(_args) => {}
};