5

Estoy tratando de migrar nuestros documentos API y su esquema generador de documentación propietario a reStructuredText. La pieza que da el tiempo más difícil es que tenemos una representación tabular de los datos API, codificado directamente en HTML, al estilo de:Cómo generar resultados tabulares en reStructuredText sin usar el formato de tabla RST?

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

(es decir, este es codificada actualmente como <tr><td class='param'>id</td><td class='required'>Yes</td>...)

que quiero hacer esto en RST pero hazlo semánticamente, en lugar de solo usar un formato de tabla RST. Pero no puedo encontrar buenos ejemplos de custom directives para manejar esto de la manera que quiero, lo que sería algo así como

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

¿Cómo puedo lograr esto en reStructuredText?

Respuesta

3

No creo que necesite una directiva personalizada. ¿Has intentado usar un texto reestructurado estándar List Table?

Se ve algo como esto (de la página enlazada):

.. 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! 

Los encabezados de la tabla están en el primer elemento de la lista externa (en este ejemplo, por lo menos). Incluso si esto no es exactamente lo que quieres, creo que esto te llevará al menos el 90% del camino hasta allí.

+0

Me gusta este. Estoy de acuerdo en que es solo un 90%. Preferiría que los campos fueran más explícitamente "campos" en lugar de solo posicionales, pero es lo suficientemente simple y lo suficientemente limpio como para ser mejor que la complejidad de una directiva personalizada. ¡Gracias! – mrisher

Cuestiones relacionadas