added video embedd macro

This commit is contained in:
2023-12-12 01:53:22 +01:00
parent baa32f709f
commit 6f99277ebe

40
init.rb
View File

@@ -26,3 +26,43 @@ Redmine::Plugin.register :baupm_core do
'baupm_enable_webapp' => '1' 'baupm_enable_webapp' => '1'
}, :partial => 'settings/baupm_settings' }, :partial => 'settings/baupm_settings'
end end
Redmine::WikiFormatting::Macros.register do
desc <<-DESCRIPTION
Embed video attachments
{{video(attachment.mp4)}} show video with default size 640x360
{{video(attachment.mp4, width=480, height=320)}} show video with size 480x320
DESCRIPTION
macro :video do |obj, args|
@width = args[1].gsub(/\D/,'') if args[1]
@height = args[2].gsub(/\D/,'') if args[2]
@width ||= 640
@height ||= 360
attachment = obj.attachments.find_by_filename(args[0]) if obj.respond_to?('attachments')
if attachment
file_url = url_for(
:only_path => false,
:controller => 'attachments',
:action => 'download',
:id => attachment,
:filename => attachment.filename
)
out = <<END
<video width="#{@width}" height="#{@height}" playsinline controls class="embedded-video">
<source src="#{file_url}">
Your browser does not support the video tag.
</video>
END
else
file_url = args[0].gsub(/<.*?>/, '').gsub(/&lt;.*&gt;/,'')
out = <<END
<iframe width="#{@width}" height="#{@height}" src="#{file_url}" class="embedded-video"></iframe>
END
end
out.html_safe
end
end