diff --git a/src/build.rs b/src/build.rs index 151cd61..420edd1 100644 --- a/src/build.rs +++ b/src/build.rs @@ -3,7 +3,7 @@ use std::{fs, path::Path, time}; use serde_json::json; use crate::{ - types::{CountryData, ToCollection}, + types::{CountryData, ToCollection, ToFeatures}, utils::{ diff_countries, get_country, is_match, read_config, rewrite_if_some, rewrite_if_some_option, }, @@ -82,8 +82,6 @@ pub fn build() { countries }; - // TODO: Add nature support - { let generated_time = time::Instant::now(); let countries_json = serde_json::to_string_pretty(&serde_json::Map::from_iter( diff --git a/src/templates/config.toml b/src/templates/config.toml index 07f3f39..227ea66 100644 --- a/src/templates/config.toml +++ b/src/templates/config.toml @@ -30,16 +30,3 @@ output_folder = "./out/map" # foundation_date = "2024-01-01" # flag = "https://example.com/flag.png" # about = "https://example.com/about.html" - -# Additional nature layers -[[nature]] -id = "water" -color = "#75cff0" - -[[nature]] -id = "sand" -color = "#efe9e1" - -[[nature]] -id = "grass" -color = "#d1e6be" diff --git a/src/types.rs b/src/types.rs index 43e9314..2be0530 100644 --- a/src/types.rs +++ b/src/types.rs @@ -242,16 +242,19 @@ impl ToFeatures for CountryData { impl ToCollection for Vec { fn to_collection(self) -> geojson::FeatureCollection { geojson::FeatureCollection { - features: self - .iter() - .flat_map(|c| c.to_features()) - .collect::>(), + features: self.to_features(), bbox: None, foreign_members: None, } } } +impl ToFeatures for Vec { + fn to_features(&self) -> Vec { + self.iter().flat_map(|c| c.to_features()).collect() + } +} + impl ToCollection for Vec { fn to_collection(self) -> geojson::FeatureCollection { geojson::FeatureCollection {