diff --git a/packages/blaze/component.js b/packages/blaze/component.js index d0c49cbc53..a7a12d19b1 100644 --- a/packages/blaze/component.js +++ b/packages/blaze/component.js @@ -126,6 +126,8 @@ Blaze.lookup = function (name, component, options) { //return Blaze._bindIfIsFunction(component[name], component); } else if (isTemplate && _.has(Template, name)) { return Template[name]; + } else if (UI._globalHelpers[name]) { + return UI._globalHelpers[name]; } else { var dataVar = Blaze.getCurrentDataVar(); if (dataVar) { diff --git a/packages/showdown/template-integration.js b/packages/showdown/template-integration.js index ff3dd1c1a7..cdede4a784 100644 --- a/packages/showdown/template-integration.js +++ b/packages/showdown/template-integration.js @@ -1,12 +1,18 @@ -if (Package.ui) { - var UI = Package.ui.UI; +if (Package.blaze) { + var Blaze = Package.blaze.Blaze; var HTML = Package.htmljs.HTML; // implied by `ui` - Package.ui.UI.registerHelper('markdown', UI.block(function () { - var self = this; - return function () { - var text = UI.toRawText(self.__content, self /*parentComponent*/); + + Blaze.MarkdownComponent = Blaze.Component.extend({ + constructor: function (dataFunc, contentFunc) { + Blaze.MarkdownComponent.__super__.constructor.call(this); + this.contentFunc = contentFunc; + }, + render: function () { + var text = Blaze.toText(this.contentFunc(), HTML.TEXTMODE.STRING); var converter = new Showdown.converter(); return HTML.Raw(converter.makeHtml(text)); - }; - })); + } + }); + + UI.registerHelper("markdown", Blaze.MarkdownComponent.prototype); } diff --git a/packages/ui/handlebars_backcompat.js b/packages/ui/handlebars_backcompat.js index b089dfd7c3..4e2638dc0f 100644 --- a/packages/ui/handlebars_backcompat.js +++ b/packages/ui/handlebars_backcompat.js @@ -1,13 +1,9 @@ // XXX this file no longer makes sense in isolation. take it apart as // part file reorg on the 'ui' package -var globalHelpers = {}; +UI._globalHelpers = {}; UI.registerHelper = function (name, func) { - globalHelpers[name] = func; -}; - -UI._globalHelper = function (name) { - return globalHelpers[name]; + UI._globalHelpers[name] = func; }; Handlebars = {};