mirror of
/repos/Prototyper.git
synced 2025-12-30 06:31:32 +01:00
added markdown markers and corrected template logic
This commit is contained in:
parent
28284581be
commit
1fdfd6ad2e
57
preview.js
57
preview.js
@ -1,4 +1,5 @@
|
||||
var Handlebars = require('handlebars');
|
||||
var markdown = require('markdown').markdown;
|
||||
var _ = require('underscore');
|
||||
var less = require('less');
|
||||
var when = require('when');
|
||||
@ -74,8 +75,14 @@ module.exports = function (config, mongodataInstance) {
|
||||
style -> <link href="/content/collection/name/attribute.css" media="all" rel="stylesheet" type="text/css">
|
||||
|
||||
|
||||
template_[collection]_[nameX]_[attribute]_context_[collection]_[name]_[attribute]
|
||||
template -> put /content/collection/nameX/attribute thru handlebars.. context=collection/name/attribute and include
|
||||
markdown_[collection]_[nameX]_[attribute]
|
||||
markdown -> parse /content/collection/name/attribute into html and include
|
||||
|
||||
template_[collectionX]_[nameX]_[attributeX]_context_[collectionY]_[nameY]
|
||||
template -> put /content/collectionX/nameX/attributeX thru handlebars.. context=collectionY/nameY/attributeY and include
|
||||
|
||||
remove_.*_end_remove
|
||||
remove_ -> removes markers and everything in between
|
||||
|
||||
[type]_[collection]_[name]
|
||||
script -> <script src="/content/collection/name.js"/>
|
||||
@ -83,7 +90,6 @@ module.exports = function (config, mongodataInstance) {
|
||||
style -> <link href="/content/collection/name.css" media="all" rel="stylesheet" type="text/css">
|
||||
contains all type='style' attributes concatenated based on 'order'
|
||||
*/
|
||||
// replace('script_' + options.collection + '_' + options.name + '_' + options.attribute, function (result, callback) {
|
||||
promises.push(
|
||||
replace('script_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)', function (result, callback) {
|
||||
var context = {
|
||||
@ -96,7 +102,6 @@ module.exports = function (config, mongodataInstance) {
|
||||
);
|
||||
}));
|
||||
|
||||
// replace('style_' + options.collection + '_' + options.name + '_' + options.attribute, function (result, callback) {
|
||||
promises.push(
|
||||
replace('style_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)', function (result, callback) {
|
||||
var context = {
|
||||
@ -110,26 +115,48 @@ module.exports = function (config, mongodataInstance) {
|
||||
}));
|
||||
|
||||
|
||||
// replace('template_' + options.collection + '_' + options.name + '_' + options.attribute + '_context_', function (result, callback) {
|
||||
promises.push(
|
||||
replace('template_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)_context_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)', function (result, callback) {
|
||||
var context = {
|
||||
caller_collection: result[0],
|
||||
caller_name: result[1],
|
||||
caller_attribute: result[2],
|
||||
collection: result[3],
|
||||
name: result[4],
|
||||
attribute: result[5]
|
||||
replace('template_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)_context_([A-Za-z0-9]+)_([A-Za-z0-9]+)',
|
||||
function (result, callback) {
|
||||
var template = {
|
||||
collection: result[0],
|
||||
name: result[1],
|
||||
attribute: result[2]
|
||||
};
|
||||
mongodataInstance.getMongoAttribute(options, function (err, result) {
|
||||
var context = {
|
||||
collection: result[3],
|
||||
name: result[4]
|
||||
};
|
||||
mongodataInstance.getMongoAttribute(template, function (err, result) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
var template = Handlebars.compile(result[options.attribute]);
|
||||
return callback(null, template(context));
|
||||
mongodataInstance.getMongoContent(context, function (err, result) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
return callback(null, template(result));
|
||||
});
|
||||
});
|
||||
}));
|
||||
|
||||
promises.push(
|
||||
replace('markdown_([A-Za-z0-9]+)_([A-Za-z0-9]+)_([A-Za-z0-9]+)', function (result, callback) {
|
||||
var attribute = {
|
||||
collection: result[0],
|
||||
name: result[1],
|
||||
attribute: result[2]
|
||||
};
|
||||
mongodataInstance.getMongoAttribute(attribute, function (err, result) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
var html = markdown.toHTML(result[options.attribute]);
|
||||
return callback(null, html);
|
||||
});
|
||||
}));
|
||||
|
||||
return promises;
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user