Esta guía explica cómo publicar código o texto preformateado en Discourse utilizando los formatos Markdown, BBCode y HTML.
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.