Cómo utilizar el color de texto con texto reestructurado (rst2html.py) o cómo insertar etiquetas HTML sin líneas en blanco?

StackOverflow https://stackoverflow.com/questions/4669689

Pregunta

¿Cómo puedo utilizar el color con el texto reestructurado? Por ejemplo, **hello** traduce en <strong>hello</strong>. ¿Cómo puedo hacer reestructurar (rst2html.py) traducir algo en <font color="####">text</font>?

pensé en ..raw :: html, pero introduce líneas en blanco. Quiero insertar etiquetas HTML sin líneas en blanco.

¿Fue útil?

Solución

He encontrado este método de trabajo

En primer lugar, usted tiene el papel.

.. role:: red

An example of using :red:`interpreted text`

Se traduce en la siguiente manera.

<p>An example of using <span class="red">interpreted text</span></p>

Ahora, usted tiene la clase de color rojo, se puede utilizar CSS para cambiar los colores.

.red {
    color:red;
}

Otros consejos

Bueno, yo soy un nuevo usuario en este momento, por lo tanto no puedo comentar sobre otros respuesta, gracias a la política de StackOverflow aquí. https://meta.stackexchange.com/questions/ 51926 / nuevos usuarios-cant-pedir-para-aclaraciones, excepto por uso respuestas

La respuesta de Sienkiew es bueno, pero quiero hacer la corrección sobre su última frase.

No hay manera de especificar la hoja de estilos en el archivo RST. La pista está en post original de Prosseek, que es la prima .. :: directiva.

puede poner líneas siguientes al inicio de nuestro archivo RST especificar su estilo.

.. raw:: html

    <style> .red {color:red} </style>

La otra respuesta aquí alude a lo que quería hacer, pero que cuentan con conocimientos detallada sobre las hojas de estilo en docutils. Aquí es un libro de cocina una explicación:

En el archivo RST, declarar el papel una vez y luego utilizarlo:

    .. role:: red

    This text is :red:`colored red` and so is :red:`this`

A continuación, se necesita un archivo de hoja de estilo. En primer lugar, utilizar Python para copiar la hoja de estilo por defecto del paquete docutils:

    python
    import os.path
    import shutil
    import docutils.writers.html4css1 as h
    shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css")

A continuación, editar my.css para agregar personalizaciones al final:

    .red {
            color: red;
    }

Crear un archivo de configuración docutils llamado "docutils.conf":

    [html4css1 writer]
    stylesheet-path: my.css
    embed-stylesheet: yes

rst2html.py uso para convertir el documento:

    rst2html.py my_document.rst > my_document.html

Si no desea utilizar docutils.conf, puede especificar la hoja de estilo cada vez que ejecute rst2html:

    rst2html.py --stylesheet my.css my_document.rst > my_document.html

Que yo sepa, no hay ninguna manera de especificar la hoja de estilos en el archivo RST.

La combinación de prosseek @ y @ respuestas de RayLuo en un solo lugar - para hacer más fácil para encontrar

En la parte superior de su archivo RST, lugar

.. raw:: html

    <style> .red {color:red} </style>

.. role:: red

:red:`test - this text should be red`

LADO COMENTARIO:

Por supuesto, mucha gente va a querer el estilo en un archivo separado, como dice @sienkiew.

Pero no siempre.

por ejemplo. Estoy generando por encima de la de un guión que quiere que otros usuarios puedan ejecutar, a menudo desde una dirección de fichero. Dependiendo de rst2html.py es bastante malo - que requiere algo no estándar que estar en un fichero de configuración es peor.

Si hubiera una manera de crear una definición local débil para el estilo - por ejemplo, "Si no hay un estilo .red uso ya definido esto, pero en caso contrario utilice el estilo ya definido" - estaría bien. Pero yo sepa definiciones locales son más fuertes.

Esta corrió con rst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin), pero otras herramientas RST rechazados.

funciona para mí de esta manera:

.. raw:: html

    <style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>

.. role:: red

:red:`test - this text should be red``
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top