2010-08-19 21 views

Trả lời

1

Như Alex Martelli nói, smartyPants là những gì tôi cần. Tuy nhiên, tôi đã tìm kiếm một chút thông tin chi tiết hơn về cách sử dụng nó. Vì vậy, đây là một kịch bản Python mà đọc tập tin có tên trong đối số dòng lệnh đầu tiên, chuyển đổi nó thành HTML, sử dụng Pygments cho sourcecode, và sau đó vượt qua nó thông qua smartypants để prettifying.

#!/usr/bin/python 
# EASY-INSTALL-SCRIPT: 'docutils==0.5','rst2html.py' 
""" 
A minimal front end to the Docutils Publisher, producing HTML. 
""" 

try: 
    from ulif.rest import directives_plain 
    from ulif.rest import roles_plain 
    from ulif.rest import pygments_directive 

    import locale 
    locale.setlocale(locale.LC_ALL, '') 
except: 
    pass 

from docutils.core import publish_doctree, publish_from_doctree 
from smartypants import smartyPants 
import sys 


description = ('Personal docutils parser with extra features.') 

doctree = publish_doctree(file(sys.argv[1]).read()) 
result = publish_from_doctree(doctree, writer_name='html') 
result = smartyPants(result) 
print result 
2

Bạn đã thử smartypants.py chưa? Tôi không biết nó được triển khai tốt như thế nào, nó hoạt động tốt như thế nào đối với trường hợp sử dụng cụ thể của bạn, nhưng nó dường như nhắm mục tiêu chính xác mục tiêu của bạn, unicode-ification của một số cấu trúc ascii (tuy nhiên, nó chạy trên HTML, vì vậy tôi đoán bạn sẽ chạy nó saurestructuredText hoặc bất kỳ thành phần "nhà sản xuất HTML" nào khác).

Nếu điều đó không hoạt động tốt cho bạn, người dùng đã gửi patch tới python-markdown2 mà anh gọi là "bản vá SmartyPants" này - nó đã được chấp nhận và kể từ một tháng trước, nó là một phần của cây nguồn hiện tại python-markdown2 (r259 hoặc tốt hơn). Điều đó có thể cung cấp thuyền buồm mượt mà hơn (ví dụ: nếu bạn chỉ nhận và xây dựng python-markdown2 dưới dạng chỉ đọc svn tree). Hoặc, bạn có thể chờ bản phát hành có thể tải xuống tiếp theo (chưa có bản phát hành nào kể từ tháng 5 và bản vá này được chấp nhận vào giữa tháng 7), nhưng ai biết khi nào điều đó sẽ xảy ra.

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