mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 07:11:34 +08:00
DEV: Expand UploadMarkdown generation capabilities (#15930)
The chat quoting mechanism will need to be able to generate markdown for all kinds of uploads. The UploadMarkdown class was missing generation for video and audio uploads. This commit adds that in, and also expands the server-side regex recognition of FileHelper types to match those in uploads.js, and adds a spec for UploadMarkdown
This commit is contained in:
@ -17,6 +17,14 @@ class FileHelper
|
||||
filename.match?(supported_images_regexp)
|
||||
end
|
||||
|
||||
def self.is_supported_video?(filename)
|
||||
filename.match?(supported_video_regexp)
|
||||
end
|
||||
|
||||
def self.is_supported_audio?(filename)
|
||||
filename.match?(supported_audio_regexp)
|
||||
end
|
||||
|
||||
def self.is_inline_image?(filename)
|
||||
filename.match?(inline_images_regexp)
|
||||
end
|
||||
@ -25,6 +33,10 @@ class FileHelper
|
||||
filename.match?(supported_media_regexp)
|
||||
end
|
||||
|
||||
def self.is_supported_playable_media?(filename)
|
||||
filename.match?(supported_playable_media_regexp)
|
||||
end
|
||||
|
||||
class FakeIO
|
||||
attr_accessor :status
|
||||
end
|
||||
@ -151,11 +163,19 @@ class FileHelper
|
||||
end
|
||||
|
||||
def self.supported_audio
|
||||
@@supported_audio ||= Set.new %w{mp3 ogg wav m4a}
|
||||
@@supported_audio ||= Set.new %w{mp3 ogg oga opus wav m4a m4b m4p m4r aac flac}
|
||||
end
|
||||
|
||||
def self.supported_video
|
||||
@@supported_video ||= Set.new %w{mov mp4 webm ogv}
|
||||
@@supported_video ||= Set.new %w{mov mp4 webm ogv m4v 3gp avi mpeg}
|
||||
end
|
||||
|
||||
def self.supported_video_regexp
|
||||
@@supported_video_regexp ||= /\.(#{supported_video.to_a.join("|")})$/i
|
||||
end
|
||||
|
||||
def self.supported_audio_regexp
|
||||
@@supported_audio_regexp ||= /\.(#{supported_audio.to_a.join("|")})$/i
|
||||
end
|
||||
|
||||
def self.supported_images_regexp
|
||||
@ -173,4 +193,12 @@ class FileHelper
|
||||
/\.(#{media.to_a.join("|")})$/i
|
||||
end
|
||||
end
|
||||
|
||||
def self.supported_playable_media_regexp
|
||||
@@supported_playable_media_regexp ||=
|
||||
begin
|
||||
media = supported_audio | supported_video
|
||||
/\.(#{media.to_a.join("|")})$/i
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user