2010-08-19 8 views
5

Uso restructuredText, y me gusta lo que Smartypants hace por Markdown. ¿Hay alguna manera de habilitar lo mismo para restructuredText?¿Puedo agregar "Smartypants" a restructuredText?

+0

Parece que se cortó en la mitad de la transmisión ...: P –

+0

@Nick: Thanks. Ni siquiera sé lo que estaba tratando de decir allí. –

Respuesta

1

Como dice Alex Martelli, SmartyPants es lo que necesito. Sin embargo, estaba buscando información un poco más detallada sobre cómo usarlo. Así que aquí hay una secuencia de comandos de Python que lee el archivo llamado en el primer argumento de línea de comando, lo convierte a HTML, usando Pygments para sourcecode, y luego lo pasa a través de smartypants para embellecer.

#!/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

¿Has probado smartypants.py? No sé qué tan bien está implementado, mucho menos qué tan bien funciona para sus casos de uso específicos, pero parece apuntar exactamente a su objetivo, la unificación de algunas construcciones ascii (sin embargo, se ejecuta en HTML, así que supongo Lo ejecutaría después derestructuredText o cualquier otro componente "productor de HTML").

Si eso no funciona bien para usted, un usuario ha enviado un patch a python-markdown2 que él llama "este parche SmartyPants" - ha sido aceptado y desde hace un mes es parte del árbol fuente actual de python-markdown2 (r259 o mejor). Eso puede ofrecer una navegación más suave (por ejemplo, si acaba de obtener y construyó python-markdown2 como de solo lectura svn tree). O bien, podría esperar el próximo lanzamiento descargable (no ha habido uno desde mayo y este parche fue aceptado a mediados de julio), pero quién sabe cuándo sucederá.

Cuestiones relacionadas