jekyll 目录结构 / 改变 index.html 到不同的页面
jekyll directory structure / changing index.html to different page
我是 Jekyll 的新手,无法按照我想要的方式进行设置。我有一个已经具有标准目录结构的站点:css、img 和 js 目录以及索引和页面 html 文件在同一级别。到目前为止一切正常。
如果我 运行 jekyll new blog
,它会在子目录博客中设置它需要的文件。但是当我去那个目录更改基本布局文件并执行 jekyll serve
时,它构建良好,它找不到对我的整个站点有效的 css 文件 - 因为它不能' t "see" 上层目录中的任何内容。我试过弄乱 css 的路径,但我似乎无法让它显示出来。我尝试将子目录 "blog" 中的所有内容向上移动一级,以便 _layoutsb 文件夹等与 css 和 img 目录处于同一级别,但后来我遇到了问题,即 Jekyll 构建了一个 "index.html" 仅文件 - 我不想要那个,我已经有一个索引文件,它是一个 .php,而不是 .html.
我怎样才能:
a.) 在子目录中获取 Jekyll 运行ning 但使用主 css 目录中的 css 样式、图像等
或
b.) 让 jekyll 住在顶层目录,但构建做一些不是 "index.html"??
感谢您的帮助。我一直在构建、删除和调整,但毫无进展。
好吧,Jekyll is a static website generator and does not support php. But you can do almost everything with Liquid Templating Language, like includes
and you can use tons of functions, filters and other features 允许您动态编写和发布静态页面。
好消息,但是:我找到了一个包含 php 文件的解决方法! ;)
在站点中创建文件夹 root
。假设它的名字是 php
(没有下划线)。添加任意数量的 php 文件。假设您在 php
目录中包含了一个 index.php
。
在你_config.yml
中加入这行:
keep_files: [php]
这将在 Jekyll 构建站点时让文件夹 php
untouched。
运行 jekyll serve
和平时一样。
当您将 link 添加到样式表(和其他 link 时),请不要忘记包含您的 php 文件的文件夹将与您的 css 文件夹处于同一级别,所以在您的 index.php
:
中执行此操作
<link rel="stylesheet" href="../css/main.css">
要使 php 文件生效,您需要在 localhost
根目录中构建站点。例如,如果您使用 Xampp,它将位于 htdocs
的内部。要查看文件,您需要打开 Apache
并在浏览器中键入:http://localhost/test/_site/php/
- 其中 test
是项目根文件夹 - 您将看到 index.php
正常工作。其他文件将通过 _site
和 localhost:4000
.
提供
仅将 _site
内容上传到您的 Web 服务器,除非您的服务器自动构建 Jekyll。
打开 _site
文件夹以检查您的网站是如何构建的。
不要忘记:您不能在 GitHub Pages 上托管您的网站,因为它不提供对 php 的支持。我建议您在功能齐全的托管服务提供商处托管您的网站。
希望对您有所帮助!
我是 Jekyll 的新手,无法按照我想要的方式进行设置。我有一个已经具有标准目录结构的站点:css、img 和 js 目录以及索引和页面 html 文件在同一级别。到目前为止一切正常。
如果我 运行 jekyll new blog
,它会在子目录博客中设置它需要的文件。但是当我去那个目录更改基本布局文件并执行 jekyll serve
时,它构建良好,它找不到对我的整个站点有效的 css 文件 - 因为它不能' t "see" 上层目录中的任何内容。我试过弄乱 css 的路径,但我似乎无法让它显示出来。我尝试将子目录 "blog" 中的所有内容向上移动一级,以便 _layoutsb 文件夹等与 css 和 img 目录处于同一级别,但后来我遇到了问题,即 Jekyll 构建了一个 "index.html" 仅文件 - 我不想要那个,我已经有一个索引文件,它是一个 .php,而不是 .html.
我怎样才能: a.) 在子目录中获取 Jekyll 运行ning 但使用主 css 目录中的 css 样式、图像等
或
b.) 让 jekyll 住在顶层目录,但构建做一些不是 "index.html"??
感谢您的帮助。我一直在构建、删除和调整,但毫无进展。
好吧,Jekyll is a static website generator and does not support php. But you can do almost everything with Liquid Templating Language, like includes
and you can use tons of functions, filters and other features 允许您动态编写和发布静态页面。
好消息,但是:我找到了一个包含 php 文件的解决方法! ;)
在站点中创建文件夹
root
。假设它的名字是php
(没有下划线)。添加任意数量的 php 文件。假设您在php
目录中包含了一个index.php
。在你
_config.yml
中加入这行:keep_files: [php]
这将在 Jekyll 构建站点时让文件夹 php
untouched。
运行
jekyll serve
和平时一样。当您将 link 添加到样式表(和其他 link 时),请不要忘记包含您的 php 文件的文件夹将与您的 css 文件夹处于同一级别,所以在您的
中执行此操作index.php
:<link rel="stylesheet" href="../css/main.css">
要使 php 文件生效,您需要在
localhost
根目录中构建站点。例如,如果您使用 Xampp,它将位于htdocs
的内部。要查看文件,您需要打开Apache
并在浏览器中键入:http://localhost/test/_site/php/
- 其中test
是项目根文件夹 - 您将看到index.php
正常工作。其他文件将通过_site
和localhost:4000
. 提供
仅将
_site
内容上传到您的 Web 服务器,除非您的服务器自动构建 Jekyll。
打开 _site
文件夹以检查您的网站是如何构建的。
不要忘记:您不能在 GitHub Pages 上托管您的网站,因为它不提供对 php 的支持。我建议您在功能齐全的托管服务提供商处托管您的网站。
希望对您有所帮助!