Publicar código o texto preformateado

:bookmark: Esta guía explica cómo publicar código o texto preformateado en Discourse utilizando los formatos Markdown, BBCode y HTML.

:person_raising_hand: Nivel de usuario requerido: Todos los usuarios

¿Tiene una línea de código que necesita compartir? ¿Quizás necesite compartir un registro de errores de su sitio? Leer código sin formato puede ser un desafío, especialmente si el código depende de los espacios o contiene caracteres especiales que Discourse transforma.

Resumen

En esta guía, aprenderá:

  • Cómo dar formato al código en línea.
  • Cómo dar formato a líneas de código completas.
  • Cómo dar formato a bloques de código.
  • Cómo usar BBCode y HTML para el formato de código.
  • Cómo deshabilitar el estilo automático de código.

Formato de código en línea

Para dar formato a una sección específica del texto, utilice una sola tilde invertida a cada lado del código. Esto se puede hacer dentro del texto normal o cuando el código está en su propia línea. El formato en línea no aplica ningún formato automático de código (ver más abajo) y solo aplica el “estilo de código” al texto entre las tildes invertidas.

Ejemplo 1:

Escribiendo:

`Esta es una línea de código`

Produce:

Esta es una línea de código

Ejemplo 2:

Escribiendo:

¡Aquí hay algo de texto con un poco de código dentro!

Produce:

¡Aquí hay algo de texto con un poco de código dentro!

Formato de línea de código completa

Para dar formato a una línea completa, agregue 4 espacios al comienzo de una línea. Todo el texto hasta el siguiente salto de línea será código.

Ejemplo:

Escribiendo:

    Todo el texto después de 4 espacios será formateado.

Produce:

Todo el texto después de 4 espacios será formateado.

Formato de bloque de código

Si bien puede usar el método de 4 espacios para producir múltiples líneas de código, esto puede ser tedioso, especialmente si está copiando y pegando y necesita escribir 4 espacios en varias líneas de texto.

En su lugar, use 3 tildes invertidas (```) en su propia línea encima y debajo de su código. Asegúrese de que no haya espacios en las líneas con las tildes invertidas, o esto no funcionará.

Ejemplo:

Escribiendo:

``` 
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("¡Puedo formatear código ahora!");
    }
}
```

Produce:

public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("¡Puedo formatear código ahora!");
    }
}

BBCode y HTML

Además de Markdown, Discourse admite un subconjunto de BBCode y HTML.

Para HTML, utilice las etiquetas <code> y <pre>:

<pre><code>
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("¡Puedo formatear código ahora!");
    }
}
</code></pre>

Para BBCode, utilice la etiqueta [code]:

[code]
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("¡Puedo formatear código ahora!");
    }
}
[/code]

Especificación del lenguaje de programación

Por defecto, Discourse detecta el lenguaje de su código y lo estiliza en consecuencia.

Para especificar manualmente el lenguaje de programación para un bloque de código, escriba el nombre del lenguaje justo después del primer conjunto de tildes invertidas:

``` your_language
// Tu código aquí

Ejemplo

Para especificar Ruby:

Escribir:

``` ruby
3.times do |stuff|
    stuff.do
end
```

Produce:

3.times do |stuff|
    stuff.do
end

El lenguaje debe ser uno de los lenguajes resaltados configurados para el resaltado de sintaxis en su sitio. La lista predeterminada se puede encontrar en config/site_settings.yml buscando highlighted_languages.
Puede establecer el lenguaje de código predeterminado con la configuración del sitio default code lang.

Suprimir el resaltado

Si desea evitar cualquier resaltado de sintaxis, puede usar text como lenguaje:

Ejemplo

Escribiendo:

``` text
Su texto para NO resaltar aquí

Produce:

Su texto para NO resaltar aquí

Mejores prácticas

  • Asegúrese siempre de que su código en línea esté enmarcado con tildes invertidas simples para mayor claridad.
  • Use el formato de bloque de código para compartir fragmentos de código más grandes.
  • Evite el estilo automático de código al compartir texto o registros que no se beneficien del estilo específico del lenguaje.
  • Especifique el lenguaje si la detección automática no está reconociendo su código correctamente.

Recursos adicionales

15 Me gusta

Un enlace fijo y más seguro para la lista predeterminada de idiomas habilitados para el resaltado de sintaxis es https://github.com/discourse/discourse/blob/c4de8565eceeadda8f2a800226a02d0c40752ae6/config/site_settings.yml#L1086-L1087

Se dividieron 3 publicaciones en un nuevo tema: No se puede publicar tema con bloque de código