update
This commit is contained in:
parent
eb246b7b29
commit
1016308dcb
11
src/lib.rs
11
src/lib.rs
|
|
@ -32,14 +32,15 @@ pub struct Topic {
|
||||||
|
|
||||||
#[derive(JsonSchema, Debug, Deserialize, Serialize)]
|
#[derive(JsonSchema, Debug, Deserialize, Serialize)]
|
||||||
pub struct Definition {
|
pub struct Definition {
|
||||||
pub name: String,
|
|
||||||
pub value: String,
|
pub value: String,
|
||||||
|
#[serde(default, skip_serializing_if = "String::is_empty")]
|
||||||
|
pub description: String,
|
||||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||||
pub additional_info: Vec<String>,
|
pub additional_info: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(JsonSchema, Debug, Deserialize, Serialize)]
|
#[derive(JsonSchema, Debug, Deserialize, Serialize)]
|
||||||
pub struct ConfigDefault {
|
pub struct Config {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
#[serde(rename = "type")]
|
#[serde(rename = "type")]
|
||||||
pub typ: String,
|
pub typ: String,
|
||||||
|
|
@ -131,10 +132,10 @@ pub struct Project {
|
||||||
pub description: String,
|
pub description: String,
|
||||||
#[serde(default, skip_serializing_if = "IndexMap::is_empty")]
|
#[serde(default, skip_serializing_if = "IndexMap::is_empty")]
|
||||||
pub topics: IndexMap<String, Topic>,
|
pub topics: IndexMap<String, Topic>,
|
||||||
|
#[serde(default, skip_serializing_if = "IndexMap::is_empty")]
|
||||||
|
pub definitions: IndexMap<String, Definition>,
|
||||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||||
pub definitions: Vec<Definition>,
|
pub config: Vec<Config>,
|
||||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
||||||
pub config_defaults: Vec<ConfigDefault>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
|
|
||||||
19
src/main.rs
19
src/main.rs
|
|
@ -252,22 +252,21 @@ fn to_markdown(requirements: PathBuf, add_toc: bool) -> anyhow::Result<String> {
|
||||||
|
|
||||||
if !project.definitions.is_empty() {
|
if !project.definitions.is_empty() {
|
||||||
output.push(s!("## Definitions"));
|
output.push(s!("## Definitions"));
|
||||||
for definition in project.definitions {
|
for (name, definition) in project.definitions {
|
||||||
output.push(format!(
|
output.push(format!("- {}: {}", name.trim(), definition.value.trim()));
|
||||||
"- {}: {}",
|
if !definition.description.is_empty() {
|
||||||
definition.name.trim(),
|
output.push(format!(" - {}", definition.description));
|
||||||
definition.value.trim()
|
}
|
||||||
));
|
|
||||||
for info in definition.additional_info {
|
for info in definition.additional_info {
|
||||||
output.push(format!(" - {}", info.trim()))
|
output.push(format!(" - {}", info.trim()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output.push(nl());
|
output.push(nl());
|
||||||
}
|
}
|
||||||
|
|
||||||
if !project.config_defaults.is_empty() {
|
if !project.config.is_empty() {
|
||||||
output.push(s!("## Config Defaults"));
|
output.push(s!("## Config"));
|
||||||
for default in project.config_defaults {
|
for default in project.config {
|
||||||
output.push(format!("- **{}**", default.name.trim()));
|
output.push(format!("- **{}**", default.name.trim()));
|
||||||
output.push(format!(" - Type: {}", default.typ.trim()));
|
output.push(format!(" - Type: {}", default.typ.trim()));
|
||||||
if let Some(unit) = default.unit {
|
if let Some(unit) = default.unit {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue