pages/archivos-gendoc/08_smu.html

29 KiB

<html lang="en"> <head> </head>
smu

smu

Programa muy simple para parsear (convertir) texto Markdown a HTML - sintaxis similar a markdown/commonmark

Esta aplicación es una bifurcación desarrollada por Karl Bartel y este documento es la traducción de la documentación que el Chico puso en el repo desde donde se la puede descargar.


  •  »
  •  smu - Un Lenguaje de Marcado simple

smu - Un Lenguaje de Marcado simple

smu es un lenguaje de marcado muy simple y mínimo. Está diseñado para su uso en entornos tipo wiki, y hace que sea muy fácil escribir sus documentos sobre la sobre la marcha y convertirlos en HTML.

smu es capaz de analizar documentos muy grandes. Se adapta muy bien, siempre y cuando se evite usar una gran cantidad de sangrías.

Sintaxis

smu se inició como una reescritura de markdown pero se convirtió en algo más ligero y consistente. Se diferencia de CommonMark en los siguientes aspectos:

  • No admite enlaces de estilo de referencia.
  • Reglas de sangría más estrictas para las listas.
  • Las listas no terminan los párrafos por sí mismas (se necesita una línea en blanco).
  • Las reglas horizontales (<hr>) deben usar - - - como sintaxis
  • Las vallas de código tienen una sintaxis más estricta.

Los parches que aumenten la compatibilidad con CommonMark son bienvenidos siempre que no aumenten la complejidad del código de forma significativa.

Este proyecto es un fork del smu original de Enno Boland. Las principales diferencias con el smu original son:

  • Soporte para vallas de código.
  • Mejora de la compatibilidad con CommonMark. Por ejemplo:
    • Los bloques de código necesitan cuatro espacios de sangría en lugar de tres.
    • Omitir las líneas vacías al final de los bloques de código.
    • Ignora los espacios individuales alrededor de los espacios de código.
    • Mantener los comentarios HTML en la salida.
    • Mejora del cumplimiento de las especificaciones para las listas.
    • El anidamiento de bloques de código entre comillas funciona.
    • Las líneas "vacías" en las listas se comportan de forma idéntica, sin importar la cantidad de espacios en blanco que contengan.
    • No hay escapes de barras invertidas en los bloques de código.
    • Utilizar el primer número como número de inicio para las listas ordenadas.
    • Se ha añadido un sencillo conjunto de pruebas para comprobar la conformidad y evitar regresiones.

Patrones en línea

Hay varios patrones que puede utilizar para resaltar su texto:

Enfatizar:
Rodea tu texto con * o _ (asterisco o un guión bajo) para obtener un texto enfatizado:
  • Si se escribe: Esto *es* genial, se obtiene: Esto es genial.
  • También, si se escribe: esto _es_ genial, se obtiene: Esto es genial.
Rodea tu texto con ** o __ (dos asteriscos o dos guión bajo seguidos) para obtener un texto fuerte:
  • Si se escribe: Esto **es** genial, se obtiene: Esto es genial.
  • También, si se escribe: Esto __también está bueno, se obtiene: Esto también está bueno.
Rodea tu texto con *** o ___ (tres asteriscos o tres guión bajo seguidos) para obtener un texto fuerte y enfatizado:
  • Si se escribe: Esto ***es*** guay, se obtiene: Esto es guay.
  • También, si es escribe: Esto ___también está bueno, se obtiene: Esto también está bueno.
Pero este ejemplo no funcionará como se espera:
  • ***Hola** a ti*
    Se trata de un error de wontfix porque haría el código fuente demasiado complejo.
  • Usa esto en su lugar:
    ***Hola*** *tú*

Código en línea

Puede producir código en línea rodeándolo con signos de retroceso.

  • Utilice `rm -rf /` si eres un N00b.
  • Usa ``rm -rf /`` si eres un N00b.
  • Usa ``rm -rf /`` si eres un N00b.
Se pueden usar dobles y triples signos de retroceso si el propio código contiene signos de retroceso.

Títulos

Crear títulos en smu es muy fácil. Hay dos estilos de sintaxis diferentes. El primero es el subrayado con al menos tres caracteres:

Título
======
Tema
----
Esto es muy intuitivo y se explica por sí mismo. El código fuente resultante es el siguiente esto:
<h1>Título</h1>
<h2>Tema</h2>
Utiliza los siguientes prefijos si no te gusta el subrayado:
# h1
## h2
### h3
#### h4
##### h5
###### h6

Enlaces

La forma más sencilla de definir un enlace es con un simple: <>. Por ejemplo:

<http://s01.de>
Puede hacer lo mismo con las direcciones de correo electrónico:
<yourname@s01.de>
Si quieres definir una etiqueta para la url, tienes que utilizar una sintaxis diferente
[smu - marcado simple](http://s01.de/~gottox/index.cgi/proj_smu)
El código HTML resultante es:
<a href="http://s01.de/~gottox/index.cgi/proj_smu">smu - marcado simple</a></p>

Listas

Definir las listas es muy sencillo:

* Item 1
* Item 2
* Item 3
El código HTML resultante es:
<ul>
   <li>Item 1</li>
   <li>Item 2</li>
   <li>Item 3</li>
</ul>
Definir listas ordenadas también es muy fácil:
1. Item 1
2. Item 2
3. Item 3
Sólo el primer número de una lista es significativo. Todos los siguientes elementos de la lista se se cuentan continuamente. Si quieres una lista que empiece por el 2, podrías escribir
2. Item 1
2. Item 2
2. Item 3
y obtendrá el siguiente HTML que se renderizará con los números 2, 3, 4:
<ol start="2">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ol>

Código y Bloque de cita (Blockquote)

Utilice el > (paréntesis angular de cierre y un espacio) como prefijo de línea para definir las comillas. Las comillas en bloque se interpretadas también. Esto hace posible incrustar enlaces, encabezados e incluso otras citas dentro de una cita:

Esta es una cita con un [enlace](http://s01.de/~gottox)
Resultado:
<blockquote><p>
    Hello
    This is a quote with a <a href="http://s01.de/~gottox">link</a></p>
</blockquote>
Puede definir un bloque de código con un tabulador inicial o con 4 espacios iniciales
    esto.es(code)
	
esto.es(code, too)
Código HTML resultante:

<pre><code>this.is(code)</code></pre>
<pre><code>this.is(code, too)
</code></pre>

Tenga en cuenta que no puede utilizar sintaxis HTML o smu en un bloque de código.

Otra forma de escribir bloques de código es utilizar vallas de código:

```json
{"algo": "código"}
```
Esto tiene dos ventajas:
  • El identificador de idioma opcional se convertirá en un nombre de clase idioma.
  • Puede mantener la sangría original, lo que ayuda a la hora de copiar y pegar.

Tablas

Las tablas se pueden generar con la siguiente sintaxis:

| Encabezado1 | Encabezado2 |
| ----------- | ----------- |
| Celda 1     | Celda2      |
Alinear las columnas hace que la entrada sea más agradable de leer, pero no es necesario para obtener la salida correcta de la tabla. Se puede escribir simplemente
| Encabezado1 | Encabezado2 |
| --- | --- |
| Celda 1 | Celda2 |
Para alinear el contenido de las celdas de la tabla, utilice |:--| para la izquierda, |--:| para la derecha y |:--:| para la alineación centrada en la fila que separa la cabecera del el cuerpo de la tabla.
| Encabezado1 | Encabezado2 | Encabezado3 |
| :---------- | :---------: | ----------: |
| Izquierda   |   Centrado  |     Derecha |

Otras cuestiones interesantes

Para insertar una regla horizontal basta con añadir - - - en una línea vacía:

Hello
- - -
Hello2
Código HTML resultante:
<p>
    Hello
    <hr />
    Hello2
</p>
Cualquier carácter de puntuación ASCII puede escaparse precediéndolo de una barra invertida para evitar que se interpreten:
!"#$%&'()*+,-./:;<=>?@[]^_`{|}~\

Para forzar un salto de línea basta con añadir dos espacios al final de la línea:

No hay salto de línea
aquí.
Pero aquí hay  
uno.

Incrustar HTML

Puede incluir código HTML arbitrario en sus documentos. El código HTML se transmitirá al documento resultante sin modificaciones. Esta es una buena manera de trabajar en torno a las características que faltan en smu. Si no desea este comportamiento, utilice la bandera -n al ejecutar smu para escapar estrictamente de las etiquetas HTML.



© Copyright Tano 2.022
Generated by gendoc v1.0.0

</html>