generatePages method
void
generatePages(
- String out
)
Implementation
void generatePages(String out) {
final logger = context.logger;
final book = generator.book;
final pages = book.pages;
void outputPage(BookPage page) {
final filename = page.filename;
page.content = _attachPageContent(p.join(book.bookPath, filename));
if (page.content == null) {
logger.w("Page '${book.fileFsPath(filename)}' not exists!");
return;
}
final htmlText = generator.generatePage(theme, page);
final outputName = book.outputName(page.filename);
writeToFile(p.join(out, outputName), htmlText);
page.content = null;
}
for (final page in pages.values) {
try {
final at = DateTime.now().millisecondsSinceEpoch;
outputPage(page);
final interval = DateTime.now().millisecondsSinceEpoch - at;
final d = Duration(milliseconds: interval);
final mills = d.inMilliseconds.remainder(
Duration.millisecondsPerSecond,
);
final path = p.join(book.langPath, page.filename);
logger.d("generate page '$path' cost ${d.inSeconds}.${mills}s.");
} on Exception catch (e) {
logger.d("generate page '${page.filename}' failed by $e, ignored.");
}
}
_pageGenerator[book.langPath] = outputPage;
}