2010-01-11 13:38:44 +01:00
|
|
|
require 'redmine'
|
2012-08-02 12:09:00 +02:00
|
|
|
require "#{Rails.root}/plugins/wiki_external_filter/app/helpers/wiki_external_filter_helper"
|
2010-01-11 13:38:44 +01:00
|
|
|
|
2012-08-02 12:09:00 +02:00
|
|
|
Rails.logger.info 'Starting wiki_external_filter plugin for Redmin'
|
2010-01-11 13:38:44 +01:00
|
|
|
|
|
|
|
Redmine::Plugin.register :wiki_external_filter do
|
|
|
|
name 'Wiki External Filter Plugin'
|
|
|
|
author 'Alexander Tsvyashchenko'
|
|
|
|
description 'Processes given text using external command and renders its output'
|
|
|
|
author_url 'http://www.ndl.kiev.ua'
|
2010-03-26 23:58:29 +01:00
|
|
|
version '0.0.2'
|
2012-08-02 12:09:00 +02:00
|
|
|
requires_redmine :version_or_higher => '2.0.0'
|
|
|
|
|
2010-01-11 13:38:44 +01:00
|
|
|
settings :default => {'cache_seconds' => '0'}, :partial => 'wiki_external_filter/settings'
|
|
|
|
|
|
|
|
config = WikiExternalFilterHelper.load_config
|
2012-08-02 12:09:00 +02:00
|
|
|
Rails.logger.debug "Config: #{config.inspect}"
|
2010-01-11 13:38:44 +01:00
|
|
|
|
|
|
|
config.keys.each do |name|
|
2012-08-02 12:09:00 +02:00
|
|
|
Rails.logger.info "Registering #{name} macro with wiki_external_filter"
|
2010-01-11 13:38:44 +01:00
|
|
|
Redmine::WikiFormatting::Macros.register do
|
|
|
|
info = config[name]
|
|
|
|
desc info['description']
|
2012-11-23 07:38:40 +01:00
|
|
|
macro name do |obj, args, text|
|
|
|
|
m = WikiExternalFilterHelper::Macro.new(self, args, text, obj.respond_to?('page') ? obj.page.attachments : nil, name, info)
|
|
|
|
m.render.html_safe
|
2010-01-11 13:38:44 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|