强制在Jekyll中使用绝对URL

时间:2018-10-06 14:46:10

标签: html css url yaml jekyll

我正尝试使用我大学提供的域名与Jekyll建立个人主页。

我无法解决的一个问题是Jekyll强迫我使用绝对路径,我认为该路径与网页托管服务不兼容。

_config.yml文件确定Jekyll如何在作为主页的index.html文件中生成链接。 _config.yml看起来像这样...

title: Homepage | Ishank Juneja 
email: ishankjuneja@gmail.com
description: >- # this means to ignore newlines until "baseurl:"
Personal homepage Beta version
baseurl: "foobar" # the subpath of your 
site, e.g. /blog
url: "http://home.iitb.ac.in/~ishankjuneja" # the base hostname & protocol for your site, e.g. 
http://example.com
twitter_username: ishankjuneja
github_username:  ishank-juneja

# Build settings
markdown: kramdown
theme: minima
plugins:
- jekyll-feed

在index.html文件中生成的(许多)链接的示例是

<link rel="stylesheet" href="/foobar/assets/main.css"> 

This link向我解释说,这实际上是一条绝对路径,对我来说这似乎不是问题,但是Web托管服务上的目录树看起来像这样,

public_html
├── 404.html
├── about
│   └── index.html
├── assets
│   ├── main.css
│   └── minima-social-icons.svg
├── feed.xml
├── index.html
└── jekyll
    └── update
        └── 2018
            └── 10
                └── 04
                    └── test-post.html

我的首页http://home.iitb.ac.in/~ishankjuneja/的URL与文件夹public_html关联,因此上述main.css的路径不正确。像href="assets/main.css"之类的方法效果很好,但似乎无法输入_config.yml来获得此结果。

2 个答案:

答案 0 :(得分:2)

在配置中,您必须正确设置baseurl:

baseurl: "~ishankjuneja"

然后使用

 {{site.baseurl}}page.url

答案 1 :(得分:0)

使用{{ page.url | absolute_url }}

液体过滤器说明:https://jekyllrb.com/docs/liquid/filters/