2012-07-15 14 views
5

W moim _config.yml mam:Starając się znaleźć tablicę w Jekyll pliku konfiguracyjnym (nawigacja strony)

navigation: 
- text: Home 
    url: index.html 
- text: About 
    url: about.html 
- text: Blog 
    url: blog.html 
- text: Portfolio 
    url: portfolio.html 

W moim default.html układ mam:

<ul class="nav-list"> 
    {% for link in site.navigation %} 
    {% assign current = nil %} 
    {% if page.url == link.url %} 
     {% assign current = 'current' %} 
    {% endif %} 

    <li class="nav-list-item{% if forloop.first %}first{% endif %} {{ current }} {% if forloop.last %}nav-list-item-last{% endif %}"> 
     <a class="{{ current }}" href="{{ link.url }}">{{ link.text }}</a> 
    </li> 
    {% endfor %} 
</ul> 

Z jakiegoś powodu, to nie działa . Dlaczego to możliwe?

+0

To działa dla mnie. Z wyjątkiem oznaczenia bieżącej strony jako 'page.url' zawiera ścieżkę, np." /index.html ", więc kontrola równości zakończy się niepowodzeniem. Jak ci nie pracuje? Absolutnie brak danych wyjściowych? Bezinterpretowana ciecz na wyjściu? Po prostu nie zaznaczasz bieżącego przedmiotu? – manatwork

+0

Nie można znaleźć "site.navigation" w ogóle. Jeśli całkowicie opróżnię zawartość '_config.yml' i po prostu wprowadzę powyższe, jest to konfiguracja, którą mam aktualnie. –

+0

Może nie mieć znaczenia, ale czy próbujesz to lokalnie czy na GitHub? (Testowałem tylko lokalnie.) Czy możesz uzyskać dostęp do innych ustawień z twojego _config.yml? Czy na pewno elementy tablicy nawigacyjnej są wcięte spacjami, a nie kartami? – manatwork

Odpowiedz

4

Właśnie dowiedziałem się, że trzeba ponownie uruchomić serwer i ponownie uruchomić jekyll --server, a zmienne _config.yml będą dostępne.

Następnie po stwierdzeniu, że to wróciło na tę stronę i miał zamiar opublikować tę odpowiedź, kliknął add/show 4 more comments i zobaczył, że zostało to również znalezione przez op. Wpisując to jako odpowiedź.

+0

Dzięki. Powinienem to opublikować jako odpowiedź, oops! –

+0

@OliverJosephAsh Przebaczam ci. – ThomasReggi

0

W uzupełnieniu do innych odpowiedzi: Można - jak wspomniano w odpowiedzi - skorzystaj Ctrl + C zakończyć serwer aktualnie uruchomione (w swojej CLI). Ale, można również uruchomić serwer z

jekyll server -w 

powiedzieć Jekyll obserwować zmiany w plikach. Chociaż to nie zadziała dla zmian w _config.yml, działa dla wszystkich innych plików. Pamiętaj, że to nie zadziała, w tym opcja --safe, więc nie dostaniesz błędów. Aby je złapać, od czasu do czasu polecam uruchamianie jekyll --safe build, aby sprawdzić, czy pojawiły się błędy składni. To samo dotyczy uruchamiania jekyll doctor/jekyll hyde czasami podczas procesu tworzenia oprogramowania.

Powiązane problemy