projects
/
biaweb2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Readme.md - added Section for customization and notes
[biaweb2.git]
/
biawebdocument.hpp
diff --git
a/biawebdocument.hpp
b/biawebdocument.hpp
index
221bc4f
..
3972107
100644
(file)
--- a/
biawebdocument.hpp
+++ b/
biawebdocument.hpp
@@
-8,10
+8,11
@@
#include <iomanip>
#include <ctime>
#include <fmt/format.h>
#include <iomanip>
#include <ctime>
#include <fmt/format.h>
-#include <fmt/chrono.h>
#include "biawebutil.hpp"
#include "biawebsidebar.hpp"
#include "biawebstrings.hpp"
#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
// class to represent a biaweb document which can have a file name, title, description,
// keywords, content and sidebar items
@@
-24,7
+25,8
@@
namespace biaweb {
std::string meta_desc;
std::string meta_keywords;
std::string content;
std::string meta_desc;
std::string meta_keywords;
std::string content;
- std::list<SideBar> sidebars;
+ std::list<SideBar> sidebars;
+ NavigationBit navbit;
std::time_t cdate;
std::time_t mdate;
bool is_index;
std::time_t cdate;
std::time_t mdate;
bool is_index;
@@
-57,6
+59,11
@@
namespace biaweb {
// fourth line onwards: Markdown contents
Document (std::istream &file) ;
// fourth line onwards: Markdown contents
Document (std::istream &file) ;
+ // set the navigation bit
+ void set_navigation_bit (NavigationBit navbit) {
+ this->navbit = navbit;
+ }
+
// set whether this is the index document
void set_index (bool index = true) {
this->is_index = index;
// set whether this is the index document
void set_index (bool index = true) {
this->is_index = index;
@@
-94,8
+101,8
@@
namespace biaweb {
return this->cdate;
}
return this->cdate;
}
- // output the document to HTML using the template
s 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) {
// set the content portion of document as raw HTML content
void set_content (std::string content) {
@@
-175,10
+182,9
@@
namespace biaweb {
this->mdate = this->cdate;
// read the rest of contents
std::string line;
this->mdate = this->cdate;
// read the rest of contents
std::string line;
- std::getline (infile, line);
while (! infile.eof ()) {
while (! infile.eof ()) {
- contents.append (line + "\n");
std::getline (infile, line);
std::getline (infile, line);
+ contents.append (line + "\n");
}
this->set_markdown_content (contents);
}
}
this->set_markdown_content (contents);
}
@@
-188,24
+194,21
@@
namespace biaweb {
}
// output the document using the provided template
}
// 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<char> (tpl)),
- (std::istreambuf_iterator<char> ()) );
- tpl.close ();
+ std::string templstr = t->get_main_tpl ();
+
// read the style template file
// read the style template file
- std::ifstream style (templatedir + "/style.tpl.css");
- std::string stylesheet ( (std::istreambuf_iterator<char> (style)),
- (std::istreambuf_iterator<char> ()));
- style.close ();
+ std::string stylesheet = t->get_style_tpl ();
// first render the sidebars
std::string sidebartext;
for (SideBar bar : sidebars) {
// first render the sidebars
std::string sidebartext;
for (SideBar bar : sidebars) {
- sidebartext += bar.to_html (t
emplatedir
);
+ sidebartext += bar.to_html (t);
}
}
+ // render the navigation bit
+ std::string navbit_str = this->navbit.to_html (t);
+
// time of creation and modification
struct std::tm c, m;
c = *std::localtime (&this->cdate);
// time of creation and modification
struct std::tm c, m;
c = *std::localtime (&this->cdate);
@@
-219,6
+222,7
@@
namespace biaweb {
fmt::arg ("description", this->meta_desc),
fmt::arg ("cdate", c),
fmt::arg ("mdate", m),
fmt::arg ("description", this->meta_desc),
fmt::arg ("cdate", c),
fmt::arg ("mdate", m),
+ fmt::arg ("navbit", navbit_str),
fmt::arg ("contents", this->content),
fmt::arg ("sidebar", sidebartext)
);
fmt::arg ("contents", this->content),
fmt::arg ("sidebar", sidebartext)
);