in src/_plugins/code_excerpt_processor.rb [125:155]
def process_pi_args(pi)
match = /<\?code-\w+\s*(.*?)\s*\?>/.match(pi)
unless match
log_puts "ERROR: improperly formatted instruction: #{pi}"
return nil
end
arg_string = match[1]
args = { }
match = /^"(([^("]*)(\s+\(([^"]+)\))?)"/.match(arg_string)
if match
arg_string = $' # reset to remaining args
args[''] = match[1]
path = args['path'] = match[2]
args['ext'] = File.extname(path)&.sub(/^\./,'')
args['region'] = match[4]&.gsub(/[^\w]+/, '-') || ''
end
# Process remaining args
arg_string.scan(/\b(\w[-\w]*)(="([^"]*)")?/) { |id,arg,val|
if id == 'title' && !arg then val = trim_file_vers(args['']) end
args[id] = val || ''
}
# puts " >> args: #{args}"
args
end