dev

Highlight-js es un puerto Fandom asincrónico de highlightjs, una biblioteca de resaltado de sintaxis basada en componentes. La documentación original está en readthedocs.org.

Installation

Importando el script

Para usar Highlight-js, debe importarlo a su script. Puede escuchar el dev.highlight usando mw.hook.

// registra el gancho(hook) antes de la importación para evitar condiciones de ejecución
mw.hook('dev.highlight').add(function(hljs) {
    // hljs es un atajo a window.dev.highlight
});
importArticle({ type: 'script', article: 'u:dev:MediaWiki:Highlight-js.js' });

El script crea un window.dev.highlight (alias interno hljs dentro del gancho(hook)).

Cargando idiomas

El objeto de biblioteca tiene los siguientes métodos para cargar idiomas:

hljs.loadLanguageshljs.loadLanguage (función)
Acepta una cadena/matriz de nombre/alias de idioma.
Carga los componentes del idioma y devuelve un evento diferido para usar
Pasa argumento window.dev.highlight cuando se resuelve.
hljs.loadAllLanguages
Carga todos los componentes del lenguaje en la biblioteca.
Devuelve un evento diferido que se resuelve con hljs como argumento
hljs.listLanguages (función)
Devuelve una matriz de nombres de componentes de lenguaje que se han cargado.
hljs.registerLanguage (función)
Método interno utilizado para registrar/configurar nuevos componentes de lenguaje
hljs.loadedLanguage (función)
Acepta una cadena que indica el nombre/alias del idioma.
Devuelve un booleano que indica si su configuración se ha cargado.

Datos de la biblioteca y validación

Los siguientes miembros/métodos de objeto se utilizan para la validación de bibliotecas y la recuperación de datos:

hljs.registry (objeto)
Registro de idiomas, alias y estilos para validación de bibliotecas.
Contiene las siguientes claves:
  • languages - códigos de idioma que están disponibles en la biblioteca
  • aliases - objeto de desaliasización para alias de idioma
  • styles - nombres de estilo de asignación de objetos a títulos
hljs.canonicalName (función)
Acepta una cadena para un nombre/alias de idioma.
Devuelve el nombre del idioma canónico si es válido, o undefined.
hljs.getLanguage (función)
Acepta una cadena que indica el nombre/alias del idioma.
Devuelve el objeto para la configuración del componente de idioma.
hljs.validLanguage (función)
Acepta una cadena que indica el nombre/alias del idioma.
Devuelve un booleano que indica si es válido.

Funciones Highlight

Los siguientes métodos se utilizan para resaltar cuándo se han cargado los componentes del lenguaje.

hljs.highlight (función)
Función principal: acepta un nombre de idioma y un valor de cadena para resaltar.
Argumentos:

<highlight-desc-1 = Genera un objeto con las siguientes claves. (name, value, ?ignore_illegals, ?continuation)

It generates an object with following keys.
  • value - texto resaltado
  • language - nombre del idioma, desaliasado
  • relevance - recuento de identidades destacadas
¡Necesitas hacer hljs.loadLanguage(name) primero!
hljs.highlightBlock (función)
Función principal para elementos DOM: acepta un nodo DOM.
Argumentos:

<highlight-desc-1 = Genera un objeto con las siguientes claves. (block) - bloque de código

Espera un nombre de idioma como nombre de clase, o nohighlight.
Resalta el bloque y adjunta algunas claves de objeto a la variable de bloque.
¡Primero debes cargar el idioma!
hljs.highlightAuto (función)
Calcula el idioma de mayor relevancia.
Acepta texto y un subconjunto de idioma opcional.
Argumentos:

<highlight-desc-1 = Genera un objeto con las siguientes claves. (block)

Devuelve el objeto hljs.highlight para ese idioma.
¡Primero debes cargar todos los idiomas!
hljs.initHighlightingOnLoad (función)
Resalta todos los bloques de código sin formato en el contenido del artículo automáticamente.
Ambién destaca el código cuando se cargan nuevos artículos o contenido.
NB: este método no utiliza hljs.highlightAuto.
hljs.initHighlighting (función)
Destaca todos los bloques de código simple en el contenido del artículo una vez.
Argumentos:

<highlight-desc-1 = Genera un objeto con las siguientes claves. ($content) - contenido como JQuery (generalmente mw.util.$content)

hljs.useTheme (función)
Acepta un nombre de estilo y lo establece como el estilo utilizado actualmente.

Soporte de idiomas

Se admiten los siguientes idiomas:

Temas

Se admiten los siguientes temas: