diff --git a/wiki/app/controllers/wiki_controller.rb b/wiki/app/controllers/wiki_controller.rb index 23d10c869..e47962033 100644 --- a/wiki/app/controllers/wiki_controller.rb +++ b/wiki/app/controllers/wiki_controller.rb @@ -17,7 +17,7 @@ class WikiController < ApplicationController layout 'base' - before_filter :find_wiki, :check_project_privacy + before_filter :find_wiki, :check_project_privacy, :except => [:preview] # display a page (in editing mode if it doesn't exist) def index @@ -88,6 +88,11 @@ class WikiController < ApplicationController end render :action => "special_#{page_title}" end + + def preview + @text = params[:content][:text] + render :partial => 'preview' + end private diff --git a/wiki/app/helpers/application_helper.rb b/wiki/app/helpers/application_helper.rb index 16ade7b9d..46eb12dd4 100644 --- a/wiki/app/helpers/application_helper.rb +++ b/wiki/app/helpers/application_helper.rb @@ -100,10 +100,14 @@ module ApplicationHelper when :anchor wiki_link_format = '"#" + Wiki.titleize($1)' else - wiki_link_format = '"/wiki/#{@project.id}/#{Wiki.titleize($1)}"' + if @project.nil? + wiki_link_format = 'Wiki.titleize($1)' + else + wiki_link_format = '"/wiki/#{@project.id}/#{Wiki.titleize($1)}"' + end end # turn wiki links in textile links: "text":url - text = text.gsub(/\[\[([^\]\|]+)(\|([^\]\|]+))?\]\]/) {|m| "\"#{$3 || $1}\":" + (eval wiki_link_format) } if @project + text = text.gsub(/\[\[([^\]\|]+)(\|([^\]\|]+))?\]\]/) {|m| "\"#{$3 || $1}\":" + (eval wiki_link_format) } text = (Setting.text_formatting == 'textile') && (ActionView::Helpers::TextHelper.method_defined? "textilize") ? auto_link(RedCloth.new(text, [:filter_html]).to_html) : simple_format(auto_link(h(text))) # turn "#id" patterns into links to issues text = text.gsub(/#(\d+)([^;\d])/, "#\\1\\2") diff --git a/wiki/app/views/wiki/_preview.rhtml b/wiki/app/views/wiki/_preview.rhtml new file mode 100644 index 000000000..42f638a7e --- /dev/null +++ b/wiki/app/views/wiki/_preview.rhtml @@ -0,0 +1,3 @@ +
diff --git a/wiki/app/views/wiki/edit.rhtml b/wiki/app/views/wiki/edit.rhtml index f8f2ea041..6dba85adb 100644 --- a/wiki/app/views/wiki/edit.rhtml +++ b/wiki/app/views/wiki/edit.rhtml @@ -4,11 +4,20 @@<%= f.text_area :text, :cols => 100, :rows => 25 %>
+<%= f.text_area :text, :cols => 100, :rows => 25, :style => "width:99%;" %>
<%= f.text_field :comment, :size => 120 %>
<%= submit_tag l(:button_save) %>
+<%= submit_tag l(:button_save) %> + <%= link_to_remote l(:label_preview), + { :url => { :controller => 'wiki', :action => 'preview' }, + :method => 'get', + :update => 'preview', + :with => "Form.serialize('wiki_form')", + :complete => visual_effect(:highlight, 'preview') + } %> +
+ <% end %> <% if Setting.text_formatting == 'textile' %> @@ -23,4 +32,6 @@ if (document.getElementById) { } //]]> -<% end %> \ No newline at end of file +<% end %> + + \ No newline at end of file diff --git a/wiki/lang/de.yml b/wiki/lang/de.yml index 094d736a2..2f47486e7 100644 --- a/wiki/lang/de.yml +++ b/wiki/lang/de.yml @@ -323,6 +323,7 @@ label_result_plural: %d Resultate label_wiki: Wiki label_page_index: Index label_current_version: Gegenwärtige Version +label_preview: Vorbetrachtung button_login: Einloggen button_submit: Einreichen diff --git a/wiki/lang/en.yml b/wiki/lang/en.yml index dabf75e8b..92bfb2878 100644 --- a/wiki/lang/en.yml +++ b/wiki/lang/en.yml @@ -323,6 +323,7 @@ label_result_plural: %d results label_wiki: Wiki label_page_index: Index label_current_version: Current version +label_preview: Preview button_login: Login button_submit: Submit diff --git a/wiki/lang/es.yml b/wiki/lang/es.yml index f471ac66f..1c1251931 100644 --- a/wiki/lang/es.yml +++ b/wiki/lang/es.yml @@ -323,6 +323,7 @@ label_result_plural: %d resultados label_wiki: Wiki label_page_index: Índice label_current_version: Versión actual +label_preview: Previo button_login: Conexión button_submit: Someter diff --git a/wiki/lang/fr.yml b/wiki/lang/fr.yml index 399bd4756..41034be12 100644 --- a/wiki/lang/fr.yml +++ b/wiki/lang/fr.yml @@ -323,6 +323,7 @@ label_result_plural: %d résultats label_wiki: Wiki label_page_index: Index label_current_version: Version actuelle +label_preview: Prévisualisation button_login: Connexion button_submit: Soumettre diff --git a/wiki/lang/ja.yml b/wiki/lang/ja.yml index 734510f5a..c9e69969d 100644 --- a/wiki/lang/ja.yml +++ b/wiki/lang/ja.yml @@ -324,6 +324,7 @@ label_result_plural: %d results label_wiki: Wiki label_page_index: 索引 label_current_version: 最近版 +label_preview: 下検分 button_login: ログイン button_submit: 変更