2011-02-11 3 views
1

액체 템플릿 엔진을 사용하는 블로그를 주제로하고 싶지만 기본 엔진은 일부 기본 태그 만 지원합니다. 맞춤 태그 {% layout 'layout_name'%}액체 템플릿 엔진 용 레이아웃 태그 구현

레이아웃 파일 :

<html> 
... 
{% content_for_body %} 
... 
</html> 

그리고 템플릿 파일을 dark.liquid는 :

{% layout 'dark' %} 
welcome to my blog! 

그리고 출력

,369을 blog.liquid
<html> 
... 
welcome to my blog! 
... 
</html> 

고마워요!

답변

1

나는이 같은 예를 들어, 첫 번째 줄을 잡아에 blog.liquid의 나머지 부분을 전달하기 전에 레이아웃 이름을 추출 제외하고는 가능하다고 생각하지 않습니다 : { "또한

post = "{{ layout 'dark' }}\nWelcome to my blog!" 

layout_name = post.split("\n").first.match(/\{\{ layout '(.+)' \}\}/)[1] 
#=> "dark" 
content = post.split("\n")[1..-1].join("\n") 
#=> "Welcome to my blog!" 

그것이 있어야 {content_for_body}} "; "{% ... %}"는 if 문과 같은 태그 블록에 사용됩니다.

+0

답변 해 주셔서 감사합니다. –

+0

@hawx, 나는 당신의 해결책을 정말로 이해하지 못합니다. 더 설명해 주시겠습니까? – Chamnap