FANDOM


El método de JavaScript global importArticles() proporciona una interfaz común para la inclusión de artículos que contienen scripts o estilos en una comunidad.

La funcionalidad es similar a los métodos importScriptPage y importStylesheetPage existente. Sin embargo, importArticles() puede importar los artículos de wikias externas, juntar varios artículos en uno solo, "minificarlos" y funcionar como una única solicitud. Esto reduce tanto el tamaño del archivo como el tráfico de Internet con eficacia, haciendo un que una wikia con un gran número de archivos adicionales cargue mucho más rápido.

Uso

El método importArticles() se basa en definiciones de módulo para cargar artículos. Los Módulos son esencialmente un objeto de JavaScript con propiedades llave/valor. Las siguientes propiedades son requeridas en cada módulo:

  • type - Esta propiedad indica el tipo de artículos que este módulo va a contener. Los tipos soportados son:
  • articles - Los artículos que deseas importar. Observa la sección localizando artículos que está abajo para tener más información de qué poner aquí.

Cualquier número de módulos pueden ser insertados en importArticles(). Sin embargo, todos los artículos dentro de un módulo deben ser de un mismo tipo.

Bulb

Caché

Los enlaces generados por importArticles() (y las técnicas avanzadas que se muestran abajo) están cacheados por un máximo de 10 minutos. Así que cuando hagas un cambio, se puede asumir que después de 10 minutos todos los usuarios que visiten tu comunidad deberían observar la última versión de los archivos js y css si se usa importArticles().

Localizar artículos

La sintaxis simple se utiliza para localizar los artículos que estés tratando de importar. Es muy similar a, y compatible con, los enlaces interwiki:

(Prefix:<WikiName>:)<Artículo>

Cualquier cosa entre paréntesis de arriba es opcional, y todo entre los corchetes arriba indica entrada del usuario. Los dos puntos es utilizado para separar la cadena en diferentes segmentos para su análisis. Los prefijos nos dicen como es que quieres que se busque el artículo y generalmente son seguidos por el nombre de una comunidad, exceptuando el caso de una comunidad local.

Artículos locales

Los artículos en de comunidades locales pueden ser localizados por el título de la misma manera en la que llegas a ellos normalmente. No requieren un prefijo o nombre de wikia. Por ejemplo, si quieres importar el artículo MediaWiki:Common.js, lo siguiente funcionaría dentro de un importArticles:

MediaWiki:Common.js

Artículos externos

Los artículos de wikias externas también pueden ser ubicados de la misma manera que enlazarías a ellos normalmente. Sin embargo, a diferencia de los artículos locales, los artículos externos requieren del uso de un prefijo y nombre de la comunidad para determinar desde qué wikia se va a importar y cómo va a identificarse ese wikia. Fandom permite buscar wikias por su URL. Las búsquedas de URL se realizan por el prefijo u. Por ejemplo, si deseas importar el artículo Highlight/code.css de Dev Wiki, lo siguiente funcionaría dentro de un importArticles:

u:dev:Highlight/code.css

Esta sintaxis también funcionará para comunidades en otros idiomas. Por ejemplo, si deseas importar el artículo MediaWiki:Common.js de la versión en italiana de One Piece Wiki:

u:it.onepiece:MediaWiki:Common.js

Uso avanzado

Entre bambalinas, el método importArticles() hace tres tareas necesarias:

  1. Generar una URL con el formato adecuado para su uso con ResourceLoader,
  2. Realizar comprobaciones de validez en los módulos provistos para asegurar que estén correctamente formateados
  3. Proporcionar retroalimentación a los usuarios en caso de un error.

Sin embargo, el uso del método no es estrictamente necesario para obtener los beneficios de combinar y reducir varios artículos en un solo pedido. Si lo deseas, puedes generar la dirección URL manualmente y cargar los bienes utilizando otros medios, como declaraciones @import en CSS o jQuery.getScript en JavaScript.

Aunque hay muchos parámetros que se pueden incluir en la URL, los siguientes son probablemente los más útiles:

Parámetro Description del parámetro
mode Le dice a ResourceLoader que va a estar cargando artículos. Debería estar ajustado para "articles."
articles La lista de artículos. Si se proveen múltiples artículos, deberían ser separados por un carácter barra "|".
only El tipo de artículo a importar. Debería estar ajustado para "scripts" o "styles."
debug Este parámetro no es necesario por defecto, pero se puede ajustar a "true" para deshabilitar minificación para permitir una más fácil la depuración de problemas dentro de los artículos importados.

Al final, deberías terminar con una URL que se vea algo como esto:

/load.php?mode=articles&articles=One.css|Two.css&only=styles

Que puede usarse en conjunto con @import, como:

@import url("/load.php?mode=articles&articles=One.css|Two.css&only=styles");

Ejemplos

Importar múltiples artículos script, uno de una comunidad local y uno de una externa:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "external:dev:MediaWiki:External_include.js"
    ]
});

Importar múltiples artículos style, uno de una comunidad local y uno de una externa:

importArticles({
    type: "style",
    articles: [
        "MediaWiki:Common.css",
        "external:starwars:MediaWiki:External_include.css"
    ]
});

Importar múltiples módulos en un método individual:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "external:dev:MediaWiki:External_include.js"
    ]
}, {
    type: "style",
    article: "MediaWiki:Common.css"
});

Ejemplos de sintaxis alternas

El método importArticles() también soporta sintaxis alternativas, simplificadas para casos de uso común. Por conveniencia, el método importArticle() también está definido.

Including a single file from the local wikia using a module definition:

importArticle({
    type: "style",
    article: "MediaWiki:Common.css"
});

Más información

Ayuda y comentarios

El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.