@@ -18,7 +18,7 | |||
|
18 | 18 | |
|
19 | 19 | <p><%= setting_select :protocol, [['HTTP', 'http'], ['HTTPS', 'https']] %></p> |
|
20 | 20 | |
|
21 |
<p><%= setting_select :text_formatting, Redmine::WikiFormatting.format |
|
|
21 | <p><%= setting_select :text_formatting, Redmine::WikiFormatting.formats_for_select, :blank => :label_none %></p> | |
|
22 | 22 | |
|
23 | 23 | <p><%= setting_check_box :cache_formatted_text %></p> |
|
24 | 24 |
@@ -28,9 +28,14 module Redmine | |||
|
28 | 28 | yield self |
|
29 | 29 | end |
|
30 | 30 | |
|
31 | def register(name, formatter, helper) | |
|
32 | raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name.to_s] | |
|
33 | @@formatters[name.to_s] = {:formatter => formatter, :helper => helper} | |
|
31 | def register(name, formatter, helper, options={}) | |
|
32 | name = name.to_s | |
|
33 | raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name] | |
|
34 | @@formatters[name] = { | |
|
35 | :formatter => formatter, | |
|
36 | :helper => helper, | |
|
37 | :label => options[:label] || name.humanize | |
|
38 | } | |
|
34 | 39 | end |
|
35 | 40 | |
|
36 | 41 | def formatter |
@@ -51,6 +56,10 module Redmine | |||
|
51 | 56 | @@formatters.keys.map |
|
52 | 57 | end |
|
53 | 58 | |
|
59 | def formats_for_select | |
|
60 | @@formatters.map {|name, options| [options[:label], name]} | |
|
61 | end | |
|
62 | ||
|
54 | 63 | def to_html(format, text, options = {}) |
|
55 | 64 | text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute]) |
|
56 | 65 | # Text retrieved from the cache store may be frozen |
@@ -30,6 +30,10 class Redmine::WikiFormattingTest < ActiveSupport::TestCase | |||
|
30 | 30 | assert_equal Redmine::WikiFormatting::NullFormatter::Helper, Redmine::WikiFormatting.helper_for('') |
|
31 | 31 | end |
|
32 | 32 | |
|
33 | def test_formats_for_select | |
|
34 | assert_include ['Textile', 'textile'], Redmine::WikiFormatting.formats_for_select | |
|
35 | end | |
|
36 | ||
|
33 | 37 | def test_should_link_urls_and_email_addresses |
|
34 | 38 | raw = <<-DIFF |
|
35 | 39 | This is a sample *text* with a link: http://www.redmine.org |
General Comments 0
You need to be logged in to leave comments.
Login now