2012-03-21 13 views
6

Po uruchomieniu rst2html.py przeciwko mojemu źródłu tekstu ReStructured, z dyrektywą code-block, dodaje on wszystkie rozpiętości i klasy do bitów kodu w kodzie HTML, ale CSS, aby faktycznie pokolorować te spacje, jest nieobecny. Czy można uzyskać RST, aby dodać link CSS lub osadzić CSS w pliku HTML?Jak mogę uzyskać rst2html.py, aby dołączyć CSS do podświetlania składni?

+0

Nie jestem do końca pewien, co prosicie: chcesz dostać podświetlanie składni w swoim wyjściu HTML, czy masz CSS do stosowania tego podświetlanie składni, ale nie wiem jak włączyć niestandardowy styl CSS do procesu budowania? – Chris

+0

Chcę podświetlanie składni w wyjściu HTML. Wszystkie atrybuty klasy istnieją (np. ), ale nie ma towarzyszącego CSS dodawanego przez proces kompilacji. –

Odpowiedz

7

Od wersji Docutils 0.9 można użyć code directive. Na przykład na tej stronie:

.. code:: python 

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

Można również użyć Pygments do podświetlania składni. Zobacz odpowiedź: Using Pygments in ReST documents i this.

Wreszcie można również użyć kodu w blogu this lub this.

Aktualizacja Jak wspomniano w komentarzach, aby pobrać plik styl używany przez Pygments użyć polecenia

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

który wygeneruje plik CSS Pygments stylu style.css.

+0

Tak, ale nie ma stylów CSS dla wszystkich klas zakresu, które zostaną dodane. Jak mogę uzyskać CSS? –

+0

Nadal nie jestem pewien, czy dokładnie rozumiem pytanie. Czy używasz Pygments lub dyrektywy 'code'? Jeśli tak, polecenie 'pygmentize -S default -f html -a .highlight> style.css' wygeneruje plik stylów Pygments CSS' style.css', który następnie wykorzystasz w procesie kompilacji używając '--stylesheet' polecenie (lub podobne) lub 'rst2html.py'. – Chris

+0

To było to rozkaz, którego szukałem, dzięki. –

5

W docutils 0.9 i 0.10 nie ma znaczenia, czy używasz kodu, bloku kodu lub kodu źródłowego. Wszystkie dyrektywy są uważane za code role.

To polecenie wygeneruje css, który może być osadzony w html przez rst2html.py.

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

Polecenie generuje HTML:

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

domyślnie rst2html.py wyjścia rozciągający się z nazwy, klasy, takie jak commentnumber, integer i operator. Jeśli masz docutils.conf albo w tym samym katalogu, co źródła lub /etc lub w ~/.docutils z

[parsers] 
[restructuredtext parser] 
syntax_highlight=short 

... wtedy nazwy klasy będą c, m, mi i o który pasuje syntax.css generowane przez pygmentize.

See syntax-highlight in docutils documentation

Powiązane problemy