2009-07-28 44 views
14

Tôi định sử dụng reStructuredText để viết tài liệu với mục đích chính là tạo một số trang HTML đẹp. Đối với điều này tôi sử dụng công cụ docutils rst2html.py.Cách chuyển đổi reStructuredText thành văn bản thuần túy

Tuy nhiên, tôi cũng có thể cần trình bày tài liệu ở định dạng văn bản thuần túy đẹp, không có đánh dấu lại cấu trúc lại và đoạn văn bản và định dạng đẹp tương tự vẫn được thực hiện trên đầu ra văn bản. Tuy nhiên, không có công cụ rst2txt.py trong docutils.

Có cách nào để chuyển đổi reStructuredText thành định dạng văn bản thuần túy đẹp, có thể sử dụng các tùy chọn đặc biệt cho docutils không?

+3

Tôi nghĩ rằng reStructuredText là “định dạng văn bản thuần túy đẹp” mà bạn đang tìm kiếm ngay từ đầu! –

Trả lời

9

Nhân sư có TextBuilder cho định dạng đầu ra txt. Chỉ cần thử nó và nó dường như làm những gì bạn đang tìm kiếm.

Tuy nhiên, có thể hơi lỗi thời vì nó không nằm trong Makefile mặc định. Nhưng nó hoạt động tốt trên tài liệu khá phức tạp của tôi (150 trang pdf). Để sử dụng nó, chỉ cần thêm mục tiêu sau vào nó:

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

Ngoài ra, hãy nhớ rằng Sphinx chỉ thực hiện một tập con của thông số đầu tiên.

+0

Cảm ơn Thoriann, tôi đã có thể làm việc này thông qua makefile. Tôi cũng muốn sử dụng TextBuilder trực tiếp từ Python, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về điều này. Bạn có biết nơi để tìm tài liệu cho lớp TextBuilder, hoặc một ví dụ ngắn cho thấy cách sử dụng nó từ Python? Trân trọng, Morten –

+0

Tôi cũng không biết bất kỳ tài liệu nào về vấn đề này. Bạn có thể tìm trong cmdline.py từ mã nguồn Sphinx cho một ví dụ. Dường như doable, nếu bạn thực sự muốn điều đó. – tsg

+0

Hi Thoriann, Cảm ơn bạn đã trả lời. Cuối tuần vui vẻ. Kính trọng, Morten –

11

Tôi cũng đã thấy điều này được thực hiện bằng cách làm cho html sử dụng rst2html, sau đó chuyển đổi html để văn bản đơn giản bằng cách sử dụng một trình duyệt html dòng lệnh, chẳng hạn như:

Mỗi trình duyệt có một chuyển đổi dòng lệnh hoặc tương tự để làm cho sản lượng của nó vào một tập tin .txt, vì vậy bạn có thể tạo ra một kịch bản hai dòng gọi là 'rst2txt', một cái gì đó như:

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

Điều này làm việc tốt nhất cho tôi. Tôi nghĩ rằng điều 'đúng' là viết một bản định kiểu XLST để chuyển đổi thành txt và có thể là chế độ org – JeffG

0

Các NoTex.ch văn bản trực tuyến trình soạn thảo (với hỗ trợ cho rST) bao gồm hỗ trợ chuyển đổi văn bản thuần túy (dựa trên Sphinx 'TextBuilder).

Các vấn đề liên quan