[Python-checkins] r64467 - in doctools/trunk/sphinx: builder.py static/doctools.js templates/layout.html templates/modindex.html

georg.brandl python-checkins at python.org
Sun Jun 22 21:23:00 CEST 2008


Author: georg.brandl
Date: Sun Jun 22 21:23:00 2008
New Revision: 64467
Log:
Don't collapse modindex if number of submodules is larger
than number of toplevel modules.
Modified:
 doctools/trunk/sphinx/builder.py
 doctools/trunk/sphinx/static/doctools.js
 doctools/trunk/sphinx/templates/layout.html
 doctools/trunk/sphinx/templates/modindex.html
Modified: doctools/trunk/sphinx/builder.py
==============================================================================
--- doctools/trunk/sphinx/builder.py	(original)
+++ doctools/trunk/sphinx/builder.py	Sun Jun 22 21:23:00 2008
@@ -501,6 +501,8 @@
 modindexentries = []
 letters = []
 pmn = ''
+ num_toplevels = 0
+ num_collapsables = 0
 cg = 0 # collapse group
 fl = '' # first letter
 for mn, (fn, sy, pl, dep) in modules:
@@ -517,21 +519,29 @@
 if pmn == tn:
 # first submodule - make parent collapsable
 modindexentries[-1][1] = True
+ num_collapsables += 1
 elif not pmn.startswith(tn):
 # submodule without parent in list, add dummy entry
 cg += 1
 modindexentries.append([tn, True, cg, False, '', '', [], False])
 else:
+ num_toplevels += 1
 cg += 1
 modindexentries.append([mn, False, cg, (tn != mn), fn, sy, pl, dep])
 pmn = mn
 fl = mn[0].lower()
 platforms = sorted(platforms)
 
+ # apply heuristics when to collapse modindex at page load:
+ # only collapse if number of toplevel modules is larger than
+ # number of submodules
+ collapse = len(modules) - num_toplevels > num_toplevels
+
 modindexcontext = dict(
 modindexentries = modindexentries,
 platforms = platforms,
 letters = letters,
+ collapse = collapse,
 )
 self.info(' modindex', nonl=1)
 self.handle_page('modindex', modindexcontext, 'modindex.html')
Modified: doctools/trunk/sphinx/static/doctools.js
==============================================================================
--- doctools/trunk/sphinx/static/doctools.js	(original)
+++ doctools/trunk/sphinx/static/doctools.js	Sun Jun 22 21:23:00 2008
@@ -154,7 +154,7 @@
 * init the modindex toggle buttons
 */
 initModIndex : function() {
- $('img.toggler').click(function() {
+ var togglers = $('img.toggler').click(function() {
 var src = $(this).attr('src');
 var idnum = $(this).attr('id').substr(7);
 console.log($('tr.cg-' + idnum).toggle());
@@ -162,7 +162,10 @@
 $(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', '').click();
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX) {
+ togglers.click();
+ }
 },
 
 /**
Modified: doctools/trunk/sphinx/templates/layout.html
==============================================================================
--- doctools/trunk/sphinx/templates/layout.html	(original)
+++ doctools/trunk/sphinx/templates/layout.html	Sun Jun 22 21:23:00 2008
@@ -102,8 +102,9 @@
 {%- if builder != 'htmlhelp' %}
 <script type="text/javascript">
 var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '{{ pathto("", 1) }}',
- VERSION: '{{ release }}'
+ URL_ROOT: '{{ pathto("", 1) }}',
+ VERSION: '{{ release }}',
+ COLLAPSE_MODINDEX: false,
 };
 </script>
 <script type="text/javascript" src="{{ pathto('_static/jquery.js', 1) }}"></script>
Modified: doctools/trunk/sphinx/templates/modindex.html
==============================================================================
--- doctools/trunk/sphinx/templates/modindex.html	(original)
+++ doctools/trunk/sphinx/templates/modindex.html	Sun Jun 22 21:23:00 2008
@@ -1,5 +1,12 @@
 {% extends "layout.html" %}
 {% set title = 'Global Module Index' %}
+{% block extrahead %}
+{% if collapse_modindex %}
+ <script type="text/javascript">
+ DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX = true;
+ </script>
+{% endif %}
+{% endblock %}
 {% block body %}
 
 <h1 id="global-module-index">Global Module Index</h1>


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /