2012-11-28 1 views
0

나는 스스로 자필 된 웹마 다이므로 쉽게 찾아 볼 수 있습니다. Jekyll을 사용하여 컨텐츠가 목차를 생성하기 위해 액체 필터를 통해 펌핑되는 사이트가 있습니다. default.html 파일에는 다음과 같은 약간의 내용이 들어 있습니다. . .조건부 HTML (yaml 앞부분에 따라 다름)

<div id='content'> 
    {{ content | toc }} 
    {{ content }} 
</div> 
I 목차가 지정된 페이지에만 나타나도록 ( do_toc: true 같은 것을 사용) YAML 전면 물질을 사용할 수있는 방법

?

답변

2

목차가 필요한 페이지와 그렇지 않은 페이지에 다른 레이아웃을 정의하고 싶을 것입니다. 모든 콘텐츠의 템플릿으로 default.html을 사용하고있는 것 같습니다. 대신 다른 것으로 불리는 default.html의 사본을 만드십시오. toc.html을 입력 한 다음 해당 파일 (erg, 즉 HTML로 편집해야 함을 의미)을 편집하여 원하는 위치에 div 블록을 제공하십시오.

그런 다음 TOC 필요 페이지에서 YAML 헤더에, 단지

--- 
layout: toc.html 
--- 

대신

--- 
layout: default.html 
--- 

주의 사용 : default.html을 복사 할 필요가 없습니다. 그림과 같이 페이지에 대한 당신의 YAML 헤더를 작성 후

--- 
layout: default.html 
--- 
<div id='content'> 
{{ content | toc }} 
{{ content }} 
</div> 

과 : 간단하게 다음과 같은 내용으로 _layouts 디렉토리에 toc.html라는 이름의 파일을 생성 추가합니다. 전혀 HTML을 복제하지 않습니다.

+0

이렇게하는 것이 한 가지 방법이지만 많은 HTML 코드 중복을 의미합니다. 그것은 매우 건조하지 않습니다. – learnvst

+0

나는 따라 가지 않는다. 그것은 HTML 중복을 포함하지 않습니다. TOC와 페이지가없는 페이지의 두 가지 레이아웃이 있으므로 두 가지 레이아웃을 지정하십시오. 두 번째 레이아웃을 지정하는 좀 더 우아한 방법을 보여주기 위해 내 대답을 수정했습니다. – cboettig

+0

Ooops +1. 나는 내가 웹 마스터라고 말했어. 내 나쁜 – learnvst