Skip to content

Commit 0c75708

Browse files
Indicate current documentation target
1 parent 8ab18b9 commit 0c75708

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

src/web/rustdoc.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ struct RustdocPage {
301301
is_prerelease: bool,
302302
krate: CrateDetails,
303303
metadata: MetaData,
304+
current_target: String,
304305
}
305306

306307
impl RustdocPage {
@@ -624,10 +625,13 @@ pub(crate) async fn rustdoc_html_server_handler(
624625
};
625626

626627
// Find the path of the latest version for the `Go to latest` and `Permalink` links
628+
let mut current_target = String::new();
627629
let target_redirect = if latest_release.build_status {
628630
let target = if target.is_empty() {
631+
current_target = krate.metadata.default_target.clone();
629632
&krate.metadata.default_target
630633
} else {
634+
current_target = target.to_owned();
631635
target
632636
};
633637
format!("/target-redirect/{target}/{inner_path}")
@@ -680,6 +684,7 @@ pub(crate) async fn rustdoc_html_server_handler(
680684
is_prerelease,
681685
metadata,
682686
krate,
687+
current_target,
683688
}
684689
.into_response(
685690
&blob.content,

templates/rustdoc/topbar.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,14 @@
222222
{%- set target_url = "/crate/" ~ metadata.name ~ "/" ~ metadata.version_or_latest ~ "/target-redirect/" ~ target ~ "/" ~ inner_path -%}
223223
{%- set target_no_follow = "nofollow" -%}
224224
{%- endif -%}
225+
{%- if current_target is defined and current_target == target -%}
226+
{%- set current = " current" -%}
227+
{%- else -%}
228+
{%- set current = "" -%}
229+
{%- endif -%}
225230

226231
<li class="pure-menu-item">
227-
<a href="{{ target_url | safe }}" class="pure-menu-link" data-fragment="retain" rel="{{ target_no_follow }}">
232+
<a href="{{ target_url | safe }}" class="pure-menu-link{{ current | safe }}" data-fragment="retain" rel="{{ target_no_follow }}">
228233
{{- target -}}
229234
</a>
230235
</li>

templates/style/_navbar.scss

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,16 @@ div.nav-container {
349349
li a {
350350
overflow-x: hidden;
351351
text-overflow: ellipsis;
352+
353+
&.current {
354+
font-weight: bold;
355+
356+
&::before {
357+
content: "";
358+
position: absolute;
359+
margin-left: -10px;
360+
}
361+
}
352362
}
353363
}
354364
}

0 commit comments

Comments
 (0)