diff --git a/lib/discourse_plugin_registry.rb b/lib/discourse_plugin_registry.rb index 8e4a12eda04..568c48932d0 100644 --- a/lib/discourse_plugin_registry.rb +++ b/lib/discourse_plugin_registry.rb @@ -63,6 +63,11 @@ class DiscoursePluginRegistry def html_builders @html_builders ||= {} end + + def vendored_pretty_text + @vendored_pretty_text ||= Set.new + end + end def register_js(filename, options={}) @@ -107,6 +112,8 @@ class DiscoursePluginRegistry if asset =~ JS_REGEX if opts == :admin self.admin_javascripts << asset + elsif opts == :vendored_pretty_text + self.vendored_pretty_text << asset else self.javascripts << asset end @@ -120,7 +127,6 @@ class DiscoursePluginRegistry else self.stylesheets << asset end - elsif asset =~ HANDLEBARS_REGEX self.handlebars << asset end @@ -181,6 +187,7 @@ class DiscoursePluginRegistry serialized_current_user_fields asset_globs.clear html_builders.clear + vendored_pretty_text.clear end def self.setup(plugin_class) diff --git a/lib/pretty_text.rb b/lib/pretty_text.rb index 036a50d6bd1..d9000e102f8 100644 --- a/lib/pretty_text.rb +++ b/lib/pretty_text.rb @@ -94,6 +94,10 @@ module PrettyText end end + DiscoursePluginRegistry.vendored_pretty_text.each do |vpt| + ctx.eval(File.read(vpt)) + end + ctx end