diff options
Diffstat (limited to 'docs/build/html/_static/sidebar.js')
| -rw-r--r-- | docs/build/html/_static/sidebar.js | 159 | 
1 files changed, 159 insertions, 0 deletions
| diff --git a/docs/build/html/_static/sidebar.js b/docs/build/html/_static/sidebar.js new file mode 100644 index 0000000..4f09a0d --- /dev/null +++ b/docs/build/html/_static/sidebar.js @@ -0,0 +1,159 @@ +/* + * sidebar.js + * ~~~~~~~~~~ + * + * This script makes the Sphinx sidebar collapsible. + * + * .sphinxsidebar contains .sphinxsidebarwrapper.  This script adds + * in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton + * used to collapse and expand the sidebar. + * + * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden + * and the width of the sidebar and the margin-left of the document + * are decreased. When the sidebar is expanded the opposite happens. + * This script saves a per-browser/per-session cookie used to + * remember the position of the sidebar among the pages. + * Once the browser is closed the cookie is deleted and the position + * reset to the default (expanded). + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +$(function() { +   +   +   +   +   +   +   + +  // global elements used by the functions. +  // the 'sidebarbutton' element is defined as global after its +  // creation, in the add_sidebar_button function +  var bodywrapper = $('.bodywrapper'); +  var sidebar = $('.sphinxsidebar'); +  var sidebarwrapper = $('.sphinxsidebarwrapper'); + +  // for some reason, the document has no sidebar; do not run into errors +  if (!sidebar.length) return; + +  // original margin-left of the bodywrapper and width of the sidebar +  // with the sidebar expanded +  var bw_margin_expanded = bodywrapper.css('margin-left'); +  var ssb_width_expanded = sidebar.width(); + +  // margin-left of the bodywrapper and width of the sidebar +  // with the sidebar collapsed +  var bw_margin_collapsed = '.8em'; +  var ssb_width_collapsed = '.8em'; + +  // colors used by the current theme +  var dark_color = $('.related').css('background-color'); +  var light_color = $('.document').css('background-color'); + +  function sidebar_is_collapsed() { +    return sidebarwrapper.is(':not(:visible)'); +  } + +  function toggle_sidebar() { +    if (sidebar_is_collapsed()) +      expand_sidebar(); +    else +      collapse_sidebar(); +  } + +  function collapse_sidebar() { +    sidebarwrapper.hide(); +    sidebar.css('width', ssb_width_collapsed); +    bodywrapper.css('margin-left', bw_margin_collapsed); +    sidebarbutton.css({ +        'margin-left': '0', +        'height': bodywrapper.height() +    }); +    sidebarbutton.find('span').text('»'); +    sidebarbutton.attr('title', _('Expand sidebar')); +    document.cookie = 'sidebar=collapsed'; +  } + +  function expand_sidebar() { +    bodywrapper.css('margin-left', bw_margin_expanded); +    sidebar.css('width', ssb_width_expanded); +    sidebarwrapper.show(); +    sidebarbutton.css({ +        'margin-left': ssb_width_expanded-12, +        'height': bodywrapper.height() +    }); +    sidebarbutton.find('span').text('«'); +    sidebarbutton.attr('title', _('Collapse sidebar')); +    document.cookie = 'sidebar=expanded'; +  } + +  function add_sidebar_button() { +    sidebarwrapper.css({ +        'float': 'left', +        'margin-right': '0', +        'width': ssb_width_expanded - 28 +    }); +    // create the button +    sidebar.append( +        '<div id="sidebarbutton"><span>«</span></div>' +    ); +    var sidebarbutton = $('#sidebarbutton'); +    light_color = sidebarbutton.css('background-color'); +    // find the height of the viewport to center the '<<' in the page +    var viewport_height; +    if (window.innerHeight) + 	  viewport_height = window.innerHeight; +    else +	  viewport_height = $(window).height(); +    sidebarbutton.find('span').css({ +        'display': 'block', +        'margin-top': (viewport_height - sidebar.position().top - 20) / 2 +    }); + +    sidebarbutton.click(toggle_sidebar); +    sidebarbutton.attr('title', _('Collapse sidebar')); +    sidebarbutton.css({ +        'color': '#FFFFFF', +        'border-left': '1px solid ' + dark_color, +        'font-size': '1.2em', +        'cursor': 'pointer', +        'height': bodywrapper.height(), +        'padding-top': '1px', +        'margin-left': ssb_width_expanded - 12 +    }); + +    sidebarbutton.hover( +      function () { +          $(this).css('background-color', dark_color); +      }, +      function () { +          $(this).css('background-color', light_color); +      } +    ); +  } + +  function set_position_from_cookie() { +    if (!document.cookie) +      return; +    var items = document.cookie.split(';'); +    for(var k=0; k<items.length; k++) { +      var key_val = items[k].split('='); +      var key = key_val[0].replace(/ /, "");  // strip leading spaces +      if (key == 'sidebar') { +        var value = key_val[1]; +        if ((value == 'collapsed') && (!sidebar_is_collapsed())) +          collapse_sidebar(); +        else if ((value == 'expanded') && (sidebar_is_collapsed())) +          expand_sidebar(); +      } +    } +  } + +  add_sidebar_button(); +  var sidebarbutton = $('#sidebarbutton'); +  set_position_from_cookie(); +});
\ No newline at end of file | 
