2012-03-21 2 views
6

ReStructured Text 소스에 대해 코드 블록 지시문을 사용하여 rst2html.py를 실행하면 HTML의 코드 비트에 모든 범위와 클래스가 추가되지만 CSS를 실제로 색칠하는 CSS는 없습니다. RST에서 CSS 링크를 추가하거나 CSS를 HTML 파일에 포함시킬 수 있습니까?rst2html.py에서 구문 강조 표시에 CSS를 포함하도록하려면 어떻게해야합니까?

+0

난 당신이 요구하는 것을 정확히 모르겠어요 : 당신이 당신의 HTML 출력에 구문 강조를하고 싶지 않거나 강조 구문을 적용 할 CSS를 가지고 있지만 통합하는 방법을 모른다 할 사용자 정의 CSS 스타일을 빌드 프로세스에 적용 하시겠습니까? – Chris

+0

HTML 출력에서 ​​구문 강조를 원합니다. 클래스 속성은 모두 존재하지만 (예 : ) 빌드 과정에서 추가되는 CSS는 없습니다. –

답변

7

Docutils 0.9부터 code directive을 사용할 수 있습니다. 이 페이지의 예 :

.. code:: python 

def my_function(): 
    "just a test" 
    print 8/2 

또는 구문 강조 표시에 Pygments를 사용할 수 있습니다. Using Pygments in ReST documentsthis SO 대답을 참조하십시오.

마지막으로 this 또는 this 블로그 게시물의 코드를 사용할 수도 있습니다. Pygments에 의해 사용되는 스타일 파일을 얻을

업데이트 주석에서 설명하고있는 바와 같이는 명령 Pygments CSS 스타일 파일 style.css을 생성합니다

pygmentize -S default -f html -a .highlight > style.css 

를 사용합니다.

+0

예. 추가 된 모든 스팬 클래스에 CSS 스타일이 없습니다. CSS를 얻으려면 어떻게해야합니까? –

+0

나는 아직도 그 질문을 정확하게 이해하고 있는지 확신 할 수 없다. Pygments 나'code' 지시자를 사용하고 있습니까? 그렇다면'pygmentize -S default -f html -a .highlight> style.css' 명령은 Pygments CSS 스타일 파일'style.css'을 생성 할 것이고, 그런 다음'--stylesheet'를 사용하여 빌드 프로세스에서 사용하게됩니다. 명령 (또는 유사) 또는'rst2html.py'. – Chris

+0

그것은 내가 찾던 pygentize 명령이었습니다. 고마워요. –

5

docutils 0.9와 0.10에서는 코드, 코드 블록 또는 소스 코드를 사용하는지 여부가 중요하지 않습니다. 모든 지시문은 code role으로 간주됩니다.

이 명령은 rst2html.py에 의해 html에 삽입 될 수있는 CSS를 생성합니다.

기본적
rst2html.py --stylesheet=syntax.css in.txt > out.html 

, rst2html.py 출력 comment, number, integeroperator 같은 클래스 명과 걸쳐 :

pygmentize -S default -f html -a .code > syntax.css 

이 명령은 HTML을 생성한다. 당신은 할 경우 docutils.conf

[parsers] 
[restructuredtext parser] 
syntax_highlight=short 

와 소스, 또는 /etc, 또는 ~/.docutils에서와 같은 디렉토리에 ... 다음 클래스 이름은 c, m, misyntax.css에 의해 생성 된 일치 o 될 것입니다 pygmentize.

See syntax-highlight in docutils documentation