|
30 | 30 | <ul>
|
31 | 31 | {# TODO: If there are no releases, then display a message that says so #}
|
32 | 32 | {%- for release in releases -%}
|
33 |
| - {%- set release_version -%} |
34 |
| - {%- set has_unyanked_releases = release.has_unyanked_releases.unwrap_or(true) -%} |
35 |
| - {%- if release_type == "search" && has_unyanked_releases -%} |
36 |
| - {%- set release_version = "latest" -%} |
37 |
| - {%- else -%} |
38 |
| - {%- set release_version = release.version -%} |
39 |
| - {%- endif -%} |
40 |
| - {% set link %} |
41 |
| - {%- if release.rustdoc_status -%} |
42 |
| - {% set link = "/{}/{}/{}/"|format(release.name, release_version, release.target_name.as_deref().unwrap_or_default()) -%} |
43 |
| - {%- else -%} |
44 |
| - {% set link = "/crate/{}/{}"|format(release.name, release_version) -%} |
45 |
| - {%- endif -%} |
46 | 33 | <li>
|
47 |
| - <a href="{{ link|safe }}" class="release"> |
48 |
| - <div class="pure-g"> |
49 |
| - <div class="pure-u-1 pure-u-sm-6-24 pure-u-md-5-24 name"> |
50 |
| - {{ release.name }}-{{ release.version }} |
51 |
| - {% if !has_unyanked_releases %} |
52 |
| - <span class="yanked" title="all releases of {{ release.name }} have been yanked"> |
53 |
| - {{ crate::icons::IconTrash.render_solid(false, false, "") }} |
54 |
| - Yanked |
55 |
| - </span> |
56 |
| - {% endif %} |
57 |
| - </div> |
58 |
| - |
59 |
| - <div class="pure-u-1 pure-u-sm-14-24 pure-u-md-16-24 description"> |
60 |
| - {{ release.description.as_deref().unwrap_or_default() }} |
| 34 | + {%- match release -%} |
| 35 | + {%- when ReleaseStatus::NotAvailable(name) -%} |
| 36 | + <div class="release"> |
| 37 | + <div class="pure-g"> |
| 38 | + <div class="pure-u-1 pure-u-sm-6-24 pure-u-md-5-24 name not-available">{{ name }}</div> |
| 39 | + <div class="pure-u-1 pure-u-sm-14-24 pure-u-md-16-24 description">Documentation not available on docs.rs</div> |
61 | 40 | </div>
|
62 |
| - |
63 |
| - {% if release_type == "owner" -%} |
64 |
| - <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date" {% if let Some(build_time) = release.build_time -%} |
65 |
| - title="Published {{ build_time|timeformat }}" {%- endif -%}> |
66 |
| - {{ release.stars }} |
67 |
| - {{ crate::icons::IconStar.render_solid(false, false, "") }} |
68 |
| - </div> |
69 |
| - {%- elif let Some(build_time) = release.build_time -%} |
70 |
| - <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date" |
71 |
| - title="{{ build_time.format("%FT%TZ") }}"> |
72 |
| - {{ build_time|timeformat }} |
| 41 | + </div> |
| 42 | + {%- when ReleaseStatus::Available(release) -%} |
| 43 | + {%- set release_version -%} |
| 44 | + {%- set has_unyanked_releases = release.has_unyanked_releases.unwrap_or(true) -%} |
| 45 | + {%- if release_type == "search" && has_unyanked_releases -%} |
| 46 | + {%- set release_version = "latest" -%} |
| 47 | + {%- else -%} |
| 48 | + {%- set release_version = release.version -%} |
| 49 | + {%- endif -%} |
| 50 | + {% set link %} |
| 51 | + {%- if release.rustdoc_status -%} |
| 52 | + {% set link = "/{}/{}/{}/"|format(release.name, release_version, release.target_name.as_deref().unwrap_or_default()) -%} |
| 53 | + {%- else -%} |
| 54 | + {% set link = "/crate/{}/{}"|format(release.name, release_version) -%} |
| 55 | + {%- endif -%} |
| 56 | + <a href="{{ link|safe }}" class="release"> |
| 57 | + <div class="pure-g"> |
| 58 | + <div class="pure-u-1 pure-u-sm-6-24 pure-u-md-5-24 name"> |
| 59 | + {{- release.name }}-{{ release.version }} |
| 60 | + {%+ if !has_unyanked_releases -%} |
| 61 | + <span class="yanked" title="all releases of {{ release.name }} have been yanked"> |
| 62 | + {{- crate::icons::IconTrash.render_solid(false, false, "") +}} |
| 63 | + Yanked |
| 64 | + </span> |
| 65 | + {%- endif -%} |
73 | 66 | </div>
|
74 |
| - {%- else -%} |
75 |
| - <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date"> |
76 |
| - — |
| 67 | + |
| 68 | + <div class="pure-u-1 pure-u-sm-14-24 pure-u-md-16-24 description"> |
| 69 | + {{- release.description.as_deref().unwrap_or_default() -}} |
77 | 70 | </div>
|
78 |
| - {%- endif %} |
79 |
| - </div> |
80 |
| - </a> |
| 71 | + |
| 72 | + {%- if release_type == "owner" -%} |
| 73 | + <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date" {% if let Some(build_time) = release.build_time -%} |
| 74 | + title="Published {{ build_time|timeformat }}" {%- endif -%}> |
| 75 | + {{- release.stars +}} |
| 76 | + {{ crate::icons::IconStar.render_solid(false, false, "") -}} |
| 77 | + </div> |
| 78 | + {%- elif let Some(build_time) = release.build_time -%} |
| 79 | + <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date" |
| 80 | + title="{{ build_time.format("%FT%TZ") }}"> |
| 81 | + {{- build_time|timeformat -}} |
| 82 | + </div> |
| 83 | + {%- else -%} |
| 84 | + <div class="pure-u-1 pure-u-sm-4-24 pure-u-md-3-24 date"> |
| 85 | + — |
| 86 | + </div> |
| 87 | + {%- endif %} |
| 88 | + </div> |
| 89 | + </a> |
| 90 | + {%- endmatch -%} |
81 | 91 | </li>
|
82 | 92 | {%- endfor -%}
|
83 | 93 | </ul>
|
|
0 commit comments