User:Remember the dot/Syntax highlighter/es
He creado un script que hace que la sintaxis resalte coloridamente en la caja de edición. A diferencia de otros scripts de resalto de sintaxis como wikEd, AceWikiEditor y CodeMirror, este:
- Actualiza el resalto automáticamente mientras tecleas.
- No estropea los botones Deshacer y Rehacer.
- No estropea el corrector ortográfico.
- Es compatible con la mayoría de scripts que afecten la caja de edición.
Instalación
editAsegúrate de leer la sección "Problemas conocidos" abajo antes de instalar el script.
Para el usuario si está instalado en la wiki
editSi el resaltador de sintaxis está disponible como accesorio en tu wiki, ve a tus preferencias y habilítalo.
Para el usuario si no está instalado en la wiki
editSi instalación como accesorio no está disponible, añade estas líneas a tu página de common.js:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
Por ejemplo, si la Wikipedia en español no proveyera el resaltador de sintaxis como accesorio, lo añadirías a
https://es.wikipedia.org/wiki/Usuario:Tu_Nombre_de_Usuario/common.js
Para administradores de sitios de Wikimedia
editEn tu wiki, crea la página MediaWiki:Gadget-DotsSyntaxHighlighter.js con el código
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
Entonces añade a la página MediaWiki:Gadgets-definition una nueva línea
*DotsSyntaxHighlighter[ResourceLoader]|DotsSyntaxHighlighter.js
y crea la página MediaWiki:Gadget-DotsSyntaxHighlighter con el texto
[[mw:User:Remember the dot/Syntax highlighter/es|Resalto de sintaxis]]: Hace que la sintaxis resalte coloridamente en la caja de edición.
Para administradores de sitios no de Wikimedia
editEn tu wiki, crea la página MediaWiki:Gadget-DotsSyntaxHighlighter.js y copia a ella el código fuente de User:Remember the dot/Syntax highlighter.js. Entonces añade a la página MediaWiki:Gadgets-definition una nueva línea
*DotsSyntaxHighlighter[ResourceLoader]|DotsSyntaxHighlighter.js
y crea la página MediaWiki:Gadget-DotsSyntaxHighlighter con el texto
[https://www.mediawiki.org/wiki/User:Remember_the_dot/Syntax_highlighter/es Resalto de sintaxis]: Hace que la sintaxis resalte coloridamente en la caja de edición.
Se requiere MediaWiki 1.22 o más nuevo.
Problemas conocidos
editCompatibilidad
edit- El resaltador funciona mejor en la versión actual de Firefox.
- El resaltador funciona casi siempre en las versiones actuales de Chrome, Microsoft Edge, Safari y Opera, pero no funciona correctamente con texto en ciertos alfabetos, notablemente tailandés y tibetano.
- El resaltador no funciona en Internet Explorer (sus fallos son demasiado graves). El resaltador ni intenta ejecutar si se detecta uno de estos navegadores web.
- El resaltador no es compatible con algunos accesorios, extensiones de navegador y otras personalizaciones.
Sintaxis
edit- Por motivos de rendimiento, el resaltador exige que todas las etiquetas sean etiquetas XML válidas. Por ejemplo, asegúrate que si empiezas una etiqueta
<p>
la termines con</p>
, y usa<br/>
en vez de<br>
. - Por motivos de rendimiento, el resaltador no puede manejar
'''apóstrofo cursiva''
o''cursiva apóstrofo'''
; los considera sintáxis inválida. Sugiero usar'<i>apóstrofo cursiva</i>
y<i>cursiva apóstrofo'</i>
en su lugar. - Una etiqueta
<pre>
creada por colocar un espacio al principio de una línea no se resaltará. Esto se debe a que el resaltador no es bastante inteligente para saber si el espacio cuenta como espacio blanco dentro de una plantilla o no. - Opciones de comportamiento como
__NOTOC__
no se resaltan. - Los enlaces externos creados con
{{fullurl:}}
o plantillas no se resaltan. Verás[{{fullurl:Mi página}} enlace externa]
en vez de[{{fullurl:Mi página}} enlace externa]
.
Misceláneos
edit- El resaltador no funciona rápidamente al editar artículos largos y se deshabilitará automáticamente si tarda más de 50ms. Si esto ocurre, un mensaje aparece que explica lo que pasó y sugiere cómo trabajar alrededor o augmentar el tiempo de espera.
- El resaltador no funciona al subir archivos.
- El resaltador puede anular tus estilos personales relacionados a la caja de edición.
Personalización
editColores
editEs fácil cambiar los colores de resalto o hacer que no se resalten ciertos sintaxis. Se disponen las siguientes personalizaciones de color:
defaultColor | para elementos sintácticos que no tienen color específico |
boldOrItalicColor | '''negrita''' ''cursiva''
|
wikilinkColor | [[enlace wiki]]
|
externalLinkColor | [http:// enlace externa nombrado] , http://enlace-externa-desnuda.es
|
headingColor | ==Encabezamiento== , ;Encabezamiento pequeño
|
listOrIndentColor | * lista desordenada , # lista ordenada , : indentación
|
signatureColor | ~~~~
|
tableColor | {| tabla |}
|
templateColor | {{plantilla}}
|
parameterColor | {{{parámetro de plantilla}}}
|
hrColor | ----
|
tagColor | <etiqueta>...</etiqueta> , <etiqueta/>
|
commentColor | <!-- comment -->
|
entityColor | &entidad;
|
Por ejemplo, para hacer cian los enlaces wiki y anaranjados los enlaces externos, pon lo siguiente en tu common.js (si has instalado el resaltador como accesorio, omite las primeras dos líneas o tu navegador web se congelarà):
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
//configuración de resalto de sintaxis
syntaxHighlighterConfig = {
externalLinkColor: "#FFCC66", //color de enlaces externos: anaranjado
wikilinkColor: "#E6FFFF", //color de enlaces wiki: cian
}
Para no resaltar un sintaxis, haz su color ""
. Por ejemplo, para deshabilitar el resalto de enlaces externos:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
//configuración de resalto de sintaxis
syntaxHighlighterConfig = {
externalLinkColor: "", //color de enlaces externos: ninguno
}
Para no resaltar ninguna sintaxis aparte de los que explícitamente quieras, haz que defaultColor
sea ""
y especifica el color de cada sintaxis que quieras resaltado. Si solo quieres el color usual, pon "normal"
. Por ejemplo, para solo resaltar las etiquetas:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
//configuración de resalto de sintaxis
syntaxHighlighterConfig = {
defaultColor: "", //color por defecto: ninguno
tagColor: "normal", //color de etiqueta: el usual
}
Tiempo de espera
editPuedes especificar un timeout
que reemplace el tiempo de espera por defecto de 20ms. Por ejemplo, si no te molesta la lentitud al teclear y quieres deshabilitar el resalto de sintaxis solo si tarda más de 30ms, pon lo siguiente en tu common.js:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
//configuración de resalto de sintaxis
syntaxHighlighterConfig = {
timeout: 30,
}
Si has instalado el resaltador como accesorio, omite las primeras dos líneas o tu navegador web se congelarà.
Etiquetes no de wikitexto
editVarias etiquetas, como <math>
i <source>
, no usan wikitexto y, por tanto, no se resalta ninguna sintaxis dentro de estas etiquetas. Puedes personalizar la lista de etiquetas como source por establir sourceTags
a un vector de nombres de etiquetas. Por ejemplo, para deshabilitar el resalto de sintaxis dentro de la etiqueta hipotética <foo>
además de las por defecto, pon lo siguiente en tu common.js:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
syntaxHighlighterConfig = {
sourceTags: ["math", "syntaxhighlight", "source", "timeline", "hiero", "foo"],
}
Otras etiquetas, como <pre>
y <nowiki>
, no usan wikitexto pero sí procesan entidades de carácter (
por ejemplo). La propiedad nowikiTags
controla la lista de etiquetas como nowiki. Por ejemplo, para resaltar solo las entidades de carácter dentro de la etiqueta <abbr>
, pon lo siguiente en tu common.js:
//resalto de sintaxis
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
syntaxHighlighterConfig = {
nowikiTags: ["nowiki", "pre", "abbr"],
}
En ambos ejemplos, has instalado el resaltador como accesorio, omite las primeras dos líneas o tu navegador web se congelarà.
Valores por defecto del sitio
editTodas las propiedades que se pueden especificar en la variable syntaxHighlighterConfig
también se pueden especificar en la variable syntaxHighlighterSiteConfig
. syntaxHighlighterSiteConfig
es para los valores por defecto del sitio y syntaxHighlighterConfig
para las preferéncias del usuario. Las propiedades de syntaxHighlighterConfig
prevalecen sobre las propiedades de syntaxHighlighterSiteConfig
, y las propiedades de syntaxHighlighterSiteConfig
prevalecen sobre los valores por defecto internos.
Por ejemplo, si tu sitio no tiene instalada ninguna extensión de MediaWiki, tal vez quieres quitar el soporte para etiquetas como source. Para hacer eso, añade lo siguiente al final de MediaWiki:Gadget-DotsSyntaxHighlighter:
syntaxHighlighterSiteConfig = {
sourceTags: [],
}
Reportación de errores
edit- Nota: Acuérdate de comprobar si el error que quieres reportar ya es un problema conocido.
Al reportarme un error, por favor incluye:
- Una descripción detallada del problema.
- Una enlace a una página donde se ve el error, o una mostra de wikitexto que provoca el problema.
- La información User-Agent de tu navegador.
- La skin de MediaWiki que usas.
- Una lista de los accesorios que tienes habilitados.
- Una lista de todo el JavaScript o CSS personalizado que tienes habilitado.
- Una lista de todas las extensiones de navegador que tienes habilitados.
Más información
editPara más información, incluso cómo obtener el código fuente y un resumo del método del script, véase User:Remember the dot/Syntax highlighter.