2013-08-25 19 views
5

Gần đây tôi đã nâng cấp lên jekyll 1.0 và kết quả là liên kết bài đăng giờ đây có '/' hàng đầu.Jekyll - Sử dụng URL tương đối cho post.url

Đặt liên kết cố định tương đối thành đúng hay sai dường như không thay đổi thế hệ {{post.url}}, chúng dường như luôn xuất hiện với dấu gạch chéo hàng đầu.

Tôi hiểu rằng tôi có thể sử dụng base_url, nhưng tôi chuyển dự án đã hoàn thành cho tổ chức kết thúc lưu trữ nó ở bất cứ đâu (Tôi không biết URL).

tập tin cấu hình của tôi được sử dụng để làm việc chỉ đơn giản là:

permalink: articles/:title 

Bất kỳ trợ giúp sẽ là tuyệt vời!

Trả lời

9

Tôi thấy điều tương tự trong cài đặt Jekyll 1.0.3. Có vẻ như một con bọ. Dù bằng cách nào, một công việc xung quanh là sử dụng Liquid Filter để xóa dấu gạch chéo đầu tiên.

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

Với cách bố trí pagination sau:

{% 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 %} 

Và cùng _config.yml thiết lập của bạn:

permalink: article/:title 

Liên kết được tạo ra mà không có dấu gạch chéo hàng đầu (ví dụ <a href="article/the-title">The Title</a>).

Chỉ cần lưu ý rằng nếu đó là lỗi và lỗi được khắc phục, bạn sẽ phải điều chỉnh mã của mình để thả bộ lọc 'remove_first'. Nếu không, nó sẽ cắt dấu gạch chéo ở giữa liên kết của bạn và phá vỡ nó theo cách đó.

+0

Cảm ơn vì điều này, tôi nên kiểm tra tài liệu lỏng đầy đủ hơn. – Galaxy

1

Chúng tôi cũng nhận thấy điều tương tự, và tôi đã theo dõi nó xuống để bổ sung baseUrl được tiếp xúc với các mẫu chất lỏng. Trong 0.12.1 baseUrl không được cấu hình trong _config.yml và được mặc định là ''.

Trong phiên bản 1.0.0, bạn có thể đặt cấu hình trong cấu hình và mặc định là '/', đó là lý do bạn thấy điều này. Tôi không tin rằng đó là một lỗi như nó vẫn còn hiện diện trong phiên bản hiện tại (1.4.3).

Các vấn đề liên quan