2009-07-28 18 views
14

Mam zamiar użyć reStructuredText do napisania dokumentacji z głównym celem generowania ładnych stron HTML. Do tego używam narzędzia docutils rst2html.py.Jak przekonwertować tekst reStructuredText na zwykły tekst

Jednak może również zajść potrzeba przedstawienia dokumentacji w ładnym formacie zwykłego tekstu, czyli bez znacznika reStructuredText, oraz w przypadku, gdy w tekście jest nadal wykonywane zawijanie akapitów i podobne ładne formatowanie. Ale nie ma żadnego narzędzia rst2txt.py w docutils.

Czy istnieje sposób przekonwertowania pliku reStructuredText na ładny format zwykłego tekstu, być może przy użyciu specjalnych opcji do dokumentów?

+3

Myślę, że reStructuredText to "ładny format zwykłego tekstu", którego szukasz w pierwszej kolejności! –

Odpowiedz

9

Sphinx ma TextBuilder dla formatu wyjściowego txt. Po prostu wypróbowałem i wydaje się, że robię to, czego szukasz.

Może to być jednak trochę nieaktualne, ponieważ nie znajduje się w domyślnym pliku Makefile. Ale działało dobrze na mojej dość złożonej dokumentacji (150 stron pdf). Aby z niego skorzystać, wystarczy dodać do niego następujący cel:

text: 
    $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) _build/text 
    @echo 
    @echo "Build finished." 

Ponadto, należy pamiętać, że Sfinks implementuje tylko podzbiór specyfikacji RST.

+0

Dzięki Thoriann, udało mi się uruchomić to przez makefile. Chciałbym również użyć TextBuilder bezpośrednio z Pythona, ale nie mogłem znaleźć żadnej dokumentacji tego. Czy wiesz, gdzie znaleźć dokumentację dla klasy TextBuilder, lub krótki przykład pokazujący, jak używać go w Pythonie? Pozdrawiam, Morten –

+0

Nie znam żadnej dokumentacji w tym zakresie. Możesz szukać w cmdline.py z kodu źródłowego Sphinx dla przykładu. Wydaje się to wykonalne, jeśli naprawdę tego chcesz. – tsg

+0

Witaj Thoriann, dzięki za odpowiedź. Miłego weekendu. Pozdrawiam, Morten –

11

widziałem też to zrobić przez renderowania HTML za pomocą rst2html, następnie konwersja html do zwykłego tekstu przy użyciu przeglądarki HTML wiersza polecenia, takie jak:

Każda z tych przeglądarek posiada przełącznik wiersza polecenia lub podobnego do renderowania jego wyjście do pliku txt, więc można utworzyć skrypt dwóch linii o nazwie „rst2txt”, coś jak:

rst2html docs.rst docs.html 
lynx -dump docs.html > docs.txt 
+0

Ten działał najlepiej dla mnie. Myślę, że "właściwą" rzeczą jest napisanie arkusza stylów XLST do konwersji na txt i może tryb org – JeffG

0

The NoTex.ch tekstu internetowego edytor (z obsługą rST) obejmuje obsługę konwersji tekstowej (która jest oparta na TextBuilder Sphinx).

Powiązane problemy