kismesis 0.5.0

A static site generator with plugins and a custom markup language.
Documentation
use std::path::PathBuf;

#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

use crate::{
	lexer::Token,
	parser::types::{ParsedFile, Ranged},
};

#[cfg_attr(feature = "serde", derive(Deserialize))]
pub struct PluginData {
	pub name: String,
	pub authors: Vec<String>,
	pub version: String,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct PluginInput {
	pub parameters: Ranged<Vec<Token>>,
	pub body: Option<Ranged<Vec<Token>>>,
	pub current_file: Option<PathBuf>,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct PostProcPluginInput {
	pub body: (ParsedFile, Vec<ParsedFile>),
	pub current_file: Option<PathBuf>,
}