jekyll目录结构/将index.html更改为不同的页面

时间:2016-02-06 02:18:27

标签: jekyll

我是Jekyll的新手,无法按照我想要的方式进行设置。我有一个已经具有标准目录结构的站点:css,img和js目录以及同一级别的索引和页面html文件。到目前为止很正常。

如果我运行jekyll new blog,它会在子目录博客中设置所需的文件。但是当我进入该目录更改基本布局文件并执行jekyll serve时,它构建正常,它无法找到对我的整个网站有效的css文件 - 因为它可以' t"见"目录中的任何内容都在进一我已经尝试搞乱css的路径,但我似乎无法让它显示出来。我尝试从子目录"博客"上升一级,以便_layoutsb文件夹等与css和img目录处于同一级别,但后来我遇到了Jekyll构建" index.html"仅限文件 - 我不想要,我已经有一个索引文件,而且它是.php,而不是.html。

我怎么能: a。)让Jekyll在子目录中运行但是使用来自主css目录的css样式,图像等

b。)让jekyll生活在顶级目录上但是构建做一些不是" index.html" ??

感谢您的帮助。我一直在构建,删除和调整,并且没有任何进展。

1 个答案:

答案 0 :(得分:0)

好吧,Jekyll is a static website generator并且不支持php。但是您可以使用Liquid Templating Language执行几乎所有操作,例如includes,您可以使用大量函数,过滤器和其他features来允许您动态编写和发布静态页面。

好消息,但是:我找到了一个包含php文件的解决方法! ;)

  1. 在网站root中创建一个文件夹。假设它的名字是php(没有下划线)。根据需要添加尽可能多的php文件。我们假设您在index.php目录中添加了php

  2. 在你_config.yml中,添加以下行:

    keep_files: [php]
    
  3. 当Jekyll构建网站时,这将允许文件夹php untouched

    1. 像往常一样运行jekyll serve

    2. 当您将链接添加到样式表(和其他链接)时,不要忘记包含您的php文件的文件夹将与您的css文件夹处于同一级别,因此请在{{1 }}:

      index.php
    3. 要查看php文件生效,您需要在<link rel="stylesheet" href="../css/main.css"> 根目录中构建网站。例如,如果您使用Xampp,则它将位于localhost内。要查看文件,您需要打开htdocs并输入浏览器:Apache - 其中http://localhost/test/_site/php/是项目根文件夹 - 您将看到{{1}它应该工作。其他文件将通过testindex.php提供。

    4. 仅将_site内容上传到您的网络服务器,除非您的服务器自动构建Jekyll。

    5. 打开localhost:4000文件夹,查看您的网站是如何构建的。

      不要忘记:您不会被允许在GitHub Pages 上托管您的网站,因为它不支持php。我建议您在功能齐全的托管服务提供商中托管您的网站。

      希望有所帮助!