API · El compilador

En el navegador

Los siguientes métodos se aplican solo a los navegadores. Vaya a la sección del servidor si quiere compilar bajo node o io.js.

riot.compile(callback)

Compila todas las etiquetas (tags) definidas con <script type="riot/tag"> como JavaScript. Estas pueden ser definiciones en scripts incorporados en la página, o recursos externos que cargan scripts definidos con el atributo src. Después que todos los scripts son compilados, se llama al método callback dado. Por ejemplo:

riot.compile(function() {
  var tags = riot.mount('*')
})

Puede omitir la llamada a riot.compile y solamente escribir:

var tags = riot.mount('*')

pero no podrá saber cuándo se cargan y compilan los recursos externos, y el valor de retorno es un arreglo vacío si usted tiene scripts externos. Si todos los scripts son definidos en la página, puede omitir la etapa riot.compile.

Para más detalles, lea la introducción general al compilador.

riot.compile(url, callback)

Carga el URL dado y compila todos las etiquetas, después de lo cuál la función callback es llamada. Por ejemplo:

riot.compile('my/tags.tag', function() {
  // las etiquetas cargadas están listas para ser usadas
})

riot.compile(tag)

Compila y ejecuta la etiqueta tag dada. Por ejemplo:

<template id="my_tag">
  <my-tag>
    <p>Hola, mundo!</p>
  </my-tag>
</template>

<script>
riot.compile(my_tag.innerHTML)
</script>

Después de la llamada, usted puede usar my-tag de manera normal.

Se asume una definición de etiqueta si el primer carácter no-blanco es <, en caso contrario el argumento es considerado un URL.

Devuelve el código JavaScript compilado como una cadena de caracteres (string).

riot.compile(tag, true)

Compila tag y lo devuelve como una cadena de caracteres. Solo se lleva a cabo la transformación de la etiqueta a JavaScript, sin ejecutarla en el navegador. Se puede usar éste método para medir el desempeño del compilador. Por ejemplo:

var js = riot.compile(my_tag.innerHTML, true)

En el servidor

Después de npm install riot, usted puede hacer lo siguiente:

var riot = require('riot')

var js = riot.compile(tag)

La función compile toma la definición de la etiqueta (string) y devuelve JavaScript (string).

riot.parsers.css [tagName, css]

Analizadores (parsers) personalizados que se pueden usar para compilar el contenido CSS de sus etiquetas. Por ejemplo:

riot.parsers.css.myparser = function(tag, css) {
  return css.replace(/@tag/, tag)
}
<custom-parsers>
  <p>hi</p>
  <style type="text/myparser">
    @tag {color: red;}
  </style>
</custom-parsers>

será compilado como:

<custom-parsers>
  <p>hi</p>
  <style type="text/myparser">
    custom-parsers {color: red;}
  </style>
</custom-parsers>

riot.parsers.js [js, options]

Analizadores personalizados que se pueden usar para compilar el código JavaScript de sus etiquetas. Por ejemplo:

riot.parsers.js.myparser = function(js) {
  return js.replace(/@version/, '1.0.0')
}
<custom-parsers>
  <p>hi</p>
  <script type="text/myparser">
    this.version = "@version"
  </script>
</custom-parsers>

será compilado como:

<custom-parsers>
  <p>hi</p>
  <script type="text/myparser">
    this.version = "1.0.0"
  </script>
</custom-parsers>

riot.parsers.html [html]

Analizadores personalizados que pueden usarse para compilar el contenido HTML de sus etiquetas.