<%
open_details = [] # levels with a currently-open
%>
<% @sitemap.each_with_index do |(node, level), index| %>
<% while open_details.any? && open_details.last >= level %>
<% open_details.pop %>
<% end %>
<%= link_to title_for_node(node), node_path(node) %>
<%= link_to_path("#{node.unique_name} ↗", node.unique_name) %>
<%= link_to 'Show', node_path(node) %>
<%= link_to 'Create Child', new_node_path(:parent_id => node.id) %>
<% next_level = @sitemap[index + 1]&.last %>
<% if next_level && next_level > level %>
>
<%= pluralize(@sitemap_descendant_counts[node.id], 'descendant', 'descendants') %>
<% open_details.push(level) %>
<% end %>
<% end %>
<% open_details.length.times { %> <% } %>