Descripcion del lenguaje WikiUV
El Wikiuv de la Universitat de València

El lenguaje Wikiuv

El lenguaje Wikiuv es un lenguaje sencillo de descripción de la estructura de un texto. Se trata de que sea fácilmente traducible a HTML (u otro lenguaje estándar) y, a la vez, muy sencillo de recordar, breve y rápido de escribir.

Definimos a continuación los ítems del lenguaje y, para facilitar la comprehensión, incluímos entre paréntesis su equivalencia en HTML.

Párrafos

Es párrafo (<p>) toda serie de líneas seguidas que empiezen en la primera columna y no se identifiquen con ninguno de los otros ítems.

Los párrafos se separan con una línea en blanco.

Saltos de línea

Para forzar un salto de línea, sin empezar un nuevo párrafo se pone una "/" al final de la línea sin ningún espacio detrás.

Ejemplo:

 Que es mi barco mi tesoro,/
 que es mi dios la libertad,/
 mi ley, la fuerza y el viento,/
 mi única patria, la mar.

Se muestra como:

  • Que es mi barco mi tesoro,
    que es mi dios la libertad,
    mi ley, la fuerza y el viento,
    mi única patria, la mar.

Títulos

Una serie de uno a cinco "=" seguidos de un espacio al principio de línea definen un título (<h1>,<h2>,<h3>,<h4>,<h5>).

Ejemplos:

 = Título, primer nivel
 == Título, segundo nivel
 === Título, tercer nivel
 ==== Título, cuarto nivel
 ===== Título, quinto nivel

Se muestra como:

Título, primer nivel

Título, segundo nivel

Título, tercer nivel

Título, cuarto nivel

Título, quinto nivel

Una "!" detrás del último "=" impide que la cabecera sea tenida en cuenta en los índices.

Si se ponen más de seis "=", se vuelve a empezar desde el primer nivel; es decir siete "=" equivalen a uno, ocho a dos y así sucesivamente. Esto permite destacar más las cabeceras en el fichero wiki si así se desea.

Rayas

Una serie de 4 o más guiones a principio de línea definen una raya (<hr size=1>,<hr size=2>,... ).

Ejemplos:

 ---- Raya, espesor 1 
 ------ Raya, espesor 3
 ----------- Raya, espesor 8

Se muestra como:




Texto indentado

Unas líneas que empiezan con uno o más espacios a principio de línea, indican un texto indentado (<ul>). Cada dos espacios se incrementa de un nivel la indentación.

Ejemplo:

  Texto indentado hacia dentro, hacia dentro.
  Texto indentado hacia dentro, hacia dentro.
  Texto indentado hacia dentro, hacia dentro.
  Texto indentado hacia dentro, hacia dentro.
      Texto aún más indentado hacia dentro, más hacia dentro.
      Texto aún más indentado hacia dentro, más hacia dentro.
    Texto indentado muy hacia dentro, muy hacia dentro.
    Texto indentado muy hacia dentro, muy hacia dentro.
  Texto indentado hacia dentro, hacia dentro.
  Texto indentado hacia dentro, hacia dentro.

Se muestra como:

  • Texto indentado hacia dentro, hacia dentro. Texto indentado hacia dentro, hacia dentro. Texto indentado hacia dentro, hacia dentro. Texto indentado hacia dentro, hacia dentro.
      • Texto aún más indentado hacia dentro, más hacia dentro. Texto aún más indentado hacia dentro, más hacia dentro.
    • Texto indentado muy hacia dentro, muy hacia dentro. Texto indentado muy hacia dentro, muy hacia dentro.
  • Texto indentado hacia dentro, hacia dentro. Texto indentado hacia dentro, hacia dentro.

Listas

Una línea que empieza por un "*" o un "0" se considera un ítem de lista. Si es un "0" se trata de un ítem de una lista numerada (<ol>), si es un "*" se trata de una lista normal (<ul>). Puede haber listas dentro de listas y éstas pueden ser del mismo tipo o distinto. Las listas se indentan de igual manera que los textos: con espacios al principio de línea. Cada dos espacios se incrementa un nivel de lista.

Observar que el salto al siguiente ítem de una lista sólo se produce cuando hay cambio de nivel o aparece un nuevo "*" o "0" al principio de una línea. Es decir, varios párrafos seguidos, indendados al mismo nivel pertenecerán al mismo ítem.

  • Regla: Para determinar el nivel de una línea, contar el número de (pares de) espacios en blanco que hay al principio de la línea, contando los "* " y "0 " de principio de ítem como un par más.

Los ítems de una lista pueden ocupar varias líneas. Una tabla o un bloque preformateado pueden formar parte de un ítem.

Ejemplo:

* Programa generador
  * Subprograma analizador
  * Subprograma de gestión de accesos
  
* Programa calculador
  * Es:

    * Grande En efecto, este ''programa'' es extremadamente 
      complejo y grande, no deja de sorprendernos 
      cada vez que lo usamos
      pero es muy generador de todo tipo de errores.
      
      Observar que los programas grandes además, son muy 
      difíciles de leer y corregir.
      
  * También es:
    0 irritable
    0 egocéntrico
    0 Estúpido y nada comprehensible

* Programa destructor
  * Corto y nada útil
  

Se muestra como:

  • Programa generador
    • Subprograma analizador
    • Subprograma de gestión de accesos
  • Programa calculador
    • Es:
      • Grande En efecto, este programa es extremadamente complejo y grande, no deja de sorprendernos cada vez que lo usamos pero es muy generador de todo tipo de errores.
        Observar que los programas grandes además, son muy difíciles de leer y corregir.
    • También es:
      1. irritable
      2. egocéntrico
      3. Estúpido y nada comprehensible
  • Programa destructor
    • Corto y nada útil

Tabla

Un "|" a principio de línea define una línea de una tabla (<table>). La primera línea es una línea de cabecera (<th>). Las celdas de la tabla (<td>) se separan con otros "|". Debe haber un "|" al final de cada línea de tabla. Una línea de tabla debe estar toda en la misma línea de texto. Modificadores (se aplican en este orden):

  • Si el separador es "|!" se trata de otra cabecera de tabla (th)
  • Si el separador es "|+" la siguiente celda resultará centrada (align=center)
  • Si el separador es "|)" la siguiente celda resultará alineada a la derecha (align=right)
  • Si el separador es "|^" la siguiente celda resultará alineada en la parte de arriba (valign=top)
  • Si el separador es "|," la siguiente celda campo resultará alineada a la parte de abajo (valign=bottom).
  • Si el separador termina con una serie de "*", la celda ocupará tantas columnas de la tabla como asteriscos (colspan=).
  • Si el separador termina con una serie de "=", la celda ocupará tantas líneas de la tabla como iguales (rowspan).

Ejemplo:

 |accion|**reaccion|^====consecuencia|
 |Leer correo |** Modificar contraseña |
 |Ver datos académicos |Secretaría Virtual | Acceder a actas|
 |1000|)-2000|+3000|

Se muestra como:

accionreaccionconsecuencia
Leer correo Modificar contraseña
Ver datos académicosSecretaría Virtual Acceder a actas
1000-20003000

Tabla expandida

Si la tabla es muy ancha o las celdas ocupan varias líneas el formato de "una línea de tabla=una línea de texto" ya no es adecuado. Para estos casos se puede utilizar un formato de "línea expandida" en el que las celdas de una tabla se escriben una debajo de otra.

  • El principio de una línea de tabla se especifica con 5 o más caracteres "|". Esto también indica el principio de la primera celda de la línea.
  • Las siguientes líneas que empiezen (y no terminen) por "|" formarán parte del contenido de la celda.
  • El principio de las siguientes celdas se escribe con "|-".
  • Detrás de un principio de celda se pueden poner las mismas opciones que en las tablas sencillas.
  • Se pueden mezclar libremente líneas sencillas y líneas expandidas en una misma tabla.

Ejemplo:

  ||||||||||
  |accion
  |-**
  |reaccion y consecuencia
  |-^========
  |
  |vacío
  |

  ||||||||||
  | Leer correo
  |-** Modificar contraseña
  ||||||||||
  |Ver datos academicos
  |-
  |Secretaria virtual
  |-
  |Acceder a actas

  | Accion|Reacción|Consecuencia|

  ||||||||||)
  |1000
  |-) -2000
  |-+ 3000

  ||||||||||
  | una acción 
  | siempre conlleva
  | una...
  |-
  | reacción de
  | sentido 
  | inverso
  |-
  | ... y ello
  | provoca una
  | fuerza que, si no es
  | prevista, puede/
  | tener **consecuencias **
  | muy importantes

  |acción|reacción|consecuencia|
  

Se muestra como:

  • accion reaccion y consecuencia vacío
    Leer correo Modificar contraseña
    Ver datos academicos Secretaria virtual Acceder a actas
    AccionReacciónConsecuencia
    1000 -2000 3000
    una acción siempre conlleva una... reacción de sentido inverso ... y ello provoca una fuerza que, si no es prevista, puede
    tener consecuencias muy importantes
    acciónreacciónconsecuencia

Preformato

Las líneas que estén entre una línea que empieze por "[[" y otra que empieze por "]]", se consideran pre-formateadas (<pre>) y no se tocan.

Dentro de un preformato no funcionan los realces. Si se desea que lo hagan, usar "[[!" para empezar el preformato.

Para escribir "]]" dentro de un bloque preformato, usar "]!]".

Ejemplo:

 [[
  begin
  a+4;
  end.
 ]]

Se muestra como:

 begin
 a+4;
 end.

Y si se autorizan realces:

 [[!
  **begin**
  ++a+4++;
  **end**.
 ]]

Se muestra como:

 begin
 a+4;
 end.

Realce sintáctico

Un preformato que empieze por "[[+" se intentará realzar sintácticamente, autodetectando el lenguaje del texto que hay en el bloque.

Un preformato que empieze por "[[lenguaje" se intentará realzar sintácticamente, utilizando el lenguaje indicado (lenguaje).

La lista de lenguajes instalados es: Apache Bash C# C++ CSS CoffeeScript Diff Go HTML XML HTTP JSON Java JavaScript Kotlin Less Lua Makefile Markdown Nginx Objective-C PHP Perl Properties Python Ruby Rust SCSS SQL Shell Session Swift TOML(also INI) TypeScript YAML plaintext

Ejemplo:

 [[perl
  my $valor=''; my $indice; my $itipo="???";
    if ($nomvar eq 'null') { ""; }
 ]]

Se muestra como:

  my $valor=''; my $indice; my $itipo="???";
    if ($nomvar eq 'null') { ""; }

Fórmulas matemáticas

Un preformato que empieze por "[[math" interpretará el contenido del bloque como una serie de instrucciones LaTex. para escribir fórmulas matemáticas.

El WikiUV utiliza la librería MathJax para la presentación de estas fórmulas.

Ejemplo:

  Puedes incluir una fórmula en una 
  frase poniéndola entre dobles 
  "dólar": $${x}^{2}+{y}^{2}=1$$ y queda integrada.
  
  También puedes usar bloques preformato:

  [[math
   {e}^{i\pi }+1=0 
  ]]
  
  [[math
   {x}_{1,2}=\frac{-b\pm \sqrt{{b}^{2}-4ac}}{2a} 
  ]]
   
  [[math
     f(x) = x^2\\
     g(x) = \frac{1}{x}\\
     F(x) = \int^a_b \frac{1}{3}x^3
  ]]
  
  [[math
  \left[
  \begin{matrix}
  1 & 0\\
  0 & 1
  \end{matrix}
  \right]
  \left(\frac{1}{\sqrt{x}}\right)
  ]]
 

Todo lo anterior se presentará como:

Puedes incluir una fórmula en una frase poniéndola entre dobles "dólar": \({x}^{2}+{y}^{2}=1\) y queda integrada.

También puedes usar bloques preformato:

\[ {e}^{i\pi }+1=0 \] \[ {x}_{1,2}=\frac{-b\pm \sqrt{{b}^{2}-4ac}}{2a} \] \[ f(x) = x^2\\ g(x) = \frac{1}{x}\\ F(x) = \int^a_b \frac{1}{3}x^3 \] \[ \left[ \begin{matrix} 1 & 0\\ 0 & 1 \end{matrix} \right] \left(\frac{1}{\sqrt{x}}\right) \]

Esquemas y Diagramas

El WikiUV sabe dibujar directamente esquemas y diagrmas de varios tipos utilizando un lenguaje sencillo, el Mermaid. El Mermaid instalado es la versión 8.2 (Diciembre 2019).

Puedes dibujar:

    • diagramas de flujo
    • diagramas de secuencia
    • diagramas de clases
    • diagramas de estado
    • diagramas de Gantt
    • gráficos circulares ("tartas")
    • gráficos Git (experimental a Diciembre 2019)

Ejemplo:

   [[mermaid
   gantt
   dateFormat  YYYY-MM-DD
   title Adding GANTT diagram to mermaid
   excludes weekdays 2014-01-10

   section A section
   Completed task            :done,    des1, 2014-01-06,2014-01-08
   Active task               :active,  des2, 2014-01-09, 3d
   Future task               :         des3, after des2, 5d
   Future task2               :         des4, after des3, 5d     
   ]]
gantt dateFormat YYYY-MM-DD title Adding GANTT diagram to mermaid excludes weekdays 2014-01-10 section A section Completed task :done, des1, 2014-01-06,2014-01-08 Active task :active, des2, 2014-01-09, 3d Future task : des3, after des2, 5d Future task2 : des4, after des3, 5d

Comentarios

Toda línea que empieze por "#" se transforma en un comentario HTML (oculto) (<!- ... ->).

Realces

Los textos se pueden realzar con negrita (<b>), itálica (cursiva)(<i>), subrayado (<s>), color rojo , verde, azul (<font color=>) y pueden ponerse como superíndice (<sup>) y subíndice (<sub>). Una expresión matemática en LaTex se "realza" dibujándola como en un libro de matemáticas.

Los realces pueden ocupar varias líneas. Los realces funcionan dentro de un preformato si se activan.

Para evitar que algo se interprete como realce, poner una "!" entre los dos caracteres que señalan el realce.

Ejemplos:

  **Negrita** ''cursiva'' __subrayado__
  ==verde== --azul-- ++rojo++ 
  ^^superíndice^^ ,,subíndice,, [[proporcional]]

  **--Negrita y Azul--**
  
  *!*Esto NO es negrita*!*
  
  Expresiones matemáticas: $${x}_{1,2}=\frac{-b\pm \sqrt{{b}^{2}-4ac}}{2a}$$ en !LaTex math.

Se muestra como:

Negrita cursiva subrayado verde azul rojo superíndice subíndice proporcional

Negrita y Azul

**Esto NO es negrita**

Expresiones matemáticas: \({x}_{1,2}=\frac{-b\pm \sqrt{{b}^{2}-4ac}}{2a}\) en LaTex math.

Emojis

Para insertar un emoji en tu text debes poner su nombre entre dobles admiraciones.

Ejemplo:

Hoy vi un arco iris... !!rainbow!! 

Se muestra como:

Hoy vi un arco iris... rainbow

Bloque realzado

Se puede realzar especialmente un bloque de texto (<blockquote>).

Ejemplo:

 [*
 El que algo quiere algo le cuesta :-). Este es
 un dicho extremadamente conocido que aquí
 es, como en cualquier otra ocasión, aplicable.
 *]

Se muestra como:

El que algo quiere algo le cuesta :-). Este es un dicho extremadamente conocido que aquí es, como en cualquier otra ocasión, aplicable.

URLs e imágenes

Los enlaces web (<a href=...>) se expanden automáticamente siempre que empiezen por http:// , https:// , ftp:// . Si se desea poner la descripción de un enlace, utilizar [descripción enlace].

Si un enlace sin descripción termina con .jpg o .jpeg o .gif o .png se inserta la imagen (<img src=..>) en vez de poner el enlace. La descripción de un enlace puede a su vez ser un enlace a una imagen: aparecerá la imagen y se podrá picar en ella.

Usar url_de_imagen#etiqueta si se quiere poner un texto alternativo (alt=) y una etiqueta emergente (title=) a una imagen. En la etiqueta no pueden haber espacios (usar "_" en su lugar).

Los URL's del tipo "wiki ://" son URL's internos al "sitio" wiki (espacio web) en el que se esté. Si empiezan por "/" son absolutos y se les prefija con el valor de la variable "URLESPACIO". Si no empiezan por "/" son relativos y se refieren a ficheros wiki dentro del mismo directorio de trabajo o dentro de subdirectorios del mismo.

Ejemplos:

( ver más en pruebas/PruebaUrls )

  El correo se encuentra en http://correo.uv.es
  
  Puedes disfrutar de nuestra 
  [Secretaría Virtual https://secvirtual.uv.es]

  + wiki://grupo.png/
  + --Icono de grupo--
  
  Conoces al Google?: https://pages.uv.es/wikibase/doc/cas/new-google-favicon-64.png
  
  Aquí está el [Logo de Google https://pages.uv.es/wikibase/doc/cas/new-google-favicon-64.png ]

  Puedes picar en la imagen para ir al Google:
  [ https://pages.uv.es/wikibase/doc/cas/new-google-favicon-64.png http://www.google.com ]

  Lo mismo, pero con etiqueta emergente al señalar la imagen:
  [ https://pages.uv.es/wikibase/doc/cas/new-google-favicon-64.png#Ir_a_google http://www.google.com ]

  wiki://cosas/varias/unapagina.html.

  wiki:///cosas/varias/unapaginaabsoluta.html.

Se muestra como:

El correo se encuentra en http://correo.uv.es

Puedes disfrutar de nuestra Secretaría Virtual

grupo.png
Icono de grupo

Conoces al Google?: new-google-favicon-64.png

Aquí está el Logo de Google

Puedes picar en la imagen para ir al Google: new-google-favicon-64.png

Lo mismo, pero con etiqueta emergente al señalar la imagen: Ir a google

cosas/varias/unapagina.html.

/wikibase/cosas/varias/unapaginaabsoluta.html.

URL de Wiki

Las palabras en "CamelCase" (una palabra formada por varias palabras empezadas en mayúsculas y pegadas una a continuación de otra) se consideran "enlaces wiki". Debe existir un fichero .html o .wiki en el mismo directorio con ese nombre. Automáticamente se sustituirá la palabra por un enlace a dicho fichero.

Si se trata de varias palabras separadas por "/" y la última es "CamelCase", es un "path" (camino): el fichero nombrado se halla en los correspondientes subdirectorios del directorio actual.

Si el fichero referenciado por una palabra "CamelCase" no existe, el wiki la sustituirá por un enlace a un menú de creación y edición de ficheros wiki, permitiendo así que lo crees sobre la marcha.

Observa que las palabras "CamelCase" no pueden contener acentos ni eñes.

Si, en algún caso concreto quieres poner una palabra "CamelCase" y no quieres que la entienda como enlace wiki, basta añadir antes de la palabra una admiración ("!").

Ejemplos:

  Esto es un enlace a este mismo fichero : LenguajeWikiUV

  Escribo en !CamelCase y no se convierte en un enlace.
 
  Esto es un enlace a un fichero que está en una 
  subcarpeta : historia/MainPage 

Se muestra como:

Esto es un enlace a este mismo fichero LenguajeWikiUV.wiki : LenguajeWikiUV

Escribo en CamelCase y no se convierte en un enlace.

Esto es un enlace a un fichero que está en una subcarpeta : historia/MainPage

Bloques flotantes

Si un conjunto de líneas empieza con "<", corresponderán a un "bloque" que "flotará" y se pegará al margen izquierdo. El resto del texto fluirá alrededor. Esto es pecialmente vistoso con imágenes. Idénticamente, si las líneas empiezan con ">", se pegarán al margen derecho.

Ejemplo:

 < wiki://grupo.png/

 Se ha puesto en producción una nueva versión del WikiUV o WikiUV que, 
 además de múltiples correcciones aporta novedades como la nueva 
 posibilidad de imágenes flotantes.

Se Muestra como:

grupo.png

Se ha puesto en producción una nueva versión del WikiUV o WikiUV que, además de múltiples correcciones aporta novedades como la nueva posibilidad de imágenes flotantes.

Texto centrado

Una línea que empieza por "+ " (más y espacio) se considera "centrada". Ello es especialmente útil para centrar imágenes.

Ejemplo:

 + ''Simplemente Wiki''
 
 + wiki://grupo.png

Se muestra como:

Simplemente Wiki

grupo.png

Predefiniciones

Hay comentarios especiales que tienen significado para el traductor de lenguaje Wikiuv a HTML. Deben escribirse obligatoriamente al principio del documento, antes de cualquier otra cosa.

  • El comentario que empieza con "#TITLE" define el título de la página.
  • El comentario que empieza con "#STYLE" define el "estilo" (patrones HTML) a aplicar para determinar la apariencia final de la página.
  • El comentario que empieza con "#INDEX" define el título del índice e indica (obviamente) que hay que poner dicho índice.
  • El comentario que empieza con "#INDEXTIT" define el título del índice lateral cuando se usa dicho índice lateral. Si empieza por "0" la página mostrará inicialmente el primer apartado en lugar de toda la página.
  • El comentario que empieza con "#REDIRECT" define una redirección, la cual hace que el wiki ignore todo el resto del fichero y que procese en su lugar el fichero definido en el REDIRECT.

Ejemplo:

#TITLE Descripcion del lenguaje WikiUV 
#STYLE universidad
#INDEX Índice
volver