diff options
| author | bors <bors@rust-lang.org> | 2014-11-04 18:46:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-11-04 18:46:19 +0000 |
| commit | bb70ee56db2dad603ff3447badfaf7ae86c6733b (patch) | |
| tree | 69c8fdc58ae7e67fbf9dfdbbdf101e88aa91231d /src | |
| parent | 1b2ad7831f1745bf4a4709a1fa1772afb47c933c (diff) | |
| parent | eca7ab508d0ee0e154c263c2a20b661190400d80 (diff) | |
| download | rust-bb70ee56db2dad603ff3447badfaf7ae86c6733b.tar.gz rust-bb70ee56db2dad603ff3447badfaf7ae86c6733b.zip | |
auto merge of #18528 : seanjensengrey/rust/doc-18498, r=brson
This addresses https://github.com/rust-lang/rust/issues/18498 by adding a prepopulated search box to do site search on `doc.rust-lang.org` using duckduckgo AND generating a search url against the rust documentation using the internal search facilities. * https://duckduckgo.com/?q=type+Option+unwrap_or_else+site%3Adoc.rust-lang.org * http://doc.rust-lang.org/core/?search=unwrap_or_else
Diffstat (limited to 'src')
| -rw-r--r-- | src/doc/not_found.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/doc/not_found.md b/src/doc/not_found.md index f49772f29a1..bd4d9591097 100644 --- a/src/doc/not_found.md +++ b/src/doc/not_found.md @@ -11,9 +11,53 @@ Looks like you've taken a wrong turn. Some things that might be helpful to you though: +## Search +* <form action="https://duckduckgo.com/"> + <input type="text" id="site-search" name="q" size="80"></input> + <input type="submit" value="Search DuckDuckGo"> +</form> +* Rust doc search: <span id="core-search"></span> + ## Reference * [The Rust official site](http://rust-lang.org) * [The Rust reference](http://doc.rust-lang.org/reference.html) (* [PDF](http://doc.rust-lang.org/reference.pdf)) ## Docs * [The standard library](http://doc.rust-lang.org/std/) + +<script> +function get_url_fragments() { + var last = document.URL.split("/").pop(); + var tokens = last.split("."); + var op = []; + for (var i=0; i < tokens.length; i++) { + var t = tokens[i]; + if (t == 'html' || t.indexOf("#") != -1) { + // no html or anchors + } else { + op.push(t); + } + } + return op; +} + +function populate_site_search() { + var op = get_url_fragments(); + + var search = document.getElementById('site-search'); + search.value = op.join(' ') + " site:doc.rust-lang.org"; +} + +function populate_rust_search() { + var op = get_url_fragments(); + var lt = op.pop(); + + // #18540, use a single token + + var search = document.getElementById('core-search'); + search.innerHTML = "<a href=\"http://doc.rust-lang.org/core/?search=" + lt + "\">" + lt + "</a>"; +} +populate_site_search(); +populate_rust_search(); +</script> + |
