feat(messages): render markdown in message body
uses redcarpet gem to render markdown to html. Also a html email template is added.
This commit is contained in:
parent
fb8ccfea4a
commit
f7302bc8fc
5 changed files with 29 additions and 3 deletions
|
|
@ -132,9 +132,15 @@ class Message < ApplicationRecord
|
|||
user.role_admin?
|
||||
end
|
||||
|
||||
def render_markdown
|
||||
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, tables: true, strikethrough: true, footnotes: true)
|
||||
return markdown.render(body)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_salt
|
||||
self.salt = [Array.new(6) { rand(256).chr }.join].pack("m").chomp
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
- if @message.can_toggle_private?(current_user)
|
||||
= link_to t('.change_visibility'), toggle_private_message_path(@message), method: :post, class: 'btn btn-mini'
|
||||
%hr/
|
||||
%p= simple_format(h(@message.body))
|
||||
= raw @message.render_markdown
|
||||
%hr/
|
||||
%p
|
||||
= link_to t('.reply'), new_message_path(:message => {:reply_to => @message.id}), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
= raw @message.render_markdown
|
||||
%hr/
|
||||
%pre
|
||||
- if @message.group
|
||||
= raw t '.footer_group', group: @message.group.name
|
||||
= raw t '.footer', reply_url: new_message_url('message[reply_to]' => @message.id), msg_url: message_url(@message), profile_url: my_profile_url
|
||||
Loading…
Add table
Add a link
Reference in a new issue