2013-09-22 4 views
2

Pod::WeaverDist::Zilla을 사용합니다. 그것은 나를 위해 여러 가지 좋은 일을합니다. 그것은 자동으로 POD 섹션 버전, 저자, 라이센스를 추가하고 내 소스 코드에서 간단한 POD 구문을 사용할 수 있습니다. "= method new"를 쓸 수 있으며 올바른 POD로 변환됩니다.Pod :: Weaver를 사용하여 Perl POD에서 HTML 섹션을 추가하는 방법

이제 POD에 이미지를 추가하고 싶습니다. HTML을 추가해야합니다. 그래서 난 내 source code에 쓰고 있어요 :

=begin HTML 

<p> 
<a href="http://upload.bessarabov.ru/bessarabov/031VBX4pHw_ALPcxRTVjflnAWuc.png"> 
<img src="http://upload.bessarabov.ru/bessarabov/VdagpUXEQdMslOqUyOAzwa-DOaU.png" width="500" height="125" alt="Status board graph sample" /> 
</a> 
</p> 

=end HTML 

가 그럼 난 dzil release를 작성하고 CPAN에 module를 놓습니다. CPAN에 업로드 한 후 내 HTML POD는 포드 :: 위버에 의해 변경되었음을 인식하고 지금은 다음과 같습니다

=for HTML <p> 
<p> 
<a href="http://upload.bessarabov.ru/bessarabov/031VBX4pHw_ALPcxRTVjflnAWuc.png"> 
<img src="http://upload.bessarabov.ru/bessarabov/VdagpUXEQdMslOqUyOAzwa-DOaU.png" width="500" height="125" alt="Status board graph sample" /> 
</a> 
</p> 

그리고이 HTML 부분은 POD에서 이동되었습니다. 나는 그것이 SYNOPSIS 부분 바로 뒤에 있기를 원했지만, 마지막 방법 이후는 아니었다.

많은 좋은 것들이 있기 때문에 여전히 Pod :: Weaver를 사용하고 싶지만, HTML을 POD의 정확한 위치에 넣고 변환하지 않기를 바랍니다.

어떻게하면됩니까?

+0

내가 생성 된 포드의'= 최종 HTML'을 표시되지 않는 이유는 무엇입니까? –

+0

네, 저의 실수입니다. 게시물을 수정했습니다. 생성 된 창에 대한 링크는 다음과 같습니다. https://metacpan.org/source/BESSARABV/StatusBoard-Graph-1.0.0/lib/StatusBoard/Graph.pm#L408 – bessarabov

+2

'= begin html'..' = end html'과'= for html'은 기본적으로 동의어이므로 걱정할 필요가 없습니다. 그러나이 단락의 재배치는'Pod :: Weaver'의 버그 일 수 있으며 아마도보고되어야합니다. –

답변

0

perldoc perlpod 및 테스트의 많은 독서 후, 다음과 같은 일이 분명하다 :

  1. 사양에 따르면, =begin html 세그먼트 =for html 세그먼트에 안전하게 번역 할 수 있습니다.
  2. 그러나 세그먼트의 본문에 단락으로 그룹화 된 세그먼트가 포함되어있는 경우에만 발생합니다. 따라서 foo\nbar은 번역 할 수 있지만 foo\n\nbar은 번역 할 수 없습니다.
  3. module that is doing the transformation는 본문 이중 \n을 볼 때 =begin에서 =for에, =for을 방출 거부 대신, =begin 발광으로 복귀.

단순히 트릭을 할 것입니다 몇 가지 추가 \n 년대와 그것을 양념을 치기, =begin html을 방출하도록 강제하려면, 무엇 여기에 3 번을 감안할 때.

그러나 어떤 이유로 든 유효한 POD 형식으로 보이는 것은 의도 한대로 렌더링되지 않습니다.

어느

  • A.는 Pod2HTML 층이 경우, 몇 가지 추가 \n 년대는 =begin 도움이 될 수 강제로 (=for에 대응하는 권리를 구분하지 않습니다.
  • B. 보안 있어요 레벨 그게 전부는 문제가 B 경우 복잡한 (AN XSS 보안 위협이 될 수있는 이미지에 하이퍼 링크를 수반 할 수있다) HTML

를 사용에서 당신을 방지 그렇다면 당신은 까다로워지면서 그 주위를 돌아 다니지 않을 것입니다.

내가 당신을 확신하지만, 이 행할 수입니다 표시 이미지, I do it myself