Jekyll中的相对链接

Jekyll中的相对链接,jekyll,liquid,Jekyll,Liquid,我对Jekyll中的链接有点问题 例如,我在文件夹中有一篇文章: file:///C:/Users/My%20Name/Documents/jekyll_site/2014-10-25-Workshop.html 当我使用jekyll build时,帖子将插入此文件夹: file:///C:/Users/My%20Name/Documents/jekyll_site/_site/2014/10/25/Workshop.html 在post模板中,我使用以下简单代码转到下一页或上一页: {% i

我对Jekyll中的链接有点问题

例如,我在文件夹中有一篇文章:

file:///C:/Users/My%20Name/Documents/jekyll_site/2014-10-25-Workshop.html
当我使用
jekyll build
时,帖子将插入此文件夹: file:///C:/Users/My%20Name/Documents/jekyll_site/_site/2014/10/25/Workshop.html

在post模板中,我使用以下简单代码转到下一页或上一页:

{% if page.previous.url %}  
<p class="previousEntry blueButton"> <a href="{{page.previous.url}}">&#60;&#60; Go to older entry</a></p>
{% else %}
<p class="previousEntry blueButton">&#60;&#60;  Go to older entry</p>
{% endif %}
例如,当我点击“转到旧条目”时,我被引导到
file:///C:/2013/04/12/FirstVisit.html
(这会导致“找不到此页面”页面)而不是
file:///C:/Users/My%20Name/Documents/jekyll_site/_site/2013/04/12/FirstVisit.html
(这是页面的当前位置)


当我尝试将其上载到web服务器时,这会导致问题吗?如果是这样的话,我该如何使这个相对链接在我上传到web服务器后将用户指向我想要的位置?

/folder/file.html这样的相对链接是相对于主机的,比如
http://host.tld

主机+相对路径=http://host.tld/folder/file.html

As
Jekyll serve
将主机的根文件夹设置为
file:///C:/somePath/_site/
这最终解决了

根文件夹+相对路径=file:///C:/somePath/_site/folder/file.html
这是正确的路径

这里您正在谈论文件协议(file://),这里的“主机”是
file:///C:
和相对路径
/2013/04/12/FirstVisit.html
解析为

主机+相对路径=file:///C:/2013/04/12/FirstVisit.html
导致找不到页面

这里真正的问题是,您所说的是从文件资源管理器打开的页面。您单击了使用文件协议而不是http协议打开的html页面


确保使用
http://localhost:4000
在浏览器中粘贴此url,而不是单击文件资源管理器中的页面。

/folder/file.html这样的相对链接是相对于主机的,比如
http://host.tld

主机+相对路径=http://host.tld/folder/file.html

As
Jekyll serve
将主机的根文件夹设置为
file:///C:/somePath/_site/
这最终解决了

根文件夹+相对路径=file:///C:/somePath/_site/folder/file.html
这是正确的路径

这里您正在谈论文件协议(file://),这里的“主机”是
file:///C:
和相对路径
/2013/04/12/FirstVisit.html
解析为

主机+相对路径=file:///C:/2013/04/12/FirstVisit.html
导致找不到页面

这里真正的问题是,您所说的是从文件资源管理器打开的页面。您单击了使用文件协议而不是http协议打开的html页面


确保使用
http://localhost:4000
在浏览器中粘贴此url,而不是单击文件资源管理器中的页面。

/folder/file.html这样的相对链接是相对于主机的,比如
http://host.tld

主机+相对路径=http://host.tld/folder/file.html

As
Jekyll serve
将主机的根文件夹设置为
file:///C:/somePath/_site/
这最终解决了

根文件夹+相对路径=file:///C:/somePath/_site/folder/file.html
这是正确的路径

这里您正在谈论文件协议(file://),这里的“主机”是
file:///C:
和相对路径
/2013/04/12/FirstVisit.html
解析为

主机+相对路径=file:///C:/2013/04/12/FirstVisit.html
导致找不到页面

这里真正的问题是,您所说的是从文件资源管理器打开的页面。您单击了使用文件协议而不是http协议打开的html页面


确保使用
http://localhost:4000
在浏览器中粘贴此url,而不是单击文件资源管理器中的页面。

/folder/file.html这样的相对链接是相对于主机的,比如
http://host.tld

主机+相对路径=http://host.tld/folder/file.html

As
Jekyll serve
将主机的根文件夹设置为
file:///C:/somePath/_site/
这最终解决了

根文件夹+相对路径=file:///C:/somePath/_site/folder/file.html
这是正确的路径

这里您正在谈论文件协议(file://),这里的“主机”是
file:///C:
和相对路径
/2013/04/12/FirstVisit.html
解析为

主机+相对路径=file:///C:/2013/04/12/FirstVisit.html
导致找不到页面

这里真正的问题是,您所说的是从文件资源管理器打开的页面。您单击了使用文件协议而不是http协议打开的html页面


确保使用
http://localhost:4000
通过在浏览器中粘贴此url,而不是单击文件资源管理器中的页面。

我执行了以下操作以使其在本地工作:
-双击索引并观察浏览器中的地址栏。对于我当前的项目,它是:
file:///C:/Users/user/Desktop/blog/blog/_site/index.html

-打开
\u config.yml
文件,并将其从
baseurl:
,这正是
index.html
结束部分之前地址栏中的内容,更改为
baseurl::file:///C:/Users/user/Desktop/blog/blog/_site/“

-在候机楼重新建好了场地

这在本地有效。当我将网站上传到我的web主机上的文件夹时,我将再次更改
baseurl
,类似的事情
<p class="previousEntry blueButton"> <a href="/2013/04/12/FirstVisit.html">&#60;&#60;   Go to older entry</a></p>
<p class="nextEntry blueButton"><a href="/2014/07/09/OfficialMeeting.html">Go to newer entry &#62;&#62;</a></p>
<p class="backToNews blueButton"><a href="news.html">Go back to main news page</a></p>