Optimization Jekyll菜单的构建时间很长

Optimization Jekyll菜单的构建时间很长,optimization,build,menu,jekyll,Optimization,Build,Menu,Jekyll,我目前在Jekyll中有一个导航菜单,除了。。。它的伸缩性不太好。 我有大约250篇帖子,创建我的网站需要45秒,其中35篇只用于导航菜单 导航菜单本身是基本的,列出所有帖子,按月分组,按月分组。 但是每次我创建一个新的帖子时,这都会用于所有的帖子,如果我使用增量构建,每个帖子将只有一个导航菜单,指向以前的帖子,而不是之后创建的新帖子 因此,我的问题如下: 我是否可以在构建站点时捕获菜单,从而只创建一次菜单并在模板中使用捕获的变量 或 我可以创建一个包含在模板中的html文件,只要更新该文

我目前在Jekyll中有一个导航菜单,除了。。。它的伸缩性不太好。 我有大约250篇帖子,创建我的网站需要45秒,其中35篇只用于导航菜单

导航菜单本身是基本的,列出所有帖子,按月分组,按月分组。 但是每次我创建一个新的帖子时,这都会用于所有的帖子,如果我使用增量构建,每个帖子将只有一个导航菜单,指向以前的帖子,而不是之后创建的新帖子

因此,我的问题如下:

  • 我是否可以在构建站点时捕获菜单,从而只创建一次菜单并在模板中使用捕获的变量

  • 我可以创建一个包含在模板中的html文件,只要更新该文件就会更新我以前的帖子的导航菜单吗
我当前创建菜单的代码是:

{% assign curYear= site.time | date: '%Y' %}
{% assign curMonth= site.time | date: '%-m' | minus: 1 %}
{% assign months = "Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre" | split: "|" %}
<div class="l1">{{ curYear }}</div>
<div class="l2">{{ months[curMonth] }}</div>
{% for cpage in site.posts %}
{% assign postYear = cpage.date | date: "%Y" %}
{% assign postMonth = cpage.date | date: "%-m" | minus: 1 %}
{% if postYear != curYear %}
{% assign curYear= postYear %}
<div class="l1">{{ curYear }}</div>
{% endif %}
{% if postMonth != curMonth %}
{% assign curMonth= postMonth %}
<div class="l2">{{ months[curMonth] }}</div>
{% endif %}
{% if cpage.url == page.url %}
{% assign active= "class='active'" %}
{% else %}
{% assign active= "" %}
{% endif %}
<div class="l3">
<a href="{{ cpage.url | prepend: site.baseurl }}" {{active}} >{{ cpage.title }}</a>
</div>
{% endfor %}
感谢您的帮助


感谢您阅读:)

关于我在哪里可以找到更好的方式来格式化我的问题,或者为其提供更好的内容,以便我可以编辑/删除此问题的任何提示?JRS,我假设您已经使用Jekyll跟踪了您的性能问题。你能不能更新你的帖子,这样我们就可以看到这条线索的真实外观了。另外,您能告诉我们您是如何生成菜单的吗。我的博客里也有那么多的帖子,只需要2秒钟左右。请出示一些代码:)谢谢Christian提出的这个非常有建设性的想法!我编辑了原始帖子,加入了一些代码和构建的前两行:)除了构建时间之外,我没有看到任何异常:-(“计数”不是特别高,我的导航使用了759次。当然,你的导航非常大,所以…你能试着对循环中的所有内容进行注释吗?我很想知道这段代码是否真的增加了构建时间,或者是其他原因。删除循环中的所有内容会将构建时间减少到7秒。是有一种方法(从一行一行删除到另一行)可以知道什么指令需要时间吗?有一种想法是生成一次导航,并将其包含在每一篇博文中,而不进行计算,有没有办法做到这一点?
    Filename                                            | Count |     Bytes |   Time
    ----------------------------------------------------+-------+-----------+-------
    _layouts/blog.html                                  |   183 | 39809.20K | 38.175
    _includes/menu-left-blog.html                       |   183 | 37879.87K | 37.902