Nel caso in cui non esista una (migliore) soluzione, inserirò il plug-in molto semplice che farà il trucco - inseriscilo nella tua cartella _plugins/
come file regex_filter.rb
- prende la regex come stringa, come primo arg, e la sostituzione come secondo arg (ad esempio, {{ page.url | replace_regex: '/$', '' }}
:
module Jekyll
module RegexFilter
def replace_regex(input, reg_str, repl_str)
re = Regexp.new reg_str
# This will be returned
input.gsub re, repl_str
end
end
end
Liquid::Template.register_filter(Jekyll::RegexFilter)
Ottimo esempio, molto chiaro ed esattamente quello di cui avevo bisogno. – Aaron
Se stai usando questo per sostituire HTML, assicurati di cambiare 're = Regexp.new reg_str' in' re = Regexp.new reg_str, 4' in modo che corrisponda a più righe. –
@CooperMaruyama non usano mai le costanti magiche se c'è una costante denominata per lo stesso: ['Regexp :: MULTILINE'] (http://ruby-doc.org/core-2.2.0/Regexp.html#constants- list) == ['4'] (http://ruby-doc.org/core-2.2.0/Regexp.html#options-method) – TWiStErRob