我正在Jekyll中开发一个插件,该插件将插入名为的新Liquid Tag(块标签)latex
。目的是通过以下方式在发布源文件中插入LaTeX源代码块:
... post file contents ...
{% latex density=300 usepackages=pstricks-all, %}
\pspicture(5,5)
\psframe(0,0)(5,5) \psline(0,0)(5,5) \psline(0,5)(5,0)
\endpspicture
{% endlatex %}
... post file contents ...
Run Code Online (Sandbox Code Playgroud)
输出后将包含一个<img>
标签而不是液体标签块编译一次并将胶乳源将通过链式执行编译latex
,dvips
,convert
。因此,它将取决于外部程序(TexLive和ImageMagick)。
到目前为止,我还没有发现与解释有关的任何问题。我可以将LaTeX块放入一个临时文件中,最后将其编译为PNG。渲染的文件必须放在帖子的同一文件夹中。
但是就在那里,我被困住了:我想将生成的PNG图像放到destination
输出文件夹中的该文件夹中。定义站点配置变量以定义文件夹(实际上,我确实做到了),也没有在其中放置文件没有问题。问题很简单:我可以写该source
文件夹,但是生成的文件不会复制到该destination
文件夹。
我知道原因:Jekyll首先生成,然后渲染。复制过程发生在渲染部件之前,因此不会复制生成的文件。
我找到了这样的条目:“ 如何从Jekyll中的Liquid块生成文件? ”,但是答案并不正确:您必须对要复制的文件进行两次遍历构建。
还发现“ 使用Jekyll插件在_site内生成文件 ”,但这不适用,因为我不想通过模板呈现文档。
我一直在计划的解决方案是:
Site
为最终的放置过程实现广泛的方法,例如:
class Site
def generate_latex_adds
// Code that copies the generated files to destination folders …
Run Code Online (Sandbox Code Playgroud)