mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
epub: add auto generated orphan documents to spine with linear=no
This commit is contained in:
parent
acd4d9f2ba
commit
0d3f2e06cb
1
CHANGES
1
CHANGES
@ -9,6 +9,7 @@ Bugs fixed
|
|||||||
* #2882: Fall back to a GET request on 403 status in linkcheck
|
* #2882: Fall back to a GET request on 403 status in linkcheck
|
||||||
* #2902: jsdump.loads fails to load search index if keywords starts with
|
* #2902: jsdump.loads fails to load search index if keywords starts with
|
||||||
underscore
|
underscore
|
||||||
|
* #2900: Fix epub content.opf: add auto generated orphan files to spine.
|
||||||
|
|
||||||
Release 1.4.6 (released Aug 20, 2016)
|
Release 1.4.6 (released Aug 20, 2016)
|
||||||
=====================================
|
=====================================
|
||||||
|
@ -123,6 +123,9 @@ FILE_TEMPLATE = u'''\
|
|||||||
SPINE_TEMPLATE = u'''\
|
SPINE_TEMPLATE = u'''\
|
||||||
<itemref idref="%(idref)s" />'''
|
<itemref idref="%(idref)s" />'''
|
||||||
|
|
||||||
|
NO_LINEAR_SPINE_TEMPLATE = u'''\
|
||||||
|
<itemref idref="%(idref)s" linear="no" />'''
|
||||||
|
|
||||||
GUIDE_TEMPLATE = u'''\
|
GUIDE_TEMPLATE = u'''\
|
||||||
<reference type="%(type)s" title="%(title)s" href="%(uri)s" />'''
|
<reference type="%(type)s" title="%(title)s" href="%(uri)s" />'''
|
||||||
|
|
||||||
@ -202,6 +205,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
|||||||
coverpage_name = COVERPAGE_NAME
|
coverpage_name = COVERPAGE_NAME
|
||||||
file_template = FILE_TEMPLATE
|
file_template = FILE_TEMPLATE
|
||||||
spine_template = SPINE_TEMPLATE
|
spine_template = SPINE_TEMPLATE
|
||||||
|
no_linear_spine_template = NO_LINEAR_SPINE_TEMPLATE
|
||||||
guide_template = GUIDE_TEMPLATE
|
guide_template = GUIDE_TEMPLATE
|
||||||
toctree_template = TOCTREE_TEMPLATE
|
toctree_template = TOCTREE_TEMPLATE
|
||||||
doctype = DOCTYPE
|
doctype = DOCTYPE
|
||||||
@ -584,6 +588,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
|||||||
|
|
||||||
# spine
|
# spine
|
||||||
spine = []
|
spine = []
|
||||||
|
spinefiles = set()
|
||||||
for item in self.refnodes:
|
for item in self.refnodes:
|
||||||
if '#' in item['refuri']:
|
if '#' in item['refuri']:
|
||||||
continue
|
continue
|
||||||
@ -592,14 +597,23 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
|||||||
spine.append(self.spine_template % {
|
spine.append(self.spine_template % {
|
||||||
'idref': self.esc(self.make_id(item['refuri']))
|
'idref': self.esc(self.make_id(item['refuri']))
|
||||||
})
|
})
|
||||||
|
spinefiles.add(item['refuri'])
|
||||||
for info in self.domain_indices:
|
for info in self.domain_indices:
|
||||||
spine.append(self.spine_template % {
|
spine.append(self.spine_template % {
|
||||||
'idref': self.esc(self.make_id(info[0] + self.out_suffix))
|
'idref': self.esc(self.make_id(info[0] + self.out_suffix))
|
||||||
})
|
})
|
||||||
|
spinefiles.add(info[0] + self.out_suffix)
|
||||||
if self.get_builder_config('use_index', 'epub'):
|
if self.get_builder_config('use_index', 'epub'):
|
||||||
spine.append(self.spine_template % {
|
spine.append(self.spine_template % {
|
||||||
'idref': self.esc(self.make_id('genindex' + self.out_suffix))
|
'idref': self.esc(self.make_id('genindex' + self.out_suffix))
|
||||||
})
|
})
|
||||||
|
spinefiles.add('genindex' + self.out_suffix)
|
||||||
|
# add auto generated files
|
||||||
|
for name in self.files:
|
||||||
|
if name not in spinefiles and name.endswith(self.out_suffix):
|
||||||
|
spine.append(self.no_linear_spine_template % {
|
||||||
|
'idref': self.esc(self.make_id(name))
|
||||||
|
})
|
||||||
|
|
||||||
# add the optional cover
|
# add the optional cover
|
||||||
content_tmpl = self.content_template
|
content_tmpl = self.content_template
|
||||||
@ -626,6 +640,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
|
|||||||
ctx = {'image': self.esc(image), 'title': self.config.project}
|
ctx = {'image': self.esc(image), 'title': self.config.project}
|
||||||
self.handle_page(
|
self.handle_page(
|
||||||
path.splitext(self.coverpage_name)[0], ctx, html_tmpl)
|
path.splitext(self.coverpage_name)[0], ctx, html_tmpl)
|
||||||
|
spinefiles.add(self.coverpage_name)
|
||||||
|
|
||||||
guide = []
|
guide = []
|
||||||
auto_add_cover = True
|
auto_add_cover = True
|
||||||
|
Loading…
Reference in New Issue
Block a user