close

Testo ristrutturato

Vai alla navigazione Vai alla ricerca

Testo Ristrutturato
Immagine del logo
Estensione .rst
Tipo MIME testo/x-primo [1]
Tipo di formato formati di testo
Sito web docutils.sourceforge.io/… ​(  inglese)

reStructuredText (abbreviazione: ReST , estensione file: .rst ) è un linguaggio di markup leggero . Funziona bene per creare semplici pagine web e altri documenti, e anche come linguaggio ausiliario quando si scrivono commenti nel codice del programma. Utilizzato dal sistema di documentazione tecnica Docutils [2] , scritto principalmente da David Goodger. reStructuredText può essere considerato un discendente dei leggeri sistemi di markup StructuredText e Setext. Il parser reStructuredText supporta un discreto numero di formati di output, inclusi PDF , HTML , ODT , LaTeX e il formato di presentazione S5 .

Il sistema di documentazione Sphinx [3] , scritto per la necessità di documentare il linguaggio di programmazione Python sul sito docs.python.org e costruito sulla base di Docutils, è già utilizzato in diverse decine di progetti [4] . ReST è uno dei linguaggi di markup utilizzati su github [5] , in particolare per i file README . Il formato è sperimentale in Project Gutenberg [6] [7] .

Storia

Jim Fulton, il creatore di Zope , ha ideato un linguaggio di markup StructuredText che assomiglia a un markup WikiWikiWeb semplificato . I problemi di StructuredText hanno portato alla creazione da parte di David Goodger di un linguaggio di markup chiamato ReStructuredText. Durante la creazione, sono stati perseguiti i seguenti obiettivi [8] :

  • Leggibilità
  • discrezione
  • Non ambiguità
  • Niente sorprese
  • Intuitività
  • Semplicità
  • Scalabilità
  • Potenza espressiva
  • Neutralità linguistica
  • Espandibilità
  • Indipendenza dal formato di output

Di conseguenza, PEP 287 ( proposta di miglioramento di Python )  è apparso nel 2002  con una descrizione di ReStructuredText.

Esempio di sintassi

====================
 Nome del documento
 ====================
 
 intestazione
 ---------
 
 Del testo normale, *testo in corsivo*, **testo in grassetto** e un link_:
 
 * voce dell'elenco puntato
 * voce dell'elenco puntato
 
 1. Il primo elemento di un elenco ordinato
 2. Il secondo elemento dell'elenco numerato

 .. figura:: http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png
 
     Logo Wikipedia russo
 
 .. _link: http://ru.wikipedia.org

Markup Docstring (tra virgolette triple) nel codice Python [1] :

 Custode di classe ( Conservatore ):

    """ 
    Mantieni i dati più freschi più a lungo.

    Estendi `Store'. L' attributo di classe `instances` tiene traccia 
    del numero di oggetti `Keeper` istanziati. 
    """

    instances  =  0 
    """Quanti oggetti `Keeper` ci sono?"""

    def  __init__ ( self ): 
        """ 
        Estendi `Storer.__init__()` per tenere traccia delle 
        istanze. Tieni il conteggio in `self.instances` e i dati 
        in `self.data`. 
        """ 
        Storer . __init__ ( auto ) 
        . istanze  +=  1

        . data  =  [] 
        """Memorizza i dati in un elenco, i più recenti per ultimi.""" 
...

Vedi anche

Note

  1. 1 2 PEP 287 - formato Docstring reStructuredText . Estratto il 29 settembre 2012 . Archiviato dall'originale il 17 settembre 2012.
  2. ^ Mertz, David XML Matters: reStructuredText (link non disponibile) . Sviluppatore IBMWorks (1 febbraio 2003). Estratto il 28 dicembre 2011 . Archiviato dall'originale il 26 ottobre 2012. 
  3. Generatore di documentazione Sphinx (downlink) . Estratto il 29 settembre 2012 . Archiviato dall'originale il 20 maggio 2012. 
  4. Progetti che utilizzano Sphinx (downlink) . Estratto il 29 settembre 2012 . Archiviato dall'originale il 15 settembre 2012. 
  5. Marcatura GitHub . Estratto il 29 settembre 2012 . Archiviato dall'originale il 20 luglio 2012.
  6. Newsletter mensile PG (07-03-2012) . Estratto il 29 settembre 2012 . Archiviato dall'originale il 5 settembre 2014.
  7. RST _ Estratto il 29 settembre 2012 . Archiviato dall'originale il 9 giugno 2012.
  8. ^ Thomas Amaro. Padroneggiare IPython 4.0. — Editoria Packt, 2016.

Collegamenti