@use crate::templates::base; @use crate::templates::labels; @use crate::cat_page::CatPage; @use rich_crate::Origin; @use crate::format_downloads; @use crate::Urler; @use crate::iter::*; @use crate::limit_text_len; @(p: &CatPage, url: &Urler) @:base(&p.page(), { Lib.rs › Categories › @for (i, subcat) in p.parent_categories().iter().enumerate() { @subcat.name › } @for key in p.keywords.iter().take(3) { #@key } @for key in p.keywords.iter().skip(3).take(3) { #@key } @p.cat.name @p.description() @if p.crates.len() != p.count { @p.crates.len() of @p.count crates } else { @p.count crates } @if p.has_subcategories_and_siblings() { @for subcat in p.subcategories_and_siblings() { @subcat.name @subcat.description } } @for (c, downloads) in &p.crates { @if let Some((repo, _)) = c.origin().repo() {@repo.owner/}@c.short_name() @if let Some(desc) = c.description() { @p.render_markdown_str(&limit_text_len(desc, 180, 220)) } @if let Origin::GitHub{..} = c.origin() {GitHub } else {v}@c.version() @if *downloads >= 100 { @if let Some((num,unit)) = Some(format_downloads(*downloads)) {@num@unit} } @:labels(c, (false, false)) @for k in c.keywords() { #@k } } Next page? })
@p.description()
@subcat.description
@p.render_markdown_str(&limit_text_len(desc, 180, 220))
Next page?