From 4ad48c8f7d3ee89a88a9c6d21fc46c152074e205 Mon Sep 17 00:00:00 2001 From: Meet Patel Date: Sat, 14 Sep 2024 18:15:44 -0400 Subject: [PATCH 1/4] Added copy button to crate version --- src/librustdoc/html/static/css/rustdoc.css | 26 ++++++++++++++++++++++ src/librustdoc/html/static/js/main.js | 13 +++++++++++ src/librustdoc/html/templates/page.html | 2 +- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index 2c17fd54006f5..66c23fb2955da 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -644,6 +644,29 @@ ul.block, .block li, .block ul { padding-left: var(--sidebar-elems-left-padding); } +#copy-cargo-snippet { + color: var(--main-color); + background: var(--sidebar-background-color); + margin-left: 10px; + padding: 0; + padding-left: 2px; + border: 0; + font-size: 0; + + scale: 80%; + justify-content: center; +} +#copy-cargo-snippet::before { + filter: var(--copy-path-img-filter); + content: var(--clipboard-image); +} +#copy-cargo-snippet:hover::before { + filter: var(--copy-path-img-hover-filter); +} +#copy-cargo-snippet.clicked::before { + content: var(--checkmark-image); +} + .sidebar a { color: var(--sidebar-link-color); } @@ -766,6 +789,9 @@ ul.block, .block li, .block ul { font-weight: normal; font-size: 1rem; overflow-wrap: break-word; + + display: flex; + align-items: center; } .sidebar-crate + .version { diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 984b0877d8de2..5cd4449e09095 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -1842,6 +1842,19 @@ href="https://doc.rust-lang.org/${channel}/rustdoc/read-documentation/search.htm copyButtonAnimation(but); }; + // Copy button that appears next to the crate version. + const crate_version_copy_button = document.getElementById("copy-cargo-snippet"); + if (!crate_version_copy_button) { + return; + } + crate_version_copy_button.onclick = () => { + let crate_version = crate_version_copy_button.parentElement.textContent; + let snippet = `${window.currentCrate} = "${crate_version}"`; + + copyContentToClipboard(snippet); + copyButtonAnimation(crate_version_copy_button); + }; + // Copy buttons on code examples. function copyCode(codeElem) { if (!codeElem) { diff --git a/src/librustdoc/html/templates/page.html b/src/librustdoc/html/templates/page.html index a05d6ca831329..d214b14bc459c 100644 --- a/src/librustdoc/html/templates/page.html +++ b/src/librustdoc/html/templates/page.html @@ -100,7 +100,7 @@

{# #} {{display_krate|wrapped|safe}} {% if !display_krate_version_number.is_empty() %} - {{+ display_krate_version_number}} + {{+ display_krate_version_number}} {% endif %}

{# #} From 2eb8a484bda00ce962a4f47c1360d46f9048990b Mon Sep 17 00:00:00 2001 From: Meet Patel Date: Sat, 14 Sep 2024 18:29:05 -0400 Subject: [PATCH 2/4] Fix formatting. --- src/librustdoc/html/static/css/rustdoc.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css index 66c23fb2955da..3e89b518ad2c7 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -653,8 +653,8 @@ ul.block, .block li, .block ul { border: 0; font-size: 0; - scale: 80%; - justify-content: center; + scale: 80%; + justify-content: center; } #copy-cargo-snippet::before { filter: var(--copy-path-img-filter); @@ -790,8 +790,8 @@ ul.block, .block li, .block ul { font-size: 1rem; overflow-wrap: break-word; - display: flex; - align-items: center; + display: flex; + align-items: center; } .sidebar-crate + .version { From 3ce42221ba1d789e66035ea88d8ff8e57e2a757e Mon Sep 17 00:00:00 2001 From: Meet Patel Date: Sat, 14 Sep 2024 19:03:00 -0400 Subject: [PATCH 3/4] Fix "prefer-const" errors. --- src/librustdoc/html/static/js/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 5cd4449e09095..dbaa9d49847a8 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -1848,8 +1848,8 @@ href="https://doc.rust-lang.org/${channel}/rustdoc/read-documentation/search.htm return; } crate_version_copy_button.onclick = () => { - let crate_version = crate_version_copy_button.parentElement.textContent; - let snippet = `${window.currentCrate} = "${crate_version}"`; + const crate_version = crate_version_copy_button.parentElement.textContent; + const snippet = `${window.currentCrate} = "${crate_version}"`; copyContentToClipboard(snippet); copyButtonAnimation(crate_version_copy_button); From f111cd9974f04c75de8583c954b24ceb25966e2d Mon Sep 17 00:00:00 2001 From: Meet Patel Date: Tue, 22 Oct 2024 14:10:20 -0400 Subject: [PATCH 4/4] Update src/librustdoc/html/templates/page.html Co-authored-by: Guillaume Gomez --- src/librustdoc/html/templates/page.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustdoc/html/templates/page.html b/src/librustdoc/html/templates/page.html index d214b14bc459c..c012a4416683e 100644 --- a/src/librustdoc/html/templates/page.html +++ b/src/librustdoc/html/templates/page.html @@ -100,7 +100,7 @@

{# #} {{display_krate|wrapped|safe}} {% if !display_krate_version_number.is_empty() %} - {{+ display_krate_version_number}} + {{+ display_krate_version_number}} {% endif %}

{# #}