2016-02-06 97 views
0

我是Jekyll的新手,无法按自己的方式进行设置。我有一个站点已经有一个标准的目录结构:css,img和js目录以及索引和页面html文件在同一级别上。到目前为止很正常。jekyll目录结构/将index.html更改为不同的页面

如果我运行jekyll new blog,它会在subdir博客中设置它需要的文件。但是当我到那个目录去改变基本的布局文件并且做jekyll serve时,它没有问题,它找不到对我整个站点有效的css文件 - 因为它不能“看见”目录中的任何东西进一步向上。我尝试了通往CSS的路径,但我似乎无法让它显示出来。我尝试将subdir“blog”上的所有内容都移动到一个级别,以便_layoutsb文件夹等与css和img目录处于同一级别,但是我遇到Jekyll仅构建“index.html”文件的问题 - 我不想那样,我已经有一个索引文件,它是一个.php,而不是.html。

我怎么可以之一: 一)获得杰基尔在子目录运行,但使用的CSS样式,图像等从主css目录

B)得到杰基尔住上。顶级目录,但建立做一些不是“index.html”?

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

回答

0

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

好消息,但:我发现一个解决方法,包括PHP文件! ;)

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

  2. 在你_config.yml,加入这一行:

    keep_files: [php] 
    

这将让该文件夹phpuntouched时杰基尔构建网站。

  1. 像平常那样运行jekyll serve

  2. 当您添加的链接样式表(等环节),不要忘了包含你的PHP文件的文件夹将在同一级别的css文件夹,这样做,在你的index.php

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

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

打开_site文件夹检查您的网站是如何构建的。

不要忘记:你将不会被允许将网站托管在GitHub Pages因为它不提供PHP支持。我建议你在一个功能齐全的主机提供商中托管你的网站。

希望能有所帮助!