From a827f14c383949535f7fa01ddfa5a87c85fac41d Mon Sep 17 00:00:00 2001 From: Fire Demon Date: Sun, 26 Jul 2020 03:54:13 -0500 Subject: [Command Tags] Handle representing code blocks for all content types --- app/lib/command_tag/commands/text_tools.rb | 14 +++++++++----- app/lib/command_tag/processor.rb | 4 ++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/lib/command_tag/commands/text_tools.rb b/app/lib/command_tag/commands/text_tools.rb index acb0a5985..441706265 100644 --- a/app/lib/command_tag/commands/text_tools.rb +++ b/app/lib/command_tag/commands/text_tools.rb @@ -4,10 +4,14 @@ module CommandTag::Commands::TextTools def handle_code_at_start(args) name = args.count > 1 ? args[0] : 'code' - if @status.content_type == 'text/plain' - @vars[name] = ["----------\n#{args.present? ? args.last : nil}\n----------"] - else - @vars[name] = ["
#{args.present? ? args.last : nil}
"] - end + value = args.last.presence || '' + @vars[name] = case @status.content_type + when 'text/markdown' + ["```\n#{value}\n```"] + when 'text/html' + ["
#{html_encode(value).gsub("\n", '
')}
"] + else + ["----------\n#{value}\n----------"] + end end end diff --git a/app/lib/command_tag/processor.rb b/app/lib/command_tag/processor.rb index 9e9812bb6..6e740ba98 100644 --- a/app/lib/command_tag/processor.rb +++ b/app/lib/command_tag/processor.rb @@ -187,6 +187,10 @@ class CommandTag::Processor text end + def html_encode(text) + (@html_entities ||= HTMLEntities.new).encode(text) + end + def var(name) @vars[name].presence || [] end -- cgit