diff --git a/readthedocs/core/static-src/core/js/readthedocs-doc-embed.js b/readthedocs/core/static-src/core/js/readthedocs-doc-embed.js index 4c9555b4e..953da7706 100644 --- a/readthedocs/core/static-src/core/js/readthedocs-doc-embed.js +++ b/readthedocs/core/static-src/core/js/readthedocs-doc-embed.js @@ -294,188 +294,5 @@ $(document).ready(function () { win.on('resize', apply_stickynav); apply_stickynav(); } - - - /// Search - /// Here be dragons, this is beta quality code. Beware. - - if (build.is_rtd_theme()) { - searchLanding(); - } - - $(document).on({ - mouseenter: function(ev) { - var tooltip = $(ev.target).next(); - tooltip.show(); - }, - mouseleave: function(ev) { - var tooltip = $(ev.target).next(); - tooltip.hide(); - } - }, '.result-count'); - - $(document).on('submit', '#rtd-search-form', function (ev) { - //ev.preventDefault(); - clearSearch(); - var query = $("#rtd-search-form input[name='q']").val(); - getSearch(query, true); - }); - - $(document).on('click', '.search-result', function (ev) { - ev.preventDefault(); - //console.log(ev.target) - html = $(ev.target).next().html(); - displayContent(html); - }); - - function searchLanding() { - // Highlight based on highlight GET arg - var params = $.getQueryParameters(); - var query = (params.q) ? params.q[0].split(/\s+/) : []; - var clear = true; - /* Don't "search" on highlight phrases - if (!query.length) { - // Only clear on q - clear = false - var query = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - } - */ - if (query.length) { - query = query.join(" "); - console.log("Searching based on GET arg for: " + query); - $("#rtd-search-form input[name='q']").val(query); - getSearch(query, clear); - } - } - - function getSearch(query, clear) { - var get_data = { - project: READTHEDOCS_DATA['project'], - version: READTHEDOCS_DATA['version'], - format: "jsonp", - q: query - }; - - // Search results - $.ajax({ - url: API_HOST + "/api/v2/search/section/", - crossDomain: true, - xhrFields: { - withCredentials: true, - }, - dataType: "jsonp", - data: get_data, - success: function (data) { - clearSearch(clear); - hits = data.results.hits.hits; - if (!hits.length) { - resetState(); - } else { - displaySearch(hits, query); - } - }, - error: function () { - console.log('Error searching'); - } - }); - } - - function displayContent(html) { - var content = $('.rst-content'); - content.html(html); - } - - function displaySearch(hits, query) { - FIRSTRUN = {}; - current = $(".toctree-l1.current > a"); - for (var index in hits) { - var hit = hits[index]; - var path = hit.fields.path; - var pageId = hit.fields.page_id; - var title = hit.fields.title; - var content = hit.fields.content; - var highlight = hit.highlight.content; - var score = hit._score; - - var li = $(".toctree-l1 > a[href^='" + path + "']"); - - /* - // This doesn't work :) - if (!li.length && $(current.next().children()[0]).text() == title) { - li = current - console.log("Current page: " + title) - } else { - console.log("Not: " + title) - } - */ - - var ul = li.next(); - - console.log(path); - - // Display content for first result - if (index === 0) { - // Don't display content for now, so we show sphinx results - //displayContent(content) - } - - // Clear out subheading with result content - if (!FIRSTRUN[path]) { - li.show(); - li.attr("href", li.attr('href') + "?highlight=" + query); - li.parent().addClass("current"); - li.append(""); - ul.empty(); - FIRSTRUN[path] = true; - } - - // Dedupe - if (!FIRSTRUN[path+title]) { - ul.append('
  • ' + '' + title + '' + '' + '
  • '); - if (score > 1) { - $(".toctree-l2 "); - inserted = $('.toctree-l2 > [pageId="' + pageId + '"]'); - inserted.append(""); - } - FIRSTRUN[path+title] = true; - } - } - // Hide non-showing bits - $.each($(".toctree-l1 > a"), function (index, el) { - hide = true; - if ($(el).attr('href') === "") { - // Current page - hide = false; - } - for (var key in FIRSTRUN) { - if ($(el).attr('href').indexOf(key) === 0) { - hide = false; - } - } - if (hide) { - $(el).hide(); - } - - }); - - } - - function resetState() { - $.each($(".toctree-l1 > a"), function (index, el) { - var el = $(el); - el.show(); - el.parent().show(); - }); - - } - function clearSearch(empty) { - $('.result-icon').remove(); - $.each($(".toctree-l1 > a"), function (index, el) { - var el = $(el); - if (empty) { - el.parent().removeClass('current'); - el.next().empty(); - } - }); - } + }); diff --git a/readthedocs/core/static/core/js/readthedocs-doc-embed.js b/readthedocs/core/static/core/js/readthedocs-doc-embed.js index 0dca31d99..0252a3219 100644 --- a/readthedocs/core/static/core/js/readthedocs-doc-embed.js +++ b/readthedocs/core/static/core/js/readthedocs-doc-embed.js @@ -1 +1 @@ -!function t(e,r,o){function n(a,s){if(!r[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var d=r[a]={exports:{}};e[a][0].call(d.exports,function(t){var r=e[a][1][t];return n(r?r:t)},d,d.exports,t,e,r,o)}return r[a].exports}for(var i="function"==typeof require&&require,a=0;a ul li.current").removeClass("current"),e.toggleClass("current")}function e(t){if(!t.is_highest){var e=window.location.pathname.replace(READTHEDOCS_DATA.version,t.slug),r=$('

    Note

    You are not using the most up to date version of the library. is the newest version.

    ');r.find("a").attr("href",e).text(t.version),body=$("div.body"),body.length||(body=$("div.document")),body.prepend(r)}}function r(){var t=$.getQueryParameters(),e=t.q?t.q[0].split(/\s+/):[],r=!0;e.length&&(e=e.join(" "),console.log("Searching based on GET arg for: "+e),$("#rtd-search-form input[name='q']").val(e),i(e,r))}function i(t,e){var r={project:READTHEDOCS_DATA.project,version:READTHEDOCS_DATA.version,format:"jsonp",q:t};$.ajax({url:p+"/api/v2/search/section/",crossDomain:!0,xhrFields:{withCredentials:!0},dataType:"jsonp",data:r,success:function(r){l(e),hits=r.results.hits.hits,hits.length?s(hits,t):c()},error:function(){console.log("Error searching")}})}function a(t){var e=$(".rst-content");e.html(t)}function s(t,e){FIRSTRUN={},current=$(".toctree-l1.current > a");for(var r in t){var o=t[r],n=o.fields.path,i=o.fields.page_id,a=o.fields.title,s=o.fields.content,c=(o.highlight.content,o._score),l=$(".toctree-l1 > a[href^='"+n+"']"),d=l.next();console.log(n),FIRSTRUN[n]||(l.show(),l.attr("href",l.attr("href")+"?highlight="+e),l.parent().addClass("current"),l.append(""),d.empty(),FIRSTRUN[n]=!0),FIRSTRUN[n+a]||(d.append('
  • '+a+'
  • "),c>1&&($(".toctree-l2 "),inserted=$('.toctree-l2 > [pageId="'+i+'"]'),inserted.append("")),FIRSTRUN[n+a]=!0)}$.each($(".toctree-l1 > a"),function(t,e){hide=!0,""===$(e).attr("href")&&(hide=!1);for(var r in FIRSTRUN)0===$(e).attr("href").indexOf(r)&&(hide=!1);hide&&$(e).hide()})}function c(){$.each($(".toctree-l1 > a"),function(t,e){var e=$(e);e.show(),e.parent().show()})}function l(t){$(".result-icon").remove(),$.each($(".toctree-l1 > a"),function(e,r){var r=$(r);t&&(r.parent().removeClass("current"),r.next().empty())})}var d=new n.Build(READTHEDOCS_DATA);get_data={project:READTHEDOCS_DATA.project,version:READTHEDOCS_DATA.version,page:READTHEDOCS_DATA.page,theme:READTHEDOCS_DATA.theme,format:"jsonp"},"docroot"in READTHEDOCS_DATA&&(get_data.docroot=READTHEDOCS_DATA.docroot),"source_suffix"in READTHEDOCS_DATA&&(get_data.source_suffix=READTHEDOCS_DATA.source_suffix);var p=READTHEDOCS_DATA.api_host;void 0===p&&(p="https://readthedocs.org"),0===window.location.pathname.indexOf("/projects/")&&(get_data.subproject=!0),$.ajax({url:p+"/api/v2/footer_html/",crossDomain:!0,xhrFields:{withCredentials:!0},dataType:"jsonp",data:get_data,success:function(t){function e(t){return/^(GET|HEAD|OPTIONS|TRACE)$/.test(t)}if(d.is_rtd_theme()?$("div.rst-other-versions").html(t.html):$("body").append(t.html),t.version_active?!t.version_supported:$(".rst-current-version").addClass("rst-out-of-date"),t.promo&&d.show_promo()){var r=new o.Promo(t.promo_data.id,t.promo_data.text,t.promo_data.link,t.promo_data.image);r&&r.display()}$.ajaxSetup({beforeSend:function(t,r){e(r.type)||t.setRequestHeader("X-CSRFToken",$("a.bookmark[token]").attr("token"))}})},error:function(){console.log("Error loading Read the Docs footer")}}),(!("builder"in READTHEDOCS_DATA)||"builder"in READTHEDOCS_DATA&&"mkdocs"!=READTHEDOCS_DATA.builder)&&($(document).on("click","[data-toggle='wy-nav-top']",function(){$("[data-toggle='wy-nav-shift']").toggleClass("shift"),$("[data-toggle='rst-versions']").toggleClass("shift")}),$(document).on("click",".wy-menu-vertical .current ul li a",function(){var e=$(this);$("[data-toggle='wy-nav-shift']").removeClass("shift"),$("[data-toggle='rst-versions']").toggleClass("shift"),t(e),"undefined"!=typeof window.SphinxRtdTheme&&window.SphinxRtdTheme.StickyNav.hashChange()}),$(document).on("click","[data-toggle='rst-current-version']",function(){$("[data-toggle='rst-versions']").toggleClass("shift-up")}),$("table.docutils:not(.field-list)").wrap("
    "),$(".wy-menu-vertical ul").siblings("a").each(function(){var e=$(this);expand=$(''),expand.on("click",function(r){return t(e),r.stopPropagation(),!1}),e.prepend(expand)}),window.SphinxRtdTheme=function(t){var e=function(){var e,r,o=!1,n=!1,i=0,a=function(){s(),c(),r.on("hashchange",c),r.on("scroll",function(){n||(o=!0)}),setInterval(function(){if(o){o=!1;var t=r.scrollTop(),n=e.scrollTop(),a=n+(t-i);e.scrollTop(a),i=t}},25)},s=function(){e=t("nav.wy-nav-side:first"),r=t(window)},c=function(){var t=encodeURI(window.location.hash);if(t)try{var e=$(".wy-menu-vertical").find('[href="'+t+'"]');$(".wy-menu-vertical li.toctree-l1 li.current").removeClass("current"),e.closest("li.toctree-l2").addClass("current"),e.closest("li.toctree-l3").addClass("current"),e.closest("li.toctree-l4").addClass("current")}catch(r){console.log("Error expanding nav for anchor",r)}},l=function(){n=!0,r.one("hashchange",function(){n=!1})};return t(s),{enable:a,hashChange:l}}();return{StickyNav:e}}($)),$.ajax({url:"https://api.grokthedocs.com/static/javascript/bundle-client.js",crossDomain:!0,dataType:"script"});var h=[p+"/api/v1/version/",READTHEDOCS_DATA.project,"/highest/",READTHEDOCS_DATA.version,"/?callback=?"].join("");if($.getJSON(h,e),"builder"in READTHEDOCS_DATA&&"mkdocs"==READTHEDOCS_DATA.builder){$("").attr({type:"hidden",name:"project",value:READTHEDOCS_DATA.project}).appendTo("#rtd-search-form"),$("").attr({type:"hidden",name:"version",value:READTHEDOCS_DATA.version}).appendTo("#rtd-search-form"),$("").attr({type:"hidden",name:"type",value:"file"}).appendTo("#rtd-search-form"),$("#rtd-search-form").prop("action",p+"/elasticsearch/");var u=$("nav.wy-nav-side:first"),f=$(window),v="stickynav",m=function(){u.height()<=f.height()?u.addClass(v):u.removeClass(v)};f.on("resize",m),m()}d.is_rtd_theme()&&r(),$(document).on({mouseenter:function(t){var e=$(t.target).next();e.show()},mouseleave:function(t){var e=$(t.target).next();e.hide()}},".result-count"),$(document).on("submit","#rtd-search-form",function(t){l();var e=$("#rtd-search-form input[name='q']").val();i(e,!0)}),$(document).on("click",".search-result",function(t){t.preventDefault(),html=$(t.target).next().html(),a(html)})})},{"./doc":1,"./sponsorship":3}],3:[function(t,e,r){function o(t,e,r,o){this.id=t,this.text=e,this.link=r,this.image=o,this.promo=null}var n=window.$;e.exports={Promo:o},o.prototype.create=function(){var t=this,e=n("nav.wy-nav-side");if(e.length){promo=n("
    ").attr("class","wy-menu rst-pro");{var r=n("
    ").attr("class","rst-pro-about"),o=n("").attr("href","http://docs.readthedocs.org/en/latest/sponsors.html#sponsorship-information").appendTo(r);n("").attr("class","fa fa-info-circle").appendTo(o)}if(r.appendTo(promo),t.image){{var i=n("").attr("class","rst-pro-image-wrapper").attr("href",t.link);n("").attr("class","rst-pro-image").attr("src",t.image).appendTo(i)}promo.append(i)}var a=n("").html(t.text);return n(a).find("a").each(function(){n(this).attr("class","rst-pro-link").attr("href",t.link).attr("target","_blank").on("click",function(e){_gaq&&_gaq.push(["rtfd._setAccount","UA-17997319-1"],["rtfd._trackEvent","Promo","Click",t.id])})}),promo.append(a),promo.appendTo(e),promo.wrapper=n("
    ").attr("class","rst-pro-wrapper").appendTo(e),promo}},o.prototype.display=function(){var t=this.promo;t||(t=this.promo=this.create()),t.show()},o.prototype.disable=function(){},o.from_variants=function(t){if(0==t.length)return null;var e=Math.floor(Math.random()*t.length),r=t[e],n=r.text,i=r.link,a=r.image,s=r.id;return new o(s,n,i,a)}},{}]},{},[2]); \ No newline at end of file +!function t(e,o,r){function n(a,s){if(!o[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(i)return i(a,!0);var d=new Error("Cannot find module '"+a+"'");throw d.code="MODULE_NOT_FOUND",d}var p=o[a]={exports:{}};e[a][0].call(p.exports,function(t){var o=e[a][1][t];return n(o?o:t)},p,p.exports,t,e,o,r)}return o[a].exports}for(var i="function"==typeof require&&require,a=0;a ul li.current").removeClass("current"),e.toggleClass("current")}function e(t){if(!t.is_highest){var e=window.location.pathname.replace(READTHEDOCS_DATA.version,t.slug),o=$('');o.find("a").attr("href",e).text(t.version),body=$("div.body"),body.length||(body=$("div.document")),body.prepend(o)}}var o=new n.Build(READTHEDOCS_DATA);get_data={project:READTHEDOCS_DATA.project,version:READTHEDOCS_DATA.version,page:READTHEDOCS_DATA.page,theme:READTHEDOCS_DATA.theme,format:"jsonp"},"docroot"in READTHEDOCS_DATA&&(get_data.docroot=READTHEDOCS_DATA.docroot),"source_suffix"in READTHEDOCS_DATA&&(get_data.source_suffix=READTHEDOCS_DATA.source_suffix);var i=READTHEDOCS_DATA.api_host;void 0===i&&(i="https://readthedocs.org"),0===window.location.pathname.indexOf("/projects/")&&(get_data.subproject=!0),$.ajax({url:i+"/api/v2/footer_html/",crossDomain:!0,xhrFields:{withCredentials:!0},dataType:"jsonp",data:get_data,success:function(t){function e(t){return/^(GET|HEAD|OPTIONS|TRACE)$/.test(t)}if(o.is_rtd_theme()?$("div.rst-other-versions").html(t.html):$("body").append(t.html),t.version_active?!t.version_supported:$(".rst-current-version").addClass("rst-out-of-date"),t.promo&&o.show_promo()){var n=new r.Promo(t.promo_data.id,t.promo_data.text,t.promo_data.link,t.promo_data.image);n&&n.display()}$.ajaxSetup({beforeSend:function(t,o){e(o.type)||t.setRequestHeader("X-CSRFToken",$("a.bookmark[token]").attr("token"))}})},error:function(){console.log("Error loading Read the Docs footer")}}),(!("builder"in READTHEDOCS_DATA)||"builder"in READTHEDOCS_DATA&&"mkdocs"!=READTHEDOCS_DATA.builder)&&($(document).on("click","[data-toggle='wy-nav-top']",function(){$("[data-toggle='wy-nav-shift']").toggleClass("shift"),$("[data-toggle='rst-versions']").toggleClass("shift")}),$(document).on("click",".wy-menu-vertical .current ul li a",function(){var e=$(this);$("[data-toggle='wy-nav-shift']").removeClass("shift"),$("[data-toggle='rst-versions']").toggleClass("shift"),t(e),"undefined"!=typeof window.SphinxRtdTheme&&window.SphinxRtdTheme.StickyNav.hashChange()}),$(document).on("click","[data-toggle='rst-current-version']",function(){$("[data-toggle='rst-versions']").toggleClass("shift-up")}),$("table.docutils:not(.field-list)").wrap("
    "),$(".wy-menu-vertical ul").siblings("a").each(function(){var e=$(this);expand=$(''),expand.on("click",function(o){return t(e),o.stopPropagation(),!1}),e.prepend(expand)}),window.SphinxRtdTheme=function(t){var e=function(){var e,o,r=!1,n=!1,i=0,a=function(){s(),c(),o.on("hashchange",c),o.on("scroll",function(){n||(r=!0)}),setInterval(function(){if(r){r=!1;var t=o.scrollTop(),n=e.scrollTop(),a=n+(t-i);e.scrollTop(a),i=t}},25)},s=function(){e=t("nav.wy-nav-side:first"),o=t(window)},c=function(){var t=encodeURI(window.location.hash);if(t)try{var e=$(".wy-menu-vertical").find('[href="'+t+'"]');$(".wy-menu-vertical li.toctree-l1 li.current").removeClass("current"),e.closest("li.toctree-l2").addClass("current"),e.closest("li.toctree-l3").addClass("current"),e.closest("li.toctree-l4").addClass("current")}catch(o){console.log("Error expanding nav for anchor",o)}},d=function(){n=!0,o.one("hashchange",function(){n=!1})};return t(s),{enable:a,hashChange:d}}();return{StickyNav:e}}($)),$.ajax({url:"https://api.grokthedocs.com/static/javascript/bundle-client.js",crossDomain:!0,dataType:"script"});var a=[i+"/api/v1/version/",READTHEDOCS_DATA.project,"/highest/",READTHEDOCS_DATA.version,"/?callback=?"].join("");if($.getJSON(a,e),"builder"in READTHEDOCS_DATA&&"mkdocs"==READTHEDOCS_DATA.builder){$("").attr({type:"hidden",name:"project",value:READTHEDOCS_DATA.project}).appendTo("#rtd-search-form"),$("").attr({type:"hidden",name:"version",value:READTHEDOCS_DATA.version}).appendTo("#rtd-search-form"),$("").attr({type:"hidden",name:"type",value:"file"}).appendTo("#rtd-search-form"),$("#rtd-search-form").prop("action",i+"/elasticsearch/");var s=$("nav.wy-nav-side:first"),c=$(window),d="stickynav",p=function(){s.height()<=c.height()?s.addClass(d):s.removeClass(d)};c.on("resize",p),p()}})},{"./doc":1,"./sponsorship":3}],3:[function(t,e,o){function r(t,e,o,r){this.id=t,this.text=e,this.link=o,this.image=r,this.promo=null}var n=window.$;e.exports={Promo:r},r.prototype.create=function(){var t=this,e=n("nav.wy-nav-side");if(e.length){promo=n("
    ").attr("class","wy-menu rst-pro");{var o=n("
    ").attr("class","rst-pro-about"),r=n("").attr("href","http://docs.readthedocs.org/en/latest/sponsors.html#sponsorship-information").appendTo(o);n("").attr("class","fa fa-info-circle").appendTo(r)}if(o.appendTo(promo),t.image){{var i=n("").attr("class","rst-pro-image-wrapper").attr("href",t.link);n("").attr("class","rst-pro-image").attr("src",t.image).appendTo(i)}promo.append(i)}var a=n("").html(t.text);return n(a).find("a").each(function(){n(this).attr("class","rst-pro-link").attr("href",t.link).attr("target","_blank").on("click",function(e){_gaq&&_gaq.push(["rtfd._setAccount","UA-17997319-1"],["rtfd._trackEvent","Promo","Click",t.id])})}),promo.append(a),promo.appendTo(e),promo.wrapper=n("
    ").attr("class","rst-pro-wrapper").appendTo(e),promo}},r.prototype.display=function(){var t=this.promo;t||(t=this.promo=this.create()),t.show()},r.prototype.disable=function(){},r.from_variants=function(t){if(0==t.length)return null;var e=Math.floor(Math.random()*t.length),o=t[e],n=o.text,i=o.link,a=o.image,s=o.id;return new r(s,n,i,a)}},{}]},{},[2]); \ No newline at end of file