簡體   English   中英

為github PROJECT頁面配置Jekyll

[英]Configuring Jekyll for github PROJECT pages

我在這里結束了我的智慧。 我一直在試圖查看我能找到的所有其他示例github項目頁面,甚至是博客,但沒有一個表現出我遇到的問題。 首先,我正在嘗試為我的倉庫創建一個項目頁面。 我按照通常的教程,在我的項目倉庫和推送中創建了一個gh-pages分支。

我設法做了這些並模板化我的文件。 我甚至設法使用HAML和SASS(它們仍然被轉換為html / css,這就是我推送到repo所以沒有問題)。 我只是認為我正在配置我的jekyll錯誤。 首先,我沒有看到在config.yml上使用baseurl或url的其他人頁面中的任何配置。

我的問題是在我的帖子中循環:

{% for post in site.posts %}
  <a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}

它始終生成href為href="/post-title"

我的_config.yml btw只有這個:

permalink: /exercises/:title

當我點擊鏈接時出現這個問題,它始終指向http://corroded.github.com/exercises/title-其實應該是http://corroded.github.com/projectname/exercises/title-這里

我實際上嘗試通過以下方式對路徑進行硬編碼:

<a href="http://corroded.github.com{{ post.url }}">這是有效的。 它轉到帖子但是它顯示為純文本而不是生成的html。 我知道我在這里錯過了一些非常簡單的東西,但我似乎無法找到它,整個周末我一直在努力解決這個問題。

哦,我忘了添加:在我的localhost中執行此操作,我可以訪問以下所有內容:

http://localhost:4000/並點擊鏈接將我帶到http://localhost:4000/exercises/title-here和IT WORKS。 所以我很好地猜測它與配置有關。

編輯:此答案已添加到http://jekyllrb.com/docs/github-pages/上的Jekyll文檔中。


如果你正在尋找一個帶有GitHub頁面標准URL的解決方案( username.github.io/project-name/ ),我終於找到了訣竅。 這是做什么的:

_config.yml ,將baseurl選項設置為/project-name - 記下前導斜杠和缺少尾部斜杠。

現在,您需要通過以下兩種方式更改模板和帖子中的鏈接方式:

在引用JS或CSS文件時,請執行以下操作: {{ site.baseurl }}/path/to/css.css - 請注意緊跟在變量之后的斜杠(在“path”之前)。

在執行永久鏈接或內部鏈接時,請執行以下操作: {{ site.baseurl }}{{ post.url }} - 請注意,這兩個變量之間沒有斜杠。

最后,如果您想在使用jekyll serve提交/部署之前預覽您的站點,請確保將空字符串傳遞給--baseurl選項,以便您可以正常查看localhost:4000所有內容(不使用/project-name進入那里jekyll serve --baseurl ''一切): jekyll serve --baseurl ''

這樣您就可以從localhost上的站點根目錄本地預覽您的站點,但是當GitHub從gh-pages分支生成您的頁面時,所有URL都將以/project-name開頭並正確解析。

問題#332上關於這個問題的更多討論。

如果在永久鏈接的前面有斜杠,則表示所有URL都應該相對於站點根目錄。 這就是為什么它會轉到http://corroded.github.com/exercises/title-here而不是http://corroded.github.com/projectname/exercises/title-here 沒有第一個斜線嘗試它:

permalink: exercises/:title

您使用HTML創建的任何網址都是一樣的。 如果你有:

<a href="/about">

它將始終到域的根目錄(例如http://corroded.github.com/about )。 如果您的項目名為'projectname',則可以使用HTML

<a href="/projectname/about">

直接鏈接到頁面(例如http://corroded.github.com/projectname/about )。

當然,您也可以使用相對URL (即沒有前導斜杠的URL)。 您只需要知道您在目錄樹中的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM