Я пишу расширение для Redcarpet для веб-сайта на базе Jekyll. Я хочу использовать {x|y}
в качестве тега в уценке, который оценивается как HTML-тег <ruby>
(и его ассоциированные элементы). Я написал этот класс в соответствии с руководством Jekyll, руководство Redcarpet и это руководство о том, как это сделать:
class Jekyll::Converters::Markdown::HotelDown < Redcarpet::Render::HTML
def preprocess(doc)
s = "<ruby><rb>\\1</rb><rp>(</rp><rt>\\2</rt><rp>)</rp></ruby>"
doc.gsub!(/\[([\s\S]+)\|([\s\S]+)\]/, s)
doc
end
end
Но, похоже, я получаю пару ошибок при запуске bundle exec jekyll serve
:
Configuration file: C:/Users/Alex/OneDrive/codes/hotelc.me/hotelc.me/_config.yml
plugin_manager.rb:58:in `require': HotelDown.rb:4: syntax error, unexpected tIDENTIFIER, expecting ')' (SyntaxError)
doc.gs-ub!(/\[([\-s\S]+)\|([-\s\S]+)\]/-, s)
^
HotelDown.rb:4: syntax error, unexpected ')', expecting '='
doc.gs-ub!(/\[([\-s\S]+)\|([-\s\S]+)\]/-, s)
^
Кажется, что-то не так с моим синтаксисом (лишний пробел, пропущенные скобки или что-то в этом роде). Есть что-то, что я пропустил?