2012-07-03 1 views
1

Jekyll을 사용하여 템플릿 페이지를 생성하고 Perl 스크립트에서 사용하고 HTML::TemplatePerl 모듈을 사용하고 싶습니다. Jekyll이 HTML :: Template의 태그를 그대로두고 완전히 무시할 수 있습니까? 예를 들어지킬에 맞춤 html 태그를 추가 할 수 있습니까?

:

<tr>    <td>Name:    </td> <td><TMPL_VAR NAME=NAME> </td> </tr> 
<tr class="alt"> <td>Email:    </td> <td><TMPL_VAR NAME=EMAIL></td> </tr> 

내가 페이지가 <TMPL_VAR NAME=...> 비트와 .html 파일로 렌더링 취득 할 나중에 백엔드, 혼자 Perl 스크립트 템플릿 파일이 파일의 사용을 만들 것 및 <TMPL_VAR NAME=...> 비트가있는 부분을 채 웁니다.

+0

혹시이 질문에 투표 한 이유를 설명 할 수 있습니까? – slm

답변

1

another question에서 배운 내용을 사용하여 &에게 stackoverflow에 대한 답변을 주면이 옵션이 3 가지 옵션으로 표시됩니다. 이 중 하나는 @Alan W. Smith도이 질문에 대한 답을 찾았습니다.

옵션 # 1 :-HTML::Template은의 perldocs

vanguard_compatibility_mode에서 vanguard_compatibility_mode ...라는 스위치가 - 1로 설정하면 모듈이들 것으로 예상됩니다 점에서 % NAME % 님과 같은 보기 표준 구문에 추가되었습니다. 또한 die_on_bad_params => 0으로 설정하십시오. Vanguard Media가 이전 포맷 템플릿을 사용하려고하지 않는다면 이 걱정할 필요가 없습니다. 0

옵션 # 기본값은 2-HTML::Template 또한 주석 블록의 템플릿 태그를 내장 지원하므로 코드는 HTML, 규격과 같이 있음을 다음의 perldocs에서 다시 <!-- TMPL_NAME NAME=FNAME -->

:

유효한 HTML에 대한 열정이 있고 템플릿이 유효한 HTML 구문을 따르기를 원하면 선택적으로 HTML 주석 형식으로 템플릿 태그를 입력 할 수 있습니다. 이 은 HTML :: Template 처리 이전에 템플릿의 HTML 구문 의 유효성을 검사하거나 DTD에 정교한 편집 도구를 사용하려는 HTML 작성자에게 유용 할 수 있습니다.

<!-- TMPL_VAR NAME=PARAM1 -->

내가 생성자의 die_on_bad_params => 0을 설정할 때까지이 두번째 옵션은 나를 위해 원래 작동하지 않았다

.

옵션 # 3 : .html (바닐라 HTML)를 .md (가격 인하)에서 Jekyll 파일의 이름을 변경. 이 옵션은 Jekyll이 XML 파서 인 ReXML을 사용하는 것과 관련이 있습니다. 확실하지는 않지만 ReXMLNokogiri으로 바꾸면이 문제를 해결할 수 있다고 생각하지만이 방법으로 Jekyll을 다시 구성 할 수 있는지 잘 모르겠습니다.

결론 : 궁극적으로 내가 생각 옵션 # 2Jekyll.md 파일을 사용하는 능력을 제한하지 않습니다 주어진 사용하는 가장 좋은 하나입니다.

2

확장명이 .html 인 원본 페이지를 작성하면 HTML (표준 HTML과 템플릿)을 그대로 둘 수 있습니다. 그렇게하면 jekyll (0.11.2 이상)이 소스 HTML을 엉망으로 만들지 않습니다. 여전히 YAML 앞부분을 사용하고 액체 꼬리표로 떨어 뜨릴 수 있습니다. 예를 들어, 이것은 확장자가 .html 인 소스 파일로 작동합니다.

--- 
layout: default 
title: This is the post title 
categories: ["miscellaneous"] 
--- 

{{ page.title }} 

<table> 
<tr>    <td>Name: </td> <td><TMPL_VAR NAME=NAME> </td> </tr> 
<tr class="alt"> <td>Email: </td> <td><TMPL_VAR NAME=EMAIL></td> </tr> 
</table> 

거기에서 HTML :: Template 태그를 그대로 사용하여 보조 처리를 전달할 수 있습니다.