겐시(템플링어)

Genshi (templating language)
겐시
개발자에지월 소프트웨어
초기 릴리즈2006년 8월 3일; 15년(2006-08-03)
안정적 해제
0.7 / 2013년 1월 27일; 9년(2013-01-27)
리포지토리
운영 체제크로스 플랫폼
유형템플릿 엔진
웹사이트genshi.edgewall.org

겐시파이톤으로 작성된 XML 기반 어휘를 위한 템플릿 엔진이다.겐시는 생성된 출력을 XML 기반 언어, 보통 HTML로 쉽게 삽입하고 문서 사이에 재사용 요소를 넣는 데 사용된다.겐시의 구문은 키드에 기반을 두고 있지만, 구조는 다르다.겐시는 Python 코드에 템플릿을 컴파일하는 대신 스트림 기반 API를 사용하여 템플릿을 동적으로 처리함으로써 템플릿을 더 빠르게 처리하면서 일부 기능을 구현하는 것을 목표로 한다.[1]

겐시는 체리피,[2][3] 터보지어,[4] 필론[5], 웹투피와 같은 여러 파이톤 웹 프레임워크와 함께 사용할 수 있다.[6]Genshi는 TurboGears 2.x 웹 프레임워크에서 Kid를 대체했다.[7]

겐시 마크업

겐시는 네임스페이스를 사용하여 HTML에 지시사항을 삽입한다. 일반적인 지시사항은 인용문 안에 파이썬 표현이 있는 속성으로 주어진다.예를 들어, 다음은 4를 표시하는 단락을 렌더링한다.

<<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/"><body> <py:content="2 + 2">>이것은 4</p </body> </html>로 대체될 것이다.

네임스페이스를 사용하기 때문에, 겐시는 WYSIWYG HTML 편집기에서 사용될 수 있다.[8][9]

키드와 겐시의 차이점

  • 겐시는 템플릿을 직접 해석한다(Python 코드를 생성하는 키드와 달리)[10]
  • Genshi는 템플릿 재사용을[10] 위해 XInclude를 사용한다.
  • 겐시는 키드가 가지고 있지 않은 속성을 덧붙인다.py:choose[10]
  • 겐시 템플릿은 템플릿 소스 파일 이름과 라인 번호를 추적하기 때문에 디버깅이 더 쉬우며, 겐시의 통역기에서 나온 오류는 키드가 생성한 코드보다 더 이해할 수 있는 스택 추적을 생성한다.[10]

참조

  1. ^ "What is Genshi?". Retrieved 2008-01-20.
  2. ^ "CherryPy – Genshi". Retrieved 2009-09-26.
  3. ^ "Genshi - CherryPy Tools - Trac". Archived from the original on 2012-07-04. Retrieved 2009-09-26.
  4. ^ "Genshi Templating". Archived from the original on 2012-07-04. Retrieved 2008-01-20.
  5. ^ "Genshi Templates - Pylons Cookbook". Archived from the original on 2012-07-04. Retrieved 2008-01-20.
  6. ^ "web2py: Enterprise Web Framework". Retrieved 2009-09-26.
  7. ^ Ramm, Mark. "TurboGears 1.1 and Beyond". Archived from the original on 2012-07-04. Retrieved 2008-01-20.
  8. ^ "Choosing a templating language". Archived from the original on 2010-06-16. Retrieved 2010-05-30.
  9. ^ "Choosing a templating language". Archived from the original on 2008-01-17. Retrieved 2008-01-20.
  10. ^ a b c d "Comparing Genshi to Kid". Retrieved 2008-01-20.

외부 링크