diff options
Diffstat (limited to 'docs/build/html/_static/doctools.js')
| -rw-r--r-- | docs/build/html/_static/doctools.js | 238 | 
1 files changed, 238 insertions, 0 deletions
| diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js new file mode 100644 index 0000000..c5455c9 --- /dev/null +++ b/docs/build/html/_static/doctools.js @@ -0,0 +1,238 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { +  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", +    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", +    "profile", "profileEnd"]; +  window.console = {}; +  for (var i = 0; i < names.length; ++i) +    window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { +  return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { +  if (typeof s == 'undefined') +    s = document.location.search; +  var parts = s.substr(s.indexOf('?') + 1).split('&'); +  var result = {}; +  for (var i = 0; i < parts.length; i++) { +    var tmp = parts[i].split('=', 2); +    var key = jQuery.urldecode(tmp[0]); +    var value = jQuery.urldecode(tmp[1]); +    if (key in result) +      result[key].push(value); +    else +      result[key] = [value]; +  } +  return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { +  function highlight(node) { +    if (node.nodeType == 3) { +      var val = node.nodeValue; +      var pos = val.toLowerCase().indexOf(text); +      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { +        var span = document.createElement("span"); +        span.className = className; +        span.appendChild(document.createTextNode(val.substr(pos, text.length))); +        node.parentNode.insertBefore(span, node.parentNode.insertBefore( +          document.createTextNode(val.substr(pos + text.length)), +          node.nextSibling)); +        node.nodeValue = val.substr(0, pos); +      } +    } +    else if (!jQuery(node).is("button, select, textarea")) { +      jQuery.each(node.childNodes, function() { +        highlight(this); +      }); +    } +  } +  return this.each(function() { +    highlight(this); +  }); +}; + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + +  init : function() { +    this.fixFirefoxAnchorBug(); +    this.highlightSearchWords(); +    this.initIndexTable(); +  }, + +  /** +   * i18n support +   */ +  TRANSLATIONS : {}, +  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, +  LOCALE : 'unknown', + +  // gettext and ngettext don't access this so that the functions +  // can safely bound to a different name (_ = Documentation.gettext) +  gettext : function(string) { +    var translated = Documentation.TRANSLATIONS[string]; +    if (typeof translated == 'undefined') +      return string; +    return (typeof translated == 'string') ? translated : translated[0]; +  }, + +  ngettext : function(singular, plural, n) { +    var translated = Documentation.TRANSLATIONS[singular]; +    if (typeof translated == 'undefined') +      return (n == 1) ? singular : plural; +    return translated[Documentation.PLURALEXPR(n)]; +  }, + +  addTranslations : function(catalog) { +    for (var key in catalog.messages) +      this.TRANSLATIONS[key] = catalog.messages[key]; +    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); +    this.LOCALE = catalog.locale; +  }, + +  /** +   * add context elements like header anchor links +   */ +  addContextElements : function() { +    $('div[id] > :header:first').each(function() { +      $('<a class="headerlink">\u00B6</a>'). +      attr('href', '#' + this.id). +      attr('title', _('Permalink to this headline')). +      appendTo(this); +    }); +    $('dt[id]').each(function() { +      $('<a class="headerlink">\u00B6</a>'). +      attr('href', '#' + this.id). +      attr('title', _('Permalink to this definition')). +      appendTo(this); +    }); +  }, + +  /** +   * workaround a firefox stupidity +   */ +  fixFirefoxAnchorBug : function() { +    if (document.location.hash && $.browser.mozilla) +      window.setTimeout(function() { +        document.location.href += ''; +      }, 10); +  }, + +  /** +   * highlight the search words provided in the url in the text +   */ +  highlightSearchWords : function() { +    var params = $.getQueryParameters(); +    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; +    if (terms.length) { +      var body = $('div.body'); +      if (!body.length) { +        body = $('body'); +      } +      window.setTimeout(function() { +        $.each(terms, function() { +          body.highlightText(this.toLowerCase(), 'highlighted'); +        }); +      }, 10); +      $('<p class="highlight-link"><a href="javascript:Documentation.' + +        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>') +          .appendTo($('#searchbox')); +    } +  }, + +  /** +   * init the domain index toggle buttons +   */ +  initIndexTable : function() { +    var togglers = $('img.toggler').click(function() { +      var src = $(this).attr('src'); +      var idnum = $(this).attr('id').substr(7); +      $('tr.cg-' + idnum).toggle(); +      if (src.substr(-9) == 'minus.png') +        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); +      else +        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); +    }).css('display', ''); +    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { +        togglers.click(); +    } +  }, + +  /** +   * helper function to hide the search marks again +   */ +  hideSearchWords : function() { +    $('#searchbox .highlight-link').fadeOut(300); +    $('span.highlighted').removeClass('highlighted'); +  }, + +  /** +   * make the url absolute +   */ +  makeURL : function(relativeURL) { +    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; +  }, + +  /** +   * get the current relative url +   */ +  getCurrentURL : function() { +    var path = document.location.pathname; +    var parts = path.split(/\//); +    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { +      if (this == '..') +        parts.pop(); +    }); +    var url = parts.join('/'); +    return path.substring(url.lastIndexOf('/') + 1, path.length - 1); +  } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { +  Documentation.init(); +}); | 
