mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
#445: Fix links to result pages when using the search function of HTML built with the `dirhtml
` builder.
This commit is contained in:
parent
762741244d
commit
c88cb38f42
3
CHANGES
3
CHANGES
@ -1,6 +1,9 @@
|
|||||||
Release 0.6.8 (in development)
|
Release 0.6.8 (in development)
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
|
* #445: Fix links to result pages when using the search function
|
||||||
|
of HTML built with the ``dirhtml`` builder.
|
||||||
|
|
||||||
* #444: In templates, properly re-escape values treated with the
|
* #444: In templates, properly re-escape values treated with the
|
||||||
"striptags" Jinja filter.
|
"striptags" Jinja filter.
|
||||||
|
|
||||||
|
@ -750,6 +750,10 @@ class DirectoryHTMLBuilder(StandaloneHTMLBuilder):
|
|||||||
|
|
||||||
return outfilename
|
return outfilename
|
||||||
|
|
||||||
|
def prepare_writing(self, docnames):
|
||||||
|
StandaloneHTMLBuilder.prepare_writing(self, docnames)
|
||||||
|
self.globalcontext['no_search_suffix'] = True
|
||||||
|
|
||||||
|
|
||||||
class SerializingHTMLBuilder(StandaloneHTMLBuilder):
|
class SerializingHTMLBuilder(StandaloneHTMLBuilder):
|
||||||
"""
|
"""
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
URL_ROOT: '{{ url_root }}',
|
URL_ROOT: '{{ url_root }}',
|
||||||
VERSION: '{{ release|e }}',
|
VERSION: '{{ release|e }}',
|
||||||
COLLAPSE_MODINDEX: false,
|
COLLAPSE_MODINDEX: false,
|
||||||
FILE_SUFFIX: '{{ file_suffix }}',
|
FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
|
||||||
HAS_SOURCE: {{ has_source|lower }}
|
HAS_SOURCE: {{ has_source|lower }}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -424,10 +424,23 @@ var Search = {
|
|||||||
if (results.length) {
|
if (results.length) {
|
||||||
var item = results.pop();
|
var item = results.pop();
|
||||||
var listItem = $('<li style="display:none"></li>');
|
var listItem = $('<li style="display:none"></li>');
|
||||||
listItem.append($('<a/>').attr(
|
if (DOCUMENTATION_OPTIONS.FILE_SUFFIX == '') {
|
||||||
'href',
|
// dirhtml builder
|
||||||
item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
|
var dirname = item[0] + '/';
|
||||||
highlightstring + item[2]).html(item[1]));
|
if (dirname.match(/\/index\/$/)) {
|
||||||
|
dirname = dirname.substring(0, dirname.length-6);
|
||||||
|
} else if (dirname == 'index/') {
|
||||||
|
dirname = '';
|
||||||
|
}
|
||||||
|
listItem.append($('<a/>').attr('href',
|
||||||
|
DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
|
||||||
|
highlightstring + item[2]).html(item[1]));
|
||||||
|
} else {
|
||||||
|
// normal html builders
|
||||||
|
listItem.append($('<a/>').attr('href',
|
||||||
|
item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
|
||||||
|
highlightstring + item[2]).html(item[1]));
|
||||||
|
}
|
||||||
if (item[3]) {
|
if (item[3]) {
|
||||||
listItem.append($('<span> (' + item[3] + ')</span>'));
|
listItem.append($('<span> (' + item[3] + ')</span>'));
|
||||||
Search.output.append(listItem);
|
Search.output.append(listItem);
|
||||||
@ -437,8 +450,10 @@ var Search = {
|
|||||||
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
||||||
$.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' +
|
$.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' +
|
||||||
item[0] + '.txt', function(data) {
|
item[0] + '.txt', function(data) {
|
||||||
listItem.append($.makeSearchSummary(data, searchterms, hlterms));
|
if (data != '') {
|
||||||
Search.output.append(listItem);
|
listItem.append($.makeSearchSummary(data, searchterms, hlterms));
|
||||||
|
Search.output.append(listItem);
|
||||||
|
}
|
||||||
listItem.slideDown(5, function() {
|
listItem.slideDown(5, function() {
|
||||||
displayNextItem();
|
displayNextItem();
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user