从阅读文档哲基尔的模板数据,人们可能认为的方式来访问未呈现的内容将是page.content
; 但据我所知,这是提供为已经由降价分析器提供的帖子内容。
我需要直接访问原始(原降价)内容的解决方案,而不是简单地试图将HTML转换回降价。
背景上使用的情况下,
我使用情况如下:我用的是pandoc插件来呈现降价对我的杰奇的网站,使用“mathjax”选项来获得相当方程。 然而,mathjax需要JavaScript,因此这些不RSS feed中,我通过遍历生成显示page.content
像这样:
{% for post in site.posts %}
<entry>
<title>{{ post.title }}</title>
<link href="{{ site.production_url }}{{ post.url }}"/>
<updated>{{ post.date | date_to_xmlschema }}</updated>
<id>{{ site.production_url }}{{ post.id }}</id>
<content type="html">{{ post.content | xml_escape }}</content>
</entry>
{% endfor %}
由于xml_escape
过滤意味着, post.content
出现在这里的HTML。 如果我能得到的原始内容(想象post.contentraw
或存在等),那么我可以轻松地添加解析RSS提要,例如,当将使用pandoc与“webtex”选项来生成图像式过滤器:
require 'pandoc-ruby'
module TextFilter
def webtex(input)
PandocRuby.new(input, "webtex").to_html
end
end
Liquid::Template.register_filter(TextFilter)
但我得到的内容与HTML + mathjax代替原料降价已经呈现的方程,我卡住了。 转换回降价没有帮助,因为它不转换mathjax(简单garbles它)。
有什么建议? 肯定有一个方法来调用原始降价呢?
下面是我认为你将有麻烦: https://github.com/mojombo/jekyll/blob/master/lib/jekyll/convertible.rb https://github.com/mojombo/jekyll/blob/master/ LIB /化身/ site.rb
从我的阅读,对于特定职位/页self.content被替换通过降价和液体convertible.rb运行self.content,在79线的结果:
self.content = Liquid::Template.parse(self.content).render(payload, info)
文章页面,在37-44行和site.rb 197-211见过呈现:
def process
self.reset
self.read
self.generate
self.render
self.cleanup
self.write
end
... ...
def render
payload = site_payload
self.posts.each do |post|
post.render(self.layouts, payload)
end
self.pages.each do |page|
page.render(self.layouts, payload)
end
self.categories.values.map { |ps| ps.sort! { |a, b| b <=> a } }
self.tags.values.map { |ps| ps.sort! { |a, b| b <=> a } }
rescue Errno::ENOENT => e
# ignore missing layout dir
end
通过你去渲染这个页面的时候,self.content已经被渲染到HTML - 所以它不是阻止它渲染的情况下。 已经完成了。
然而,发电机( https://github.com/mojombo/jekyll/wiki/Plugins )渲染阶段之前运行,所以,据我可以从阅读源告诉,你应该能够很平凡写发生器将重复self.content到一些属性(如self.raw_content)以后可以访问在你的模板原材料降价{{page.raw_content}}。
我结束了我的重命名.md
文件.html
,使他们不要被降价渲染器渲染的。
文章来源: How can I access un-rendered (markdown) content in Jekyll with liquid tags?