[英]Multiple Converters/Generators in Jekyll?
我想编写一个Jekyll插件,该插件可以利用Kramdown的LaTeX
导出功能以PDF格式提供所有帖子。 对于Markdown格式的每篇文章,我都希望以正常的.html
文章以及包含LaTeX
标记的.tex
文件以及最后一个.pdf
。
在有关创建插件的文档之后,我看到了使用Converter或Generator来解决该问题的两种方法。
Converter插件似乎在内置Converters之后运行,因此.markdown
文件在到达Converter时已全部转换为.html
。
当我尝试实现一个Generator时,我能够使用fileutils
成功写入一个文件,但是到Jekyll循环结束时,该文件已被删除。 似乎有一个StaticFile
类,可用于在Jekyll中注册新的输出文件,但是我找不到如何使用它的任何实际指导。
如果您在以下代码中查看ThumbGenerator类: https : //github.com/matthewowen/jekyll-slideshow/blob/master/_plugins/jekyll_slideshow.rb,您将看到类似的示例。 这个特定的插件可制作站点中所有图像的缩略图大小版本。 希望它对如何与Jekyll的StaticFile类进行交互提供了有用的指导(尽管我不是Ruby专业人士,所以请原谅任何不良的样式)。
不幸的是,并没有真正的文档-我从阅读源代码中收集到了它。
我是几个月前写的,不特别记得细节(这就是为什么我举一个例子而不是一个通关),但是如果这不能使您走上正确的路,请告诉我,我将尽力救命。
我尝试做同样的事情,但是直接进行html-> pdf转换。 目前,它无法在gitlab-ci管道中运行,尽管如此,它仍可以在我的工作站上运行( 请参阅此处 ),还有第三种可能:钩子!
(此处为pdfkit)
require 'pdfkit'
module Jekyll
Jekyll::Hooks.register :site, :post_write do |post|
post.posts.docs.each do |post|
filename = post.site.dest + post.id + ".pdf"
dirname = File.dirname(filename)
Dir.mkdir(dirname) unless File.exists?(dirname)
kit = PDFKit.new(post.content, :page_size => 'Letter')
kit.stylesheets << './css/bootstrap.min.css'
kit.to_file(filename)
end
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.