Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
29ea8d09
Commit
29ea8d09
authored
Jul 08, 2016
by
Rémy Coutable
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove duplication, useless rescue, and avoid using ActionView
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
356b2d2b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
31 deletions
+27
-31
app/uploaders/uploader_helper.rb
app/uploaders/uploader_helper.rb
+16
-13
config/initializers/mime_types.rb
config/initializers/mime_types.rb
+2
-4
lib/banzai/filter/video_link_filter.rb
lib/banzai/filter/video_link_filter.rb
+9
-14
No files found.
app/uploaders/uploader_helper.rb
View file @
29ea8d09
# Extra methods for uploader
module
UploaderHelper
IMAGE_EXT
=
%w(png jpg jpeg gif bmp tiff)
VIDEO_EXT
=
%w(mov mp4 ogg webm flv)
IMAGE_EXT
=
%w[png jpg jpeg gif bmp tiff]
# We recommend using the .mp4 format over .mov. Videos in .mov format can
# still be used but you really need to make sure they are served with the
# proper MIME type video/mp4 and not video/quicktime or your videos won’t play
# on IE ≥ 9.
# http://archive.sublimevideo.info/20150912/docs.sublimevideo.net/troubleshooting.html
VIDEO_EXT
=
%w[mp4 m4v mov webm ogv]
def
image?
extension_match?
(
IMAGE_EXT
)
rescue
false
end
def
video?
extension_match?
(
VIDEO_EXT
)
rescue
false
end
def
image_or_video?
...
...
@@ -20,13 +21,15 @@ module UploaderHelper
end
def
extension_match?
(
extensions
)
if
file
.
respond_to?
(
:extension
)
extensions
.
include?
(
file
.
extension
.
downcase
)
else
# Not all CarrierWave storages respond to :extension
ext
=
file
.
path
.
split
(
'.'
).
last
.
downcase
extensions
.
include?
(
ext
)
end
extension
=
if
file
.
respond_to?
(
:extension
)
file
.
extension
else
# Not all CarrierWave storages respond to :extension
File
.
extname
(
file
.
path
).
delete
(
'.'
)
end
extensions
.
include?
(
extension
.
downcase
)
end
def
file_storage?
...
...
config/initializers/mime_types.rb
View file @
29ea8d09
...
...
@@ -9,8 +9,6 @@ Mime::Type.register_alias "text/plain", :patch
Mime
::
Type
.
register_alias
"text/html"
,
:markdown
Mime
::
Type
.
register_alias
"text/html"
,
:md
Mime
::
Type
.
register
"video/mp4"
,
:mp4
,
[],
[
:m4v
,
:mov
]
Mime
::
Type
.
register
"video/webm"
,
:webm
Mime
::
Type
.
register
"video/ogg"
,
:ogg
Mime
::
Type
.
register
"video/ogg"
,
:ogv
Mime
::
Type
.
register
"video/mp4"
,
:mp4
Mime
::
Type
.
register
"video/mp4"
,
:m4v
Mime
::
Type
.
register
"video/ogg"
,
:ogv
,
[],
[
:ogg
]
lib/banzai/filter/video_link_filter.rb
View file @
29ea8d09
...
...
@@ -7,13 +7,9 @@ module Banzai
include
ActionView
::
Helpers
::
TagHelper
include
ActionView
::
Context
EXTENSIONS
=
%w(.mov .mp4 .ogg .webm .flv)
def
call
doc
.
search
(
'img'
).
each
do
|
el
|
if
video?
(
el
)
el
.
replace
video_node
(
el
)
end
el
.
replace
(
video_tag
(
doc
,
el
))
if
video?
(
el
)
end
doc
...
...
@@ -22,19 +18,18 @@ module Banzai
private
def
video?
(
element
)
EXTENSIONS
.
include?
File
.
extname
(
element
.
attribute
(
'src'
).
value
)
extension
=
File
.
extname
(
element
.
attribute
(
'src'
).
value
).
delete
(
'.'
)
UploaderHelper
::
VIDEO_EXT
.
include?
(
extension
)
end
# Return a video tag Nokogiri node
#
def
video_node
(
element
)
vtag
=
content_tag
(
:video
,
""
,
{
src:
element
.
attribute
(
'src'
).
value
,
class:
'video-js'
,
preload:
'auto'
,
controls:
true
})
Nokogiri
::
HTML
::
DocumentFragment
.
parse
(
vtag
)
def
video_node
(
doc
,
element
)
doc
.
document
.
create_element
(
'video'
,
src:
element
.
attribute
(
'src'
).
value
,
class:
'video-js'
,
controls:
true
)
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment