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 al Español de la documentación que el Desarrollador puso en el repo desde donde se la puede descargar.

Este trabajo de Traducción está licenciado por el Autor del Sitio bajo los mismos términos y condiciones de la Web antes citada y por la Licencia FDL 1.3.



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 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.
    • Omite las líneas vacías al final de los bloques de código.
    • Ignora los espacios individuales alrededor de los espacios de código.
    • Mantiene 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.
    • Utiliza 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:
Rodee su texto con * o _ (asterisco o un guión bajo) para obtener un texto con caracteres inclinados:
  • Si se escribe: Esto *es* genial, se obtiene: Esto es genial.
  • También, si se escribe: esto _es_ genial, se obtiene: Esto es genial.
Rodee su texto con ** o __ (dos asteriscos o dos guión bajo seguidos) para obtener un texto en negrita:
  • 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.
Rodee su texto con *** o ___ (tres asteriscos o tres guión bajo seguidos) para obtener un texto con caracteres en negrita e inclinado:
:
  • Si se escribe: Esto ***es*** guay, se obtiene: Esto es guay.
  • También, si se escribe: Esto ___también está bueno, se obtiene: Esto también está bueno.
Pero este ejemplo no funcionará como se espera:
  • ***Hola** cómo va*
    Se trata de un error de wontfix porque haría el código fuente demasiado complejo.
  • Use esto en su lugar:
    ***Hola*** *cómo va*.

Código en línea

Puede producir código en línea rodeándolo con tilde francesa.

    Use `rm -rf /` si es un N00b.
    Use ``rm -rf /`` si es un N00b.
    Use ```rm -rf /``` si es un N00b.
    	
Se pueden usar dobles y triples tildes francesas si el propio código contiene estos caracteres.

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>
Utilice los siguientes prefijos si no le 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 quiere definir una etiqueta para la url, tiene 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 quiere una lista que empiece por el 2, podría escribir
2. Item 2
2. Item 3
2. Item 4
y obtendrá el siguiente HTML que se renderizará con los números 2, 3, 4:
<ol start="2">
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</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>
    Hola
    Esto es una cita con un <a href="http://s01.de/~gottox">enlace</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, también)
Código HTML resultante:

<pre><code>esto.es(código)</code></pre>
<pre><code>esto.es(código, también)
</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 - lenguaje.
  • 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.