2010-08-19 4 views
5

Ich benutze restructuredText, und ich mag, was Smartpants für Markdown tut. Gibt es eine Möglichkeit, das Gleiche für restructuredText zu aktivieren?Kann ich "Smartypants" zu restructuredText hinzufügen?

+0

Sieht so aus, als wären Sie mitten in der Übertragung abgeschnitten ...: P –

+0

@Nick: Danke. Ich weiß nicht einmal, was ich dort sagen wollte. –

Antwort

1

Wie Alex Martelli sagt, ist smartyPants, was ich brauche. Ich war jedoch auf der Suche nach ein wenig detailliertere Informationen darüber, wie man es benutzt. Hier ist ein Python-Skript, das die im ersten Befehlszeilenargument angegebene Datei liest, sie in HTML umwandelt, unter Verwendung von "Segmente" für sourcecode, und sie dann für die Verschönerung durch Smartypants weiterleitet.

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

Haben Sie versucht smartypants.py? Ich weiß nicht, wie gut es implementiert ist, geschweige denn, wie gut es für Ihre speziellen Anwendungsfälle funktioniert, aber es scheint genau auf Ihr Ziel zu zielen, die Unikodierung einiger Ascii-Konstrukte (allerdings läuft es auf HTML, denke ich Sie würden es nachrestructuredText oder was auch immer andere "Hersteller von HTML" -Komponente laufen lassen.

Wenn das nicht gut für Sie funktioniert, hat ein Benutzer eine patch an python-markdown2 gesendet, die er "dieses SmartyPants-Patch" nennt - es wurde akzeptiert und seit einem Monat ist es Teil des aktuellen Quellbaums von python-markdown2 (r259 oder besser). Dies kann ein glatteres Segeln bieten (z. B. wenn Sie python-markdown2 nur als schreibgeschützten Code erhalten und erstellen) svn tree). Oder Sie könnten auf das nächste herunterladbare Release warten (seit Mai gab es keinen mehr und dieser Patch wurde Mitte Juli akzeptiert), aber wer weiß, wann das passieren wird.