5

Sto provando a migrare i nostri documenti API e il loro schema di generatore di documentazione proprietario su reStructuredText. Il pezzo che dà il momento più difficile è, abbiamo una rappresentazione tabellare di dettagli API, codificate direttamente in HTML, a la:Come generare output tabulare in reStructuredText senza utilizzare il formato tabella RST?

--------+------------+--------+--------------------------------+ 
Param | Required | Type | Description 
---------------------------------------------------------------- 
id  |  Yes | int | This is the ID of the record... 
content |  No  | string | Optional string contents... 

(ad esempio questo è attualmente codificato come <tr><td class='param'>id</td><td class='required'>Yes</td>...)

che voglio fare questo in RST ma farlo semanticamente, piuttosto che usare solo un formato tabella RST. Ma non riesco a trovare nessuna buoni esempi di custom directives per gestire questa situazione nel modo desiderato, che sarebbe qualcosa di simile

:.. parameter-table:: My Parameter Table 
    .. item:: 
     :param: "id" 
     :required: true 
     :type: "int" 
     :desc: "This is the ID of the record..." 

Come posso fare questo in reStructuredText?

risposta

3

Non penso che sia necessaria una direttiva personalizzata. Hai provato a utilizzare un testo ristrutturato standard List Table?

Sembra qualcosa di simile (dalla pagina linkata):

.. list-table:: Frozen Delights! 
    :widths: 15 10 30 
    :header-rows: 1 

    * - Treat 
    - Quantity 
    - Description 
    * - Albatross 
    - 2.99 
    - On a stick! 
    * - Crunchy Frog 
    - 1.49 
    - If we took the bones out, it wouldn't be 
     crunchy, now would it? 
    * - Gannet Ripple 
    - 1.99 
    - On a stick! 

Le intestazioni della tabella sono in primo elemento della lista esterna (in questo esempio, almeno). Anche se questo non è esattamente quello che vuoi, penso che questo ti porterà almeno il 90% del tempo.

+0

Mi piace questo. Sono d'accordo che è solo il 90% - preferirei se i campi fossero più esplicitamente "campi" anziché solo posizionali - ma è semplice e abbastanza pulito che probabilmente è meglio della complessità di una direttiva personalizzata. Grazie! – mrisher

Problemi correlati