diff --git a/src/doc/not_found.md b/src/doc/not_found.md
index f404aa046c1ae..d26fcfc0168d7 100644
--- a/src/doc/not_found.md
+++ b/src/doc/not_found.md
@@ -5,6 +5,28 @@
#TOC { display: none; }
.header-section-number { display: none; }
li {list-style-type: none; }
+#search-input {
+ width: calc(100% - 100px);
+}
+#search-but {
+ cursor: pointer;
+}
+#search-but, #search-input {
+ padding: 4px;
+ border: 1px solid #ccc;
+ border-radius: 3px;
+ outline: none;
+ font-size: 0.7em;
+ background-color: #fff;
+}
+#search-but:hover, #search-input:focus {
+ border-color: #55a9ff;
+}
+#search-from {
+ border: none;
+ padding: 0;
+ font-size: 0.7em;
+}
Looks like you've taken a wrong turn.
@@ -13,11 +35,20 @@ Some things that might be helpful to you though:
# Search
-
-
-Rust doc search:
+
+
+
# Reference
@@ -44,26 +75,28 @@ function get_url_fragments() {
return op;
}
-function populate_site_search() {
- var op = get_url_fragments();
+function on_submit(event) {
+ var form = event.target;
+ var q = form['q'].value;
+
+ event.preventDefault();
- var search = document.getElementById('site-search');
- search.value = op.join(' ') + " site:doc.rust-lang.org";
+ if (form['from'].value === 'duckduckgo') {
+ document.location.href = form.action + '?q=' + encodeURIComponent(q + ' site:doc.rust-lang.org');
+ } else if (form['from'].value === 'library') {
+ document.location.href = 'std/index.html?search=' + encodeURIComponent(q);
+ }
}
-function populate_rust_search() {
- var op = get_url_fragments();
- var lt = op.pop();
+function populate_search() {
+ var form = document.getElementById('search-form');
+ form.addEventListener('submit', on_submit);
+ document.getElementById('search-from').style.display = '';
- // #18540, use a single token
+ form['from'].value = 'library';
- var a = document.createElement("a");
- a.href = "https://doc.rust-lang.org/core/?search=" + encodeURIComponent(lt);
- a.textContent = lt;
- var search = document.getElementById('core-search');
- search.innerHTML = "";
- search.appendChild(a);
+ var op = get_url_fragments();
+ document.getElementById('search-input').value = op.join(' ');
}
-populate_site_search();
-populate_rust_search();
+populate_search();