diff --git a/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb b/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb index 972c4a6c453..7041c5923f7 100644 --- a/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb +++ b/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb @@ -185,6 +185,13 @@ module ImportScripts::PhpBB3::BBCode end end + def visit_YOUTUBE(xml_node, md_node) + youtube_id = xml_node.attr("content") + md_node.text = "https://www.youtube.com/watch?v=" + youtube_id + md_node.prefix_linebreaks = md_node.postfix_linebreaks = 1 + md_node.skip_children + end + def visit_QUOTE(xml_node, md_node) if post = quoted_post(xml_node) md_node.prefix = %Q{[quote="#{post[:username]}, post:#{post[:post_number]}, topic:#{post[:topic_id]}"]\n} diff --git a/script/import_scripts/phpbb3/support/text_processor.rb b/script/import_scripts/phpbb3/support/text_processor.rb index 0528b7926e4..62547b4f156 100644 --- a/script/import_scripts/phpbb3/support/text_processor.rb +++ b/script/import_scripts/phpbb3/support/text_processor.rb @@ -59,7 +59,7 @@ module ImportScripts::PhpBB3 process_code(text) fix_markdown(text) process_attachments(text, attachments) if attachments.present? - + process_videos(text) text end end @@ -197,5 +197,11 @@ module ImportScripts::PhpBB3 text.gsub!(/^!\[[^\]]*\]\([^\]]*\)$/i) { |img| "\n#{img.strip}\n" } # space out images single on line text end + + def process_videos(text) + # [YOUTUBE][/YOUTUBE] + text.gsub(/\[youtube\](.+?)\[\/youtube\]/i) { "\nhttps://www.youtube.com/watch?v=#{$1}\n" } + text + end end end