sclass HTMLFramer1 {
S title;
new L navItems;
new LS contents;
srecord NavItem(S link, S html) {}
swappable S render() {
ret hhtml(hhead_title(title)
+ hbody(h1(htmlEncode2(title))
+ renderNav()
+ lines(contents)));
}
swappable S renderNav() {
if (empty(navItems)) ret "";
ret p(joinWithVBar(map(navItems, ni -> ahref(ni.link, ni.html))));
}
void addNavItem(S link, S html) {
navItems.add(new NavItem(link, html));
}
}