2011-06-29 13 views
39

¿Es posible insertar texto en Restructured Text?Rect tachado

Algo que por ejemplo hace como una etiqueta <strike> cuando se convierte a HTML, como: reStructuredText

+0

Cuando utiliza Sphinx, esto podría ayudar: http://stackoverflow.com/a/24932178/2923406 – Rolf

Respuesta

39

he comprobado la documentación mejor, según lo sugerido por Ville Säävuori, y decidió añadir el tachado como esto:

.. role:: strike 
    :class: strike 

En el documento, esto se puede aplicar de la siguiente manera:

:strike:`This text is crossed out` 

Luego, en mi archivo css que tienen un ingreso:

.strike { 
    text-decoration: line-through; 
} 
10

According to the official spec hay ninguna directiva para tachado marcado en reposo.

Sin embargo, si el entorno permite: raw: role o si puede escribir sus propios roles, puede escribir un plugin personalizado para él.

11

allí s al menos tres maneras de hacerlo:

.. role:: strike 

An example of :strike:`strike through text`. 

.. container:: strike 

    Here the full block of test is striked through. 

An undecorated paragraph. 

.. class:: strike 

This paragraph too is is striked through. 

.. admonition:: cancelled 
    :class: strike 

I strike through cancelled text. 

Después de aplicar rst2html que se obtiene:

<p>An example of <span class="strike">strike through text</span>.</p> 
<div class="strike container"> 
Here the full block of test is striked through.</div> 
<p>An undecorated paragraph.</p> 
<p class="strike">This paragraph too is is striked through.</p> 
<div class="strike admonition"> 
<p class="first admonition-title">cancelled</p> 
<p class="last">I strike through cancelled text.</p> 

las usa con un estilo

.strike { 
    text-decoration: line-through; 
} 

Aquí he tomado la admonition directiva como ejemplo pero cualquier directiva que permita la opción :class: haría.

Como genera un span, la directiva role es la única que permite aplicar su estilo a una parte de un párrafo.

Es redundante añadir una clase strike a una directiva también llamado strike, como sugieren Gozzilli, debido a que el nombre de la directiva es la clase por defecto para la salida html.

He comprobado estas sintaxis tanto con rest2html y Sphinx. Pero mientras todo funciona según lo esperado con rest2html la directiva class falla con Sphinx. Usted tiene que reemplazarlo con

.. rst-class:: strike 

This paragraph too is is striked through. 

Ésta es solamente se indica en una pequeña footnote of Sphinx reSt Primer.

+0

Seguro sobre ese enlace. No parece que vaya donde tu quisiste. – Tshepang

+2

@Tshepang, comprobé, el enlace termina en una nota al pie que dice: _Cuando el dominio predeterminado contiene una directiva de clase, esta directiva se sombreará. Por lo tanto, Sphinx lo reexporta como primera clase. – marcz

+0

No lo noté. Lo siento. – Tshepang

4

Encontré las otras respuestas muy útiles. No estoy muy familiarizado con Sphinx pero lo estoy usando para un proyecto.Yo también quería la habilidad de tachar y ponerla en funcionamiento en base a las respuestas anteriores. Para ser claros, agregué mi rol de tachado como gozzilli mencionado, pero lo guardé dentro de mi conf.py usando la variable rst_prolog como se discutió en la cadena de desbordamiento de pila here. Esto significa que este rol está disponible para todos sus archivos de descanso.

Luego extendí la plantilla html base como se describe arriba creando layout.html dentro de _templates dentro de mi directorio fuente. El contenido de este archivo son:

{% extends "!layout.html" %} 
{% set css_files = css_files + ["_static/myStyle.css"] %} 

Esto incluye básicamente un archivo CSS personalizado a todos sus documentos html por defecto incorporados.

Por último, en mi directorio _static dentro de mi directorio de origen Incluí el archivo que contiene myStyle.css:

.strike { 
    text-decoration: line-through; 
} 

Qué las otras respuestas ya han proporcionado.

Simplemente estoy escribiendo esta respuesta, ya que no era obvio para mí con mi experiencia limitada de Sphinx qué archivos editar.

Cuestiones relacionadas