Rename 'hidden' node option to 'listed'

This commit is contained in:
Juno Takano 2026-06-03 14:35:50 -03:00
commit ab9b587018
7 changed files with 18 additions and 15 deletions

View file

@ -665,7 +665,7 @@ mod tests {
"title": "JSON",
"links": [],
"id": "JSON",
"hidden": false,
"listed": true,
"connections": {}
}
},

View file

@ -18,8 +18,8 @@ pub struct Node {
pub links: Vec<String>,
#[serde(default)]
pub redirect: String,
#[serde(default)]
pub hidden: bool,
#[serde(default = "mktrue")]
pub listed: bool,
#[serde(default)]
pub connections: HashMap<String, Edge>,
@ -28,6 +28,9 @@ pub struct Node {
pub stats: Stats,
}
// See: https://github.com/serde-rs/serde/issues/368
const fn mktrue() -> bool { true }
#[derive(Serialize, Deserialize, Clone, Default, Eq, PartialEq, Debug)]
pub struct Stats {
pub outgoing: u32,
@ -46,7 +49,7 @@ impl Node {
connections: HashMap::default(),
links: vec![],
redirect: String::default(),
hidden: false,
listed: true,
summary: String::default(),
stats: Stats::default(),
}
@ -78,8 +81,8 @@ impl std::fmt::Display for Node {
meta_elements.push(format!("links:{links}"));
}
if self.hidden {
meta_elements.push(String::from("hidden"));
if !self.listed {
meta_elements.push(String::from("unlisted"));
}
let meta = meta_elements.join(" ");
@ -143,7 +146,7 @@ mod tests {
)
);
node.hidden = true;
node.listed = false;
assert_eq!(
format!("{node}"),
@ -153,7 +156,7 @@ mod tests {
text:15l summary:{} \
redirect:{redirect} \
links:{} \
hidden\
unlisted\
]",
summary.len(),
node.links.len(),

View file

@ -93,7 +93,7 @@ mod tests {
#[tokio::test]
async fn docs_redirect() {
let response = wrap_node("docs").await;
let response = wrap_node("RedirectTest").await;
assert_eq!(response.status(), StatusCode::PERMANENT_REDIRECT);
}

View file

@ -52,8 +52,8 @@
<select class="node-selector" name="node">
<option value="">Nodes</option>
{% for _, node in graph.nodes %}
{% if node.hidden or node.redirect %}{% continue %}{% endif %}
{% if not node.hidden and not node.redirect %}
{% if not node.listed or node.redirect %}{% continue %}{% endif %}
{% if node.listed and not node.redirect %}
<option value="{{node.id}}">{{node.title}}</option>
{% endif %}
{% endfor %}

View file

@ -37,7 +37,7 @@
{% if loop.index > graph.meta.config.index_node_count %}
{% break %}
{% endif %}
{% if node.id != graph.root_node and not node.hidden and not node.redirect %}
{% if node.id != graph.root_node and node.listed and not node.redirect %}
<li><a href="/node/{{node.id}}">{{node.title}}</a></li>
{% endif %}
{% endfor %}

View file

@ -8,7 +8,7 @@
<h1 class="node-title">{{ node.title }}</h1>
<div class="labels">
{% if node.title != node.id %}<span class="label id-label">ID: {{ node.id }}</span>{% endif %}
{% if node.hidden %}<span class="label hidden-label">Hidden</span>{% endif %}
{% if not node.listed %}<span class="label unlisted-label">Unlisted</span>{% endif %}
{% if node.id == graph.root_node %}<span class="label root-label">Root</span>{% endif %}
</div>
</div>

View file

@ -6,7 +6,7 @@
{% if graph.nodes or root_node %}
<h1>Tree</h1>
<ul>
{% if root_node and not root_node.hidden %}
{% if root_node and root_node.listed %}
<li>
<a href="/node/{{root_node.id}}">{{root_node.title}}</a>
<span class="label root-label">Root</span>
@ -34,7 +34,7 @@
{% endif %}
{% if graph.nodes %}
{% for id, node in graph.nodes %}
{% if node.hidden or (root_node and node.id == root_node.id ) %}{% continue %}{% endif %}
{% if not node.listed or (root_node and node.id == root_node.id ) %}{% continue %}{% endif %}
<li>
<a href="/node/{{node.id}}">{{node.title}}</a>
{% if node.connections or graph.meta.config.tree_node_summary %}