self.msg('done', nobold=True)
self.msg('checking consistency...')
self.env.check_consistency()
self.msg('creating index...')
self.env.create_index(self)
self.prepare_writing()
if filenames:
filenames_set = set(filenames)
for filename in filenames:
for tocfilename in self.env.files_to_rebuild.get(filename, []):
filenames_set.add(tocfilename)
filenames_set.add('contents.rst')
else:
filenames_set = set(self.env.all_files)
with collect_env_warnings(self):
self.msg('writing output...')
for filename in status_iterator(sorted(filenames_set), green,
stream=self.status_stream):
doctree = self.env.get_and_resolve_doctree(filename, self)
self.write_file(filename, doctree)
self.msg('finishing...')
self.finish()
self.msg('done!')
def prepare_writing(self):
raise NotImplementedError
def write_file(self, filename, doctree):
raise NotImplementedError
def finish(self):
raise NotImplementedError
class StandaloneHTMLBuilder(Builder):
"""
Builds standalone HTML docs.
"""
name = 'html'