Skip to content

Commit ad59ebb

Browse files
Nemo157Joshua Nelson
authored andcommitted
Retain fragments when switching to different versions/platforms of the docs
1 parent 639b7b2 commit ad59ebb

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

static/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,7 @@ function copyTextHandler() {
2525
(function() {
2626
const clipboard = document.getElementById("clipboard");
2727
if (clipboard != null) clipboard.addEventListener("click", copyTextHandler);
28+
for (const e of document.querySelectorAll('a[data-fragment="retain"]')) {
29+
e.addEventListener('mouseover', () => e.hash = document.location.hash);
30+
}
2831
})();

templates/macros.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,10 @@
123123
{# NOTE: `/` is part of target if it exists (to avoid `target-direct//path`) #}
124124
{% if inner_path == "" %} {# /crate #}
125125
{%- set release_url = "/crate/" ~ name ~ "/" ~ release.version -%}
126+
{%- set retain_fragment = false -%}
126127
{% else %}
127128
{%- set release_url = "/crate/" ~ name ~ "/" ~ release.version ~ "/target-redirect/" ~ target ~ inner_path -%}
129+
{%- set retain_fragment = true -%}
128130
{% endif %}
129131
{# The release's name and version, `:name-:version` #}
130132
{%- set release_name = name ~ "-" ~ release.version -%}
@@ -150,6 +152,7 @@
150152
href="{{ release_url | safe }}"
151153
class="pure-menu-link{% if warning %} warn{% endif %}"
152154
{% if warning %} title="{{ warning }}"{% endif %}
155+
{% if retain_fragment %}data-fragment="retain"{% endif %}
153156
>
154157
{% if warning %}
155158
{{ "exclamation-triangle" | fas(fw=true) }}

templates/rustdoc/topbar.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@
194194

195195
<li class="pure-menu-item">
196196
<a href="{{ latest_path | safe }}" class="pure-menu-link warn"
197+
data-fragment="retain"
197198
title="{{ tooltip }}">
198199
{{ "exclamation-triangle" | fas }}
199200
<span class="title">{{ title }}</span>
@@ -222,7 +223,7 @@
222223
{%- set target_url = "/crate/" ~ metadata.name ~ "/" ~ metadata.version ~ "/target-redirect/" ~ target ~ "/" ~ inner_path -%}
223224

224225
<li class="pure-menu-item">
225-
<a href="{{ target_url | safe }}" class="pure-menu-link">{{ target }}</a>
226+
<a href="{{ target_url | safe }}" class="pure-menu-link" data-fragment="retain">{{ target }}</a>
226227
</li>
227228
{%- endfor -%}
228229
</ul>

0 commit comments

Comments
 (0)