2017-08-06 75 views
1

我回到了jekyll項目上。當我剛開始在這個項目上工作,我問這個頁面是如何在傑基爾後拉作者的名字,並建議使用此代碼:Jekyll中的author.name + URL問題

{{ site.data.authors[page.author].name }} 

...這工作得很好。現在我的目標是有一個作者頁面來顯示作者信息。 我有一個authors.yml文件(在_data文件)與結構化項目如下:

john_doe:  
name: John Doe  
email: [email protected] 

我已經使用了哲基爾的指導方針和我的代碼是這樣的authors.md頁:

<ul> 
    {% for author in site.data.authors %} 
    <li> 
     {{ author.name }} 
    </li> 
    {% endfor %} 
</ul> 

我知道代碼的第一部分是功能性的,因爲我有一個項目符號顯示每個作者即列表項目。然而,列表項沒有作者的名字返回空(最終我想拉從yml更多的信息,但因爲我不能通過這第一步...)

我試着切換到這個結構,與沒有成功:

- name : john_doe 
    - email: [email protected] 

第二期:使用navigation.yml文件的鏈接我也已經設置鏈接到額外頁面進行排序,像這樣:

- title: A propos 
    url: /about/ 
    excerpt: "" 

這些網址能正常工作,但當地沒有這樣的運氣之後我把它推回去...

如果有人有任何想法......我卡住了! 我的回購:https://github.com/piapandelakis/piapandelakis.github.io

回答

1

與以下內容創建數據文件_data/authors.yml

john_doe:  
    name: John Doe  
    email: [email protected] 
rms: 
    name: Richard Stallman 
    email: [email protected] 

這種結構可以在除了能夠遍歷所有的作者,您可以訪問任何好處當你需要的時候可以單獨使用它們。

在與筆者後rms您可以顯示其信息:

--- 
author: rms 
--- 

{% assign author = site.data.authors[page.author] %} 
<div> Author: {{ author.name }} 
</div> 

要顯示所有作者的列表:

{% for author in site.data.authors %} 
{{author[1].name}} <br> 
{% endfor %} 
+0

它完美!我被困在兩個語法選項之間(在作者YML中是短劃線或沒有短劃線......它從不同時在兩個頁面上工作)。這是做的伎倆,非常感謝你花時間幫助我! :) – PiaP

+0

太好了,您可以接受答案,將其標記爲已解決。 – marcanuy

+0

仍然存在URL問題...我應該爲此打開一個新線程嗎? – PiaP