【问题标题】:Is there any jekyll {{ %include% }} alternative?有没有 jekyll {{ %include% }} 替代品?
【发布时间】:2023-04-03 06:33:01
【问题描述】:

我创建了一个网站,每个页面都有相同的页眉和页脚。现在,如果我想更改页眉或页脚中的任何内容,我将更改所有 html 文件。

是否有任何简单的解决方案可以避免此类重复性工作?我正在寻找类似 jekyll 中的 {{ % include header.html % }} 的东西。

【问题讨论】:

    标签: html css jekyll dry web-frontend


    【解决方案1】:

    从您的问题看来,您似乎缺少/不完全理解模板的概念。模板包含 header.html 和 footer.html 的包含。该页面仅包含对模板的引用。这就是 Jekyll 防止将包含添加到每个页面的重复工作的方式。

    理想情况下,页面是一个 (index).md 文件,其前端内容如下:

    ---
    title: Title of the page
    layout: template
    ---
    Lorem ipsum
    

    模板文件名为 template.html,位于文件夹 _layouts 中。它看起来像这样:

    {% include header.html %}
    {{ content }}
    {% include footer.html %}
    

    希望有帮助!

    【讨论】:

      【解决方案2】:

      有这样的方法:

      {% include header.html %}
      

      将 header.html 上传到网站根目录下的 _includes 文件夹。

      【讨论】:

      • 请注意,您也可以将参数传递给所包含的文件。看到这个答案:stackoverflow.com/a/37801163/211672
      • @JoostS 好吧,我知道这一点。我只是想知道是否还有其他方法。在 jekyll 中建造工地对我来说并不方便。
      • @Sandy 为了避免重复更改页眉和页脚,您应该使用答案中提到的 include 方法。这是 Jekyll 中的(唯一)工作方式。
      • 如果我的问题令人困惑,我很抱歉。我的真正意思是,我不想使用 jekyll 或任何其他静态站点生成器。我喜欢老式的 html 页面编码方式。所以,如果我创建一个有 6 个页面的网站,它具有相同的页眉和页脚,如果我需要更改页眉/页脚的内容,因为我必须更改所有 6 个页面,这将非常耗时。所以,我只是想知道是否有任何快速的解决方案。
      • 如果你想用纯 php 做这个,使用:<?php include(header.php); ?>
      猜你喜欢
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多