2016-09-13 5 views
0

내 지킬 사이트에서 이전 블로그 게시물에 대한 아카이브를 만들고 싶습니다. 이전에 내 구조는 내 웹 사이트 인 index.html에서 _posts의 내용을 제공했습니다. 온라인 콜렉션의 설명과 몇 가지 튜토리얼을 읽은 후, 나는 내 구조에 모음 폴더 _archive을 추가하고 테스트 파일 안에 그러나지킬 컬렉션 렌더링하지 않음

test-file.markdown. 불리는 경우, url mysite.com/archive/test-file 완전히 내 주를 다시 생성 index.html, 컬렉션 내용이 아닙니다.


구조 :

_archive 
    index.html 
    test-file.markdown 
_includes 
    about.html 
    head.html 
    ... other stuff ... 
_layouts 
    default.html 
_posts 
    post1.markdown 
    post2.markdown 
    ... other stuff ... 
css 
img 
js 
_config.yaml 
... other stuff ... 

시험 file.markdown

--- 
layout: default 
title: test 
--- 

_config.yml

# Site settings 
title: test 
email: [email protected] 
url: http://www.test.com 


# Color settings (hex-codes without the leading hash-tag) 
color: 
    primary: ffffff #80B3FF 
    primary-rgb: "24,288,156" #"128,179,255" 
    secondary: 2c3e50 #FD6E8A 
    secondary-dark: 233140 #A2122F 
    third: 979797 

collections: 
    archive: 
    output: true 
    permalink: /archive/:path/ 

# Build settings 
markdown: kramdown 
permalink: pretty 
,745 1,515,

mysite.com/archive/index.html

--- 
--- 
{% for p in site.archive %} 
    {{ p}} 
    {{ p.title }} 
{% endfor %} 

이 재 렌더링 메인 index.html을, 시험 file.markdown 아닌 내용.


_archive의 내용을 mysite.com/archive/에서 올바르게 렌더링하려면 어떻게해야합니까?


편집 : index.html 파일의 상단에

--- 
--- 

{% for p in site.archive %} 
{{ p}} 
{{ p.title }} 
{% endfor %} 

:

답변

0

당신이 추가나요 index.html을 할 ---을 추가? 누락 된 파일은 jekyll의 템플릿 엔진을 통해 해당 파일의 내용을 실행하지 않습니다.

+0

예, 감사합니다. 사이트는 여전히 내'_posts' 폴더 전체를 URL로 제공하고 있습니다 : site.com/archive/test/ –

+0

그 밖의 다른 것들이 있습니까? 어떤 아이디어라도 @arniekoz에게 감사드립니다. –

+0

아니요, 내용을 포장하지 마십시오. 그러나 @NickB 위의 편집은 작동하는지 확인하십시오. – arnolds

0

전체 사이트를 보지 않고서는 문제가 실제로 무엇인지 알기 어렵습니다. 가능한 경우 repo URL을 제공하십시오. /index.html의 내용이 /_archive/test-file.markdown 출력에 표시하는 경우 파일을 모두 그 레이아웃을 공유하기 때문에


는 포스트 루프는 기본 레이아웃 파일에 아마. 해결책은 관련 콘텐츠를 /index.html으로 옮기는 것입니다.


나는 /_archive/index.html이 출력되지 않는다고 생각합니다. /_archive/index.html/archive.html으로 옮깁니다. Jekyll은 밑줄로 시작하므로 _archive 폴더 안의 페이지는 처리하지 않습니다.

그런 다음 현재 설정으로이 파일 출력이있을 것이다 : 제 생각에는

  • /archive/index.html
  • /archive/test-file/index.html

, 당신은 있는지, 게시물로 게시물을 유지해야 그들이 보관되어 있는지 여부. 그런 다음 게시물을 보관할 때 URL을 보관할 필요가 없습니다. 301을 설정하거나 큰 공백을 두지 않아도됩니다.

이렇게하려면 보관 된 게시물에 서문을 추가

--- 
archived: true 
--- 

그리고 현재 게시물 (당신이 반복을 저장 defaults를 사용할 수 있습니다) :

--- 
archived: false 
--- 

가에 보관 된 게시물을 제외 당신의 기본 게시물 루프 :

{% assign posts = site.posts | where: "archived", false %} 

아카이브 p의 현재 게시물을 제외합니다. 연령 :

{% assign archived_posts = site.posts | where: "archived", true %} 
관련 문제