2013-08-25 17 views
5

Niedawno uaktualniłem do wersji jekyll 1.0, w wyniku czego linki do postów mają teraz wiodący znak "/".Jekyll - Używanie względnych adresów URL dla post.url

Ustawienie względnych permalinków na true lub false nie wydaje się w ogóle zmieniać generowania {{post.url}}, zawsze wydaje się, że zawierają one wiodący slash.

Rozumiem, że mogę użyć base_url, ale przekazuję ukończony projekt do organizacji, która kończy hostowanie go w dowolnym miejscu (nie znam adresów URL).

Mój plik konfiguracyjny, który był używany do pracy po prostu:

permalink: articles/:title 

Każda pomoc będzie wielki!

Odpowiedz

9

Widzę to samo w instalacji Jekyll 1.0.3. Wygląda jak błąd. Tak czy inaczej, obejście polega na użyciu Liquid Filter do usunięcia pierwszego ukośnika.

{{ post.url | remove_first:'/'}} 

z następującym układzie stronicowania:

{% for post in paginator.posts %} 
    <div class="postWrapper"> 
    <h2><a href="{{ post.url | remove_first:'/'}}">{{ post.title }}</a></h2> 
    <div class="postDate">{{ post.date | date:"%B %d, %Y" }}</div> 
    <div class="postContent">{{ post.content }}</div> 
    </div> 
{% endfor %} 

A twój samo _config.yml ustawienie:

permalink: article/:title 

Linki są generowane bez ukośnika (np <a href="article/the-title">The Title</a>).

Pamiętaj, że jeśli jest to błąd i zostanie naprawiony, musisz dostosować kod, aby upuścić filtr "remove_first". W przeciwnym razie usunie ukośnik w środku łącza i przerwie go w ten sposób.

+0

Dziękuję za to, powinienem był wypróbować płynnych dokumentów pełniej. – Galaxy

1

Zauważyliśmy to samo i śledziłem to do dodania baseUrl narażonego na działanie płynnych szablonów. W wersji 0.12.1 biblioteka baseUrl nie była konfigurowalna w pliku _config.yml i miała domyślną wartość "".

W wersji 1.0.0 można ustawić go w konfiguracji i domyślnie jest to "/", dlatego właśnie to widzisz. Nie sądzę, że jest to błąd, ponieważ jest nadal obecny w obecnych wersjach (1.4.3).

Powiązane problemy