2014-05-17 2 views
0

표준 LAMP 호스트 사이트 용 정적 파일을 생성하기 위해 Docpad를 사용하고 있습니다. 내가 암호를 구현하려는 페이지 중 하나, 그래서 나의 의도는 this password_protect 스크립트와 함께 PHP 페이지를 사용하는 것이 었습니다.Docpad : php 출력 파일을 생성하십시오.

내 문서 패드 '레이아웃'을 설정하여 <?php include...을 관련 페이지에 추가하고 .php을 특정 문서의 접미사로 사용했지만 출력은 .html입니다.

Docpad는 php를 출력 유형이 아닌 프리 프로세서로 간주하므로 배포 할 때 손쉽게 파일 이름을 바꾸기 위해 할 수있는 일이 있습니까?

답변

1

그래, 다소 이상합니다. basename 이후의 확장이 출력 확장이 될 것이라고 생각했습니다. 이것은 나를 위해 그것을 고정. docpad config file의 이벤트 또는 plugin의 방법으로 이벤트에 적용하십시오.

writeBefore: (opts) -> 
    {collection, templateData} = opts 
    collection.forEach (file,index) -> 
     ext = file.get('extensions')[0] 
     if ext == 'php' 
     outDirPath = file.get('outDirPath') 
     basename = file.get('basename') 
     outFilename = basename + '.php' 
     file.set('outPath', outDirPath + '/' + outFilename) 
0

DocPad 레이아웃을 사용하고 있습니까? 레이아웃 확장이 리소스 확장보다 우선시되는 것 같습니다 (적어도 지금은). 어쩌면 php 확장자를 가진 레이아웃을 사용하면 문제가 해결 될 것입니다.

당신이 (레이아웃의 목적을 패배하는) 레이아웃 파일을 복제하지 않으려면, 당신은 같은 부모 레이아웃에 대한 심볼릭 링크를 만들 수있는 여러 확장

에 대해 하나의 레이아웃을 사용하는 방법

(layout 폴더에 리눅스)에 :

ln -s layoutname.html.eco php-layoutname.php.eco 

나중에 당신의 PHP 파일의 frontmatter에 layout 속성을 업데이트하는 것을 잊지 마세요!

+0

이것은 더 많은 질문 또는 설명 아래에있는 주석에서 다루어 져야하는 명확한 설명입니다. * 대답 * 절은 이해할 수있는 문제에 대한 실용적인 기술적 해결책을 위해서만 유지됩니다. – clearlight

+0

새로운 질문이있는 경우 [질문하기] (http://stackoverflow.com/questions/ask) 버튼을 클릭하여 질문하십시오. 컨텍스트를 제공하는 데 도움이되는 경우이 질문에 대한 링크를 포함하십시오. - [리뷰에서] (리뷰/저품절 포스트/14756774) – clearlight

+0

@hotapplecyber 바로 당신이 맞습니다. (어떻게) 그것을 옮겨야합니까? 또한 나는 이미 OP에 대해 논평 할 권한이 있다고 확신 할 수 없다. – user7363501

관련 문제