小编Fèl*_*lué的帖子

将生成的文件从Jekyll插件复制到站点资源文件夹

我正在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>标签而不是液体标签块编译一次并将胶乳源将通过链式执行编译latexdvipsconvert。因此,它将取决于外部程序(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)

ruby tags plugins liquid jekyll

0
推荐指数
1
解决办法
1034
查看次数

标签 统计

jekyll ×1

liquid ×1

plugins ×1

ruby ×1

tags ×1