/*****************************************
* Master Controller
*****************************************
* Author: mikael.lofjard@gmail.com
* Website: http://lofjard.se
* License: MIT License
****************************************/
var
MasterController = (
function
() {
marked = require(
'./forked/marked'
);
// Server Side Syntax Highlighting
sh = require(
'./forked/sssh/shCore'
).SyntaxHighlighter;
bashBrush = require(
'./forked/sssh/shBrushBash'
).Brush;
csharpBrush = require(
'./forked/sssh/shBrushCSharp'
cssBrush = require(
'./forked/sssh/shBrushCss'
jsBrush = require(
'./forked/sssh/shBrushJScript'
xmlBrush = require(
'./forked/sssh/shBrushXml'
// end SSSH
blogPostController = require(
'./controllers/blogPostController'
).BlogPostController;
listController = require(
'./controllers/listController'
).ListController;
aboutController = require(
'./controllers/aboutController'
).AboutController;
adminController = require(
'./controllers/adminController'
).AdminController;
bundleController = require(
'./controllers/bundleController'
).BundleController;
feedController = require(
'./controllers/feedController'
).FeedController;
sourceController = require(
'./controllers/sourceController'
).SourceController;
searchController = require(
'./controllers/searchController'
).SearchController;
return
{
init:
(db, options) {
marked.setOptions({
gfm:
true
,
pedantic:
false
sanitize:
highlight:
(code, lang) {
wrappedCode =
''
;
if
(lang ===
'htmljs'
) {
'<pre class="brush:js;toolbar:false;html-script:true">'
+ code +
'</pre>'
}
else
'<pre class="brush:'
+ lang +
';toolbar:false">'
sh.highlight(wrappedCode);
},
wrapCodeBlock:
});
adminController.init(db, options.uploadPath);
aboutController.init(db);
blogPostController.init(db);
listController.init(db);
feedController.init(db);
sourceController.init(db);
searchController.init(db);
bundleController.init(options.bundleConfig);
about: aboutController.index,
getPost: blogPostController.getPost,
comment: blogPostController.comment,
page: listController.page,
archive: listController.archive,
tags: listController.tags,
tag: listController.tag,
admin: adminController.index,
upload: adminController.upload,
getPostAsJson: adminController.getPostAsJson,
submitPost: adminController.submitPost,
atomFeed: feedController.atom,
searchIndex: searchController.index,
search: searchController.list,
source: sourceController.index,
sourceDir: sourceController.dir,
sourceFile: sourceController.file
};
}());
typeof
(exports) !=
'undefined'
? exports.MasterController = MasterController :
null
/*****************************************
* Master Controller
*****************************************
* Author: mikael.lofjard@gmail.com
* Website: http://lofjard.se
* License: MIT License
****************************************/
var
MasterController = (
function
() {
var
marked = require(
'./forked/marked'
);
// Server Side Syntax Highlighting
var
sh = require(
'./forked/sssh/shCore'
).SyntaxHighlighter;
var
bashBrush = require(
'./forked/sssh/shBrushBash'
).Brush;
var
csharpBrush = require(
'./forked/sssh/shBrushCSharp'
).Brush;
var
cssBrush = require(
'./forked/sssh/shBrushCss'
).Brush;
var
jsBrush = require(
'./forked/sssh/shBrushJScript'
).Brush;
var
xmlBrush = require(
'./forked/sssh/shBrushXml'
).Brush;
// end SSSH
var
blogPostController = require(
'./controllers/blogPostController'
).BlogPostController;
var
listController = require(
'./controllers/listController'
).ListController;
var
aboutController = require(
'./controllers/aboutController'
).AboutController;
var
adminController = require(
'./controllers/adminController'
).AdminController;
var
bundleController = require(
'./controllers/bundleController'
).BundleController;
var
feedController = require(
'./controllers/feedController'
).FeedController;
var
sourceController = require(
'./controllers/sourceController'
).SourceController;
var
searchController = require(
'./controllers/searchController'
).SearchController;
return
{
init:
function
(db, options) {
marked.setOptions({
gfm:
true
,
pedantic:
false
,
sanitize:
false
,
highlight:
function
(code, lang) {
var
wrappedCode =
''
;
if
(lang ===
'htmljs'
) {
wrappedCode =
'<pre class="brush:js;toolbar:false;html-script:true">'
+ code +
'</pre>'
;
}
else
{
wrappedCode =
'<pre class="brush:'
+ lang +
';toolbar:false">'
+ code +
'</pre>'
;
}
return
sh.highlight(wrappedCode);
},
wrapCodeBlock:
false
});
adminController.init(db, options.uploadPath);
aboutController.init(db);
blogPostController.init(db);
listController.init(db);
feedController.init(db);
sourceController.init(db);
searchController.init(db);
bundleController.init(options.bundleConfig);
},
about: aboutController.index,
getPost: blogPostController.getPost,
comment: blogPostController.comment,
page: listController.page,
archive: listController.archive,
tags: listController.tags,
tag: listController.tag,
admin: adminController.index,
upload: adminController.upload,
getPostAsJson: adminController.getPostAsJson,
submitPost: adminController.submitPost,
atomFeed: feedController.atom,
searchIndex: searchController.index,
search: searchController.list,
source: sourceController.index,
sourceDir: sourceController.dir,
sourceFile: sourceController.file
};
}());
typeof
(exports) !=
'undefined'
? exports.MasterController = MasterController :
null
;