X-Git-Url: https://harishankar.org/repos/?p=biaweb2.git;a=blobdiff_plain;f=biawebdocument.hpp;h=39721076dbe33eca14b68e7bf67e3b13e51788d5;hp=65005dd2a4e2ad3e21cb1813d6006306f86fdd17;hb=HEAD;hpb=44d5fb1ff24147859c5f198dd47f6956ec5fea51 diff --git a/biawebdocument.hpp b/biawebdocument.hpp index 65005dd..3972107 100644 --- a/biawebdocument.hpp +++ b/biawebdocument.hpp @@ -8,11 +8,11 @@ #include #include #include -#include #include "biawebutil.hpp" #include "biawebsidebar.hpp" #include "biawebstrings.hpp" #include "biawebnavigationbit.hpp" +#include "biawebtemplate.hpp" // class to represent a biaweb document which can have a file name, title, description, // keywords, content and sidebar items @@ -101,8 +101,8 @@ namespace biaweb { return this->cdate; } - // output the document to HTML using the templates in templatedir - void output_to_html (std::string templatedir, std::string path); + // output the document to HTML using the template specified + void output_to_html (Template *t, std::string path); // set the content portion of document as raw HTML content void set_content (std::string content) { @@ -194,26 +194,20 @@ namespace biaweb { } // output the document using the provided template - void Document::output_to_html (std::string templatedir, std::string path) + void Document::output_to_html (Template *t, std::string path) { - // read the main template file - std::ifstream tpl (templatedir + "/main.tpl.html"); - std::string templstr ( (std::istreambuf_iterator (tpl)), - (std::istreambuf_iterator ()) ); - tpl.close (); + std::string templstr = t->get_main_tpl (); + // read the style template file - std::ifstream style (templatedir + "/style.tpl.css"); - std::string stylesheet ( (std::istreambuf_iterator (style)), - (std::istreambuf_iterator ())); - style.close (); + std::string stylesheet = t->get_style_tpl (); // first render the sidebars std::string sidebartext; for (SideBar bar : sidebars) { - sidebartext += bar.to_html (templatedir); + sidebartext += bar.to_html (t); } // render the navigation bit - std::string navbit_str = this->navbit.to_html (templatedir); + std::string navbit_str = this->navbit.to_html (t); // time of creation and modification struct std::tm c, m;