generatePage method
Generate raw html text for one book page.
Implementation
String generatePage(ThemeManager theme, BookPage page) {
final filename = page.filename;
final filePath = book.filePath(filename);
final engine = theme.engine;
final data = RenderContext(
filters: {
...theme.builtinFilters,
..._builtinFilters,
'resolveAsset': (String f) => filePath.pathTo(p.join('dartbook', f)),
'resolveFile': (String f) => filename.pathTo(_toUrl(f)),
'fileExists': (String f) => File(book.fileFsPath(f)).existsSync(),
},
data: _makePageRenderData(page),
);
final raw = engine.renderPage(data);
final doc = html.parse(raw);
addHeadingId(doc);
modifier.annotate(doc);
return doc.outerHtml;
}