2012-06-16 3 views
2

나는 Emacs를 사용하여 JSF 프로젝트에서 XHTML 페이지를 작성하고 있으며 각 XHTML 파일의 헤더로 이동해야하는 보일러 플레이트 코드의 양은 어렵다. 경향이있다. 예컨대 :Emacs의 XHTML/JSF 상용구 코드

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets"> 

이것이 처리의 "이맥스 방법"것입니까? 내가 nXhtml mode에 대해 읽었지만, 그것을 시도하지 않은 위의 것처럼 보일러 플레이트를 자동 완성하는지 아니면 더 기본적인 XML 검사/완료 구문을 제공하는지 모릅니다. 여하튼 나는 더 가벼운 대안을 먼저 평가하고 싶다.

답변

2

"template emacs"로 검색하십시오. https://www.google.com/search?q=template+engine+emacs

여기는 좋은 설문 조사입니다 : http://www.emacswiki.org/emacs/CategoryTemplates.

나는 해당 페이지에 나열된 옵션 중 하나 인 defaultcontent.el을 사용합니다. Defaultcontent.el은 파일 이름에 일치하는 패턴에 따라 새 파일을 템플릿으로 채 웁니다. 모든 .html 파일은 특정 템플릿을 가져올 수 있습니다. 템플릿에 대한보다 고급 매핑을 파일에 적용 할 수 있습니다. defaultcontent.el은 alist를 사용하며 원하는 파일 이름에 대해 임의의 정규식을 지정할 수 있습니다.

새 파일에 배치되는 템플릿은 파일 이름, 기본 파일 이름, 날짜/시간, 환경 변수 등 다양한 항목을 동적으로 확장 할 수 있습니다. 보다 고급 시나리오에서 템플릿은 사용자가 제공하는 elisp 코드를 실행할 수 있습니다.

yasnippet과 잘 어울립니다. yasnippet은 파일 내의 선택적 코드 조각에 사용합니다. 예를 들어, 내 기본 .htm 템플릿 (defaultcontent.el에 의해 삽입 됨)에는 jquery에 대한 스크립트 참조가 포함되어 있지 않습니다. 하지만 내가 입력 할 때 (JQuery와 [TAB가), 나

<script type='text/javascript' 
     src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js'> 
</script> 

defaultcontent.el의 전체 확장을 얻을 수 있도록 찾을 파일 - 후크를 사용하여 템플릿 내용을 삽입, JQuery와의 yasnippet있는 경우에만 파일 처음에 생성됩니다.

사실상 모든 파일 형식에 사용합니다.