2012-03-19 3 views
0

.rst 파일의 자리 표시자를 어떻게 실제 값으로 사용자 정의 할 수 있습니까? 나는 그것을인지 궁금 또한docutils/reStructuredText 템플릿 기능

rst2html example.rst -o example.html -Dcustom_text="this is the value of custom property" 

: 나는 다음 명령을 실행하여 값 this is the value of custom property${custom_text} 속성을 대체 할

Header 
------------------------------------ 
${custom_text} 

: 예를 들어

, 나는 다음과 같은 내용으로 example.rst 파일이 파일 .properties을 사용하여 템플릿을 사용자 정의 할 수 있습니까? 예를 들어, 나는 다음과 같은 내용으로 example.properties 파일을 사용하여 rst2html example.rst -o example.html -p example.properties 명령을 실행하고 싶습니다 : 가능

custom_text=this is the value of custom property 

인가? reStructuredText는 템플릿 기능을 전혀 지원합니까?

편집 : 내가 명령 줄이나 기존의 .properties 파일을 사용하는 템플릿을 사용자 정의 할 수 있습니다 (관리 도구를 구축 개미/Maven을 사용할 수 있습니다).

답변

8

replace 지시문을 사용하여 reStructuredText 파일에서 대체가 수행됩니다. 예를 들어 :

I am using |RST|. 

.. |RST| replace:: reStructuredText 

내가 reStructuredText를 사용하고있는 텍스트

가 발생합니다.

include 지시어를 사용하면 별도의 파일에 대체 템플릿 목록을 정의 할 수 있습니다.

Header 
====== 

.. Include templates from external file (this is a comment). 
.. include:: properties.rst 

I can include text, like |my custom text|, from other files. 

문서가 발생합니다

.. |my custom text| replace:: "example text" 

을 properties.rst : example.rst

예를 들어, 다음 두 파일 주어진

헤더

다른 파일의 "예제 텍스트"와 같은 텍스트를 포함 할 수 있습니다.

여기에서 rst2html.py example.rst 명령을 사용하여 HTML 출력을 생성했습니다.

+0

reStructuredText의 템플리트 기능에 대한 훌륭한 답을 제공했습니다. reStructuredText의 템플릿 기능에 대해 알지 못했다는 것을 인정할 필요가 있습니다. 하지만 여전히 문제가 해결되지 않을까 걱정됩니다 - 커맨드 라인이나 기존의'.properties' 파일 (Ant/Maven 빌드 관리 도구에서 사용할 수 있습니다)을 사용하여 템플릿을 사용자 정의하고 싶습니다. – altern

+1

당신은 이러한 것들을 직접 쓰십시오. rst2html.py에는'-p' 또는'-D' 옵션이 없으므로 일종의 래퍼 스크립트가 필요합니다. '-D' 동작은 reStructuredText 파일을 C 언어 전처리 기와 같이 실행하여 얻을 수 있습니다. 좀 더 시간이 필요할 때 속성 파일에 대해 생각해 보겠습니다.그러나 reStructuredText를 사용하도록 설계되지 않은 방식으로 사용하려는 경우, 이는 가치가있는 것보다 더 많은 문제 일 수 있습니다. – Chris

+0

알았어. 당신 말이 맞아요. 다른 형식을 사용해야합니다. – altern