Refactor private method `HighlightBlock#parse_options` (#6822)

Merge pull request 6822
This commit is contained in:
ashmaroli 2018-04-17 00:41:28 +05:30 committed by jekyllbot
parent 822d020086
commit cd513da07e
1 changed files with 14 additions and 13 deletions

View File

@ -65,23 +65,24 @@ MSG
private
OPTIONS_REGEX = %r!(?:\w="[^"]*"|\w=\w|\w)+!
def parse_options(input)
options = {}
unless input.empty?
return options if input.empty?
# Split along 3 possible forms -- key="<quoted list>", key=value, or key
input.scan(%r!(?:\w="[^"]*"|\w=\w|\w)+!) do |opt|
input.scan(OPTIONS_REGEX) do |opt|
key, value = opt.split("=")
# If a quoted list, convert to array
if value && value.include?("\"")
if value && value.include?('"')
value.delete!('"')
value = value.split
end
options[key.to_sym] = value || true
end
end
if options.key?(:linenos) && options[:linenos] == true
options[:linenos] = "inline"
end
options[:linenos] = "inline" if options[:linenos] == true
options
end