我使用写入数据文件的Markdown在HAML模板中使用Middleman静态页面生成器呈现HTML。
我的数据文件data/faq.yaml
如下所示:
dog:
question: I want to know more about a dog.
answerA: (HTML in data) Just <a href="https://google.com">Google</a> it!
answerB: (Markdown link in data) Just [Google](https://google.com) it!
要将此降价转换为HTML,我使用的是config.rb
:
helpers do
def markdown(text)
Tilt['markdown'].new { text }.render
end
end
然后我在我的HAML模板中使用,如下所示:
= markdown(data.faq.dog.answerA)
在我尝试渲染数据文件中写下的markdown链接之前,一切正常。
以下是我的faq.haml
模板:
answerA
answerB
faq.haml
:
.answer
:markdown
(HAML) Just [Google](https://google.com) it!
= markdown(data.faq.dog.answerA)
= markdown(data.faq.dog.answerB)
前2个链接正常呈现,但answerB
中的降价链接会引发以下错误:
undefined method `link_to' for #<Object:0x000000044f9e18>
回溯:
/home/myself/.rvm/gems/ruby-2.4.0/gems/middleman-core-4.2.1/lib/middleman-core/renderers/kramdown.rb: in convert_a
48. scope.link_to(content, link, attr)
为什么Kramdown在通过引用数据文件的自定义助手“询问”时无法转换降价链接,但在HAML中直接使用相同的语法时是否正确?可以做些什么,以便= markdown(data.faq.dog.answerB)
中的降价链接正确呈现?
聚苯乙烯。我的最终目标是引用已在单独的data
文件中定义的链接,但我认为首先解决此问题对于实现该目标是必要的。
答案 0 :(得分:0)