mirror of
https://github.com/getzola/zola
synced 2024-12-13 05:42:29 +00:00
Replaced all impl Default
with derive(Default)
, where possible (#1141)
This commit is contained in:
parent
159ce0f672
commit
51a2213fcf
9 changed files with 18 additions and 170 deletions
|
@ -2,7 +2,7 @@ use std::collections::HashMap;
|
||||||
|
|
||||||
use serde_derive::{Deserialize, Serialize};
|
use serde_derive::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub struct Language {
|
pub struct Language {
|
||||||
/// The language code
|
/// The language code
|
||||||
|
@ -13,10 +13,4 @@ pub struct Language {
|
||||||
pub search: bool,
|
pub search: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Language {
|
|
||||||
fn default() -> Self {
|
|
||||||
Language { code: String::new(), feed: false, search: false }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub type TranslateTerm = HashMap<String, String>;
|
pub type TranslateTerm = HashMap<String, String>;
|
||||||
|
|
|
@ -2,20 +2,10 @@ use serde_derive::{Deserialize, Serialize};
|
||||||
|
|
||||||
use utils::slugs::SlugifyStrategy;
|
use utils::slugs::SlugifyStrategy;
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub struct Slugify {
|
pub struct Slugify {
|
||||||
pub paths: SlugifyStrategy,
|
pub paths: SlugifyStrategy,
|
||||||
pub taxonomies: SlugifyStrategy,
|
pub taxonomies: SlugifyStrategy,
|
||||||
pub anchors: SlugifyStrategy,
|
pub anchors: SlugifyStrategy,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Slugify {
|
|
||||||
fn default() -> Self {
|
|
||||||
Slugify {
|
|
||||||
paths: SlugifyStrategy::On,
|
|
||||||
taxonomies: SlugifyStrategy::On,
|
|
||||||
anchors: SlugifyStrategy::On,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use serde_derive::{Deserialize, Serialize};
|
use serde_derive::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub struct Taxonomy {
|
pub struct Taxonomy {
|
||||||
/// The name used in the URL, usually the plural
|
/// The name used in the URL, usually the plural
|
||||||
|
@ -33,15 +33,3 @@ impl Taxonomy {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Taxonomy {
|
|
||||||
fn default() -> Self {
|
|
||||||
Taxonomy {
|
|
||||||
name: String::new(),
|
|
||||||
paginate_by: None,
|
|
||||||
paginate_path: None,
|
|
||||||
feed: false,
|
|
||||||
lang: String::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ pub fn find_content_components<P: AsRef<Path>>(path: P) -> Vec<String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Struct that contains all the information about the actual file
|
/// Struct that contains all the information about the actual file
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
#[derive(Debug, Default, Clone, PartialEq)]
|
||||||
pub struct FileInfo {
|
pub struct FileInfo {
|
||||||
/// The full path to the .md file
|
/// The full path to the .md file
|
||||||
pub path: PathBuf,
|
pub path: PathBuf,
|
||||||
|
@ -143,22 +143,6 @@ impl FileInfo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
|
||||||
impl Default for FileInfo {
|
|
||||||
fn default() -> FileInfo {
|
|
||||||
FileInfo {
|
|
||||||
path: PathBuf::new(),
|
|
||||||
parent: PathBuf::new(),
|
|
||||||
grand_parent: None,
|
|
||||||
filename: String::new(),
|
|
||||||
name: String::new(),
|
|
||||||
components: vec![],
|
|
||||||
relative: String::new(),
|
|
||||||
canonical: PathBuf::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
|
@ -29,7 +29,7 @@ lazy_static! {
|
||||||
).unwrap();
|
).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
#[derive(Clone, Debug, Default, PartialEq)]
|
||||||
pub struct Page {
|
pub struct Page {
|
||||||
/// All info about the actual file
|
/// All info about the actual file
|
||||||
pub file: FileInfo,
|
pub file: FileInfo,
|
||||||
|
@ -91,31 +91,7 @@ impl Page {
|
||||||
pub fn new<P: AsRef<Path>>(file_path: P, meta: PageFrontMatter, base_path: &PathBuf) -> Page {
|
pub fn new<P: AsRef<Path>>(file_path: P, meta: PageFrontMatter, base_path: &PathBuf) -> Page {
|
||||||
let file_path = file_path.as_ref();
|
let file_path = file_path.as_ref();
|
||||||
|
|
||||||
Page {
|
Page { file: FileInfo::new_page(file_path, base_path), meta, ..Self::default() }
|
||||||
file: FileInfo::new_page(file_path, base_path),
|
|
||||||
meta,
|
|
||||||
ancestors: vec![],
|
|
||||||
raw_content: "".to_string(),
|
|
||||||
assets: vec![],
|
|
||||||
serialized_assets: vec![],
|
|
||||||
content: "".to_string(),
|
|
||||||
slug: "".to_string(),
|
|
||||||
path: "".to_string(),
|
|
||||||
components: vec![],
|
|
||||||
permalink: "".to_string(),
|
|
||||||
summary: None,
|
|
||||||
earlier: None,
|
|
||||||
later: None,
|
|
||||||
lighter: None,
|
|
||||||
heavier: None,
|
|
||||||
toc: vec![],
|
|
||||||
word_count: None,
|
|
||||||
reading_time: None,
|
|
||||||
lang: String::new(),
|
|
||||||
translations: Vec::new(),
|
|
||||||
internal_links_with_anchors: Vec::new(),
|
|
||||||
external_links: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_draft(&self) -> bool {
|
pub fn is_draft(&self) -> bool {
|
||||||
|
@ -341,36 +317,6 @@ impl Page {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Page {
|
|
||||||
fn default() -> Page {
|
|
||||||
Page {
|
|
||||||
file: FileInfo::default(),
|
|
||||||
meta: PageFrontMatter::default(),
|
|
||||||
ancestors: vec![],
|
|
||||||
raw_content: "".to_string(),
|
|
||||||
assets: vec![],
|
|
||||||
serialized_assets: vec![],
|
|
||||||
content: "".to_string(),
|
|
||||||
slug: "".to_string(),
|
|
||||||
path: "".to_string(),
|
|
||||||
components: vec![],
|
|
||||||
permalink: "".to_string(),
|
|
||||||
summary: None,
|
|
||||||
earlier: None,
|
|
||||||
later: None,
|
|
||||||
lighter: None,
|
|
||||||
heavier: None,
|
|
||||||
toc: vec![],
|
|
||||||
word_count: None,
|
|
||||||
reading_time: None,
|
|
||||||
lang: String::new(),
|
|
||||||
translations: Vec::new(),
|
|
||||||
internal_links_with_anchors: Vec::new(),
|
|
||||||
external_links: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
|
@ -17,7 +17,8 @@ use crate::content::has_anchor;
|
||||||
use crate::content::ser::SerializingSection;
|
use crate::content::ser::SerializingSection;
|
||||||
use crate::library::Library;
|
use crate::library::Library;
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
// Default is used to create a default index section if there is no _index.md in the root content directory
|
||||||
|
#[derive(Clone, Debug, Default, PartialEq)]
|
||||||
pub struct Section {
|
pub struct Section {
|
||||||
/// All info about the actual file
|
/// All info about the actual file
|
||||||
pub file: FileInfo,
|
pub file: FileInfo,
|
||||||
|
@ -74,28 +75,7 @@ impl Section {
|
||||||
) -> Section {
|
) -> Section {
|
||||||
let file_path = file_path.as_ref();
|
let file_path = file_path.as_ref();
|
||||||
|
|
||||||
Section {
|
Section { file: FileInfo::new_section(file_path, base_path), meta, ..Self::default() }
|
||||||
file: FileInfo::new_section(file_path, base_path),
|
|
||||||
meta,
|
|
||||||
ancestors: vec![],
|
|
||||||
path: "".to_string(),
|
|
||||||
components: vec![],
|
|
||||||
permalink: "".to_string(),
|
|
||||||
raw_content: "".to_string(),
|
|
||||||
assets: vec![],
|
|
||||||
serialized_assets: vec![],
|
|
||||||
content: "".to_string(),
|
|
||||||
pages: vec![],
|
|
||||||
ignored_pages: vec![],
|
|
||||||
subsections: vec![],
|
|
||||||
toc: vec![],
|
|
||||||
word_count: None,
|
|
||||||
reading_time: None,
|
|
||||||
lang: String::new(),
|
|
||||||
translations: Vec::new(),
|
|
||||||
internal_links_with_anchors: Vec::new(),
|
|
||||||
external_links: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse(
|
pub fn parse(
|
||||||
|
@ -266,34 +246,6 @@ impl Section {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Used to create a default index section if there is no _index.md in the root content directory
|
|
||||||
impl Default for Section {
|
|
||||||
fn default() -> Section {
|
|
||||||
Section {
|
|
||||||
file: FileInfo::default(),
|
|
||||||
meta: SectionFrontMatter::default(),
|
|
||||||
ancestors: vec![],
|
|
||||||
path: "".to_string(),
|
|
||||||
components: vec![],
|
|
||||||
permalink: "".to_string(),
|
|
||||||
raw_content: "".to_string(),
|
|
||||||
assets: vec![],
|
|
||||||
serialized_assets: vec![],
|
|
||||||
content: "".to_string(),
|
|
||||||
pages: vec![],
|
|
||||||
ignored_pages: vec![],
|
|
||||||
subsections: vec![],
|
|
||||||
toc: vec![],
|
|
||||||
reading_time: None,
|
|
||||||
word_count: None,
|
|
||||||
lang: String::new(),
|
|
||||||
translations: Vec::new(),
|
|
||||||
internal_links_with_anchors: Vec::new(),
|
|
||||||
external_links: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::fs::{create_dir, File};
|
use std::fs::{create_dir, File};
|
||||||
|
|
|
@ -56,7 +56,7 @@ pub fn check_url(url: &str, config: &LinkChecker) -> Result {
|
||||||
response.copy_to(&mut buf).unwrap();
|
response.copy_to(&mut buf).unwrap();
|
||||||
match String::from_utf8(buf) {
|
match String::from_utf8(buf) {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(_) => return Err("The page didn't return valid UTF-8".to_string())
|
Err(_) => return Err("The page didn't return valid UTF-8".to_string()),
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use serde_derive::Serialize;
|
use serde_derive::Serialize;
|
||||||
|
|
||||||
/// Populated while receiving events from the markdown parser
|
/// Populated while receiving events from the markdown parser
|
||||||
#[derive(Debug, PartialEq, Clone, Serialize)]
|
#[derive(Debug, Default, PartialEq, Clone, Serialize)]
|
||||||
pub struct Heading {
|
pub struct Heading {
|
||||||
pub level: u32,
|
pub level: u32,
|
||||||
pub id: String,
|
pub id: String,
|
||||||
|
@ -12,19 +12,7 @@ pub struct Heading {
|
||||||
|
|
||||||
impl Heading {
|
impl Heading {
|
||||||
pub fn new(level: u32) -> Heading {
|
pub fn new(level: u32) -> Heading {
|
||||||
Heading {
|
Heading { level, ..Self::default() }
|
||||||
level,
|
|
||||||
id: String::new(),
|
|
||||||
permalink: String::new(),
|
|
||||||
title: String::new(),
|
|
||||||
children: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Default for Heading {
|
|
||||||
fn default() -> Self {
|
|
||||||
Heading::new(0)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,12 @@ pub enum SlugifyStrategy {
|
||||||
Off,
|
Off,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Default for SlugifyStrategy {
|
||||||
|
fn default() -> Self {
|
||||||
|
SlugifyStrategy::On
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn strip_chars(s: &str, chars: &str) -> String {
|
fn strip_chars(s: &str, chars: &str) -> String {
|
||||||
let mut sanitized_string = s.to_string();
|
let mut sanitized_string = s.to_string();
|
||||||
sanitized_string.retain(|c| !chars.contains(c));
|
sanitized_string.retain(|c| !chars.contains(c));
|
||||||
|
|
Loading…
Reference in a new issue