{{#invoke:Enlace anotado|principal |nombre= |display= |quote= |abbr= |abbr_title= |template_link= |aka= |cuña= |dash= |desc_first_letter_case= |space_cat= |prefix_parentheses= |link_lang= |link_lang_italic= |link_lang_nocat= |link_lang_size= |link_lang_cat= |link_lang_rtl= |aka_lang= |aka_lang_italic= |aka_lang_nocat= |aka_lang_size= |aka_lang_cat= |aka_lang_rtl= |wedge_lang= |wedge_lang_italic= |wedge_lang_nocat= |wedge_lang_size= |wedge_lang_cat= |wedge_lang_rtl= |sólo= |preferir= |alternativa= |desc_lang_italic= |desc_lang_nocat= |desc_lang_size= |desc_lang_cat= |desc_lang_rtl= |desc_lang_no=}}
Al proporcionar solo el nombre de la página requerido (incluido el espacio de nombres), el módulo usará Module:GetShortDescription para buscar algo explícito en esa página, pero si no lo encuentra, intentará buscar la descripción de wikidata. Esto equivale a decir ; consulte #prefer (abajo). Si se encuentra una descripción, se agregará a un enlace creado para la página nombrada en el estilo esperado para páginas como MOS:SEEALSO . Si no se encuentra ninguna descripción, se creará el enlace pero no se agregará información adicional, a menos que se empleen los siguientes parámetros extensos.{{short description}}
|prefer=explicit
Cualquier texto en idioma extranjero (es decir, no en ) proporcionado a este módulo o recuperado por Module:GetShortDescription puede tener el formato adecuado, de acuerdo con MOS:OTHERLANG , a través de los parámetros de Module:Lang ; consulte #Texto en idioma extranjero (abajo).
Como este módulo es responsable del uso de todas las funciones de Module:GetShortDescription; todos los parámetros para ese módulo están disponibles a través de este módulo; consulte los parámetros #Module:GetShortDescription (a continuación).
{{#invoke:Annotated link|main |name=The Partisan }}
Este y los siguientes títulos de canciones de ejemplo deben ir entre comillas dobles según MOS:POPMUSIC ; eso será manejado por #quote (a continuación), y verá los parámetros en uso cuando corresponda a partir de ahora.
Al proporcionar un valor para |display=
se formateará el enlace canalizado con una cadena de visualización:
{{#invoke:Annotated link|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
Al indicar |quote=yes
se citará dos veces el enlace:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes }}
{{#invoke:Annotated link|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
Al proporcionar un valor para |abbr=
se agregará el enlace con la abreviatura entre paréntesis proporcionada con <abbr>...</abbr>
marcado semántico :
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS }}
|abbr_title=
Se puede proporcionar una opción opcional :
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS |abbr_title=Confédération Mondiale des Activités Subaquatiques }}
Si la página vinculada está en el espacio de nombres de la plantilla ; el enlace tendrá el formato esperado por :{{template link}}
{{#invoke:Annotated link|main |name=Template:Annotated link }}
Indicando |template_link=code
se mostrará el enlace formateado con <code>...</code>
:
{{#invoke:Annotated link|main |name=Template:Annotated link |template_link=code }}
{{Annotated link}}
Los parámetros descritos anteriormente – |display=
, |quote=
y – y todas las opciones de enlace en idioma extranjero en |abbr=
( consulte #Texto en idioma extranjero (a continuación)) se ignorarán si el enlace está en el espacio de nombres de la plantilla.|abbr_title=
|link_lang=
La indicación |template_link=no
deshabilitará este formato de enlace especial y el desconocimiento de los parámetros mencionados anteriormente:
{{#invoke:Annotated link|main |name=Template:Annotated link |template_link=no |display=Annotated link }}
Al proporcionar un valor para |aka=
se agregará al enlace (y |abbr=
si se proporciona) un nombre alternativo útil:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |aka=La Complainte du partisan }}
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS |aka=Confédération Mondiale des Activités Subaquatiques }}
Estos y algunos ejemplos siguientes contienen texto en un idioma extranjero que, según MOS:OTHERLANG , debe mostrarse y declararse adecuadamente mediante el marcado HTML como de ese idioma; esto será manejado por varios parámetros; consulte el texto en idioma #extranjero (a continuación) para obtener detalles completos y verá los parámetros en uso cuando corresponda a partir de ahora.
Al proporcionar un valor para |wedge=
se agregará el enlace (y |abbr=
en |aka=
ese orden si se proporciona uno o ambos) con cualquier detalle adicional que se considere adecuado:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |wedge=from the album ''[[Songs from a Room]]'' |aka=La Complainte du partisan |aka_lang=fr }}
Para parámetros complementarios de lengua extranjera; consulte #Texto en idioma extranjero (abajo).
Para mantener la coherencia de la lista, según MOS:LISTFORMAT ; proporcionando un valor para |dash=
; el guión entre la breve descripción y el texto anterior podrá sustituirse por una alternativa adecuada:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |dash=, }}
Las descripciones breves en Wikipedia deben formatearse con una primera letra mayúscula, pero la aplicación típica de este módulo requerirá que el primer carácter esté en minúscula. Por defecto; este módulo garantizará que todas las descripciones breves recuperadas por Module:GetShortDescription se transformen para comenzar con una primera letra minúscula, pero esto puede anularse si es necesario usando |desc_first_letter_case=upper
o |desc_first_letter_case=lower
.
A veces, los rangos de fechas en descripciones breves se incluyen entre paréntesis con sufijo, según WP:SDDATES , por ejemplo, para Jimmy Wales : "Cofundador de Wikipedia (nacido en 1966)".
Sin embargo, al enumerar personas en páginas de desambiguación según MOS:DABPEOPLE , las fechas de nacimiento y muerte entre paréntesis deben preceder a la coma, como en " Jimmy Wales (nacido en 1966), cofundador de Wikipedia".
Si se proporciona el parámetro opcional |prefix_parentheses=y
, se realizará este comportamiento, por lo que cualquier texto entre paréntesis con sufijo se moverá antes del separador de guión (o coma).
Tenga en cuenta que el consenso actual es no utilizar {{ enlace anotado }} para páginas de desambiguación; consulte Plantilla: enlace anotado/doc#Uso .
En el caso de que se recupere y muestre una breve descripción sin espacios; Las páginas que incluyan la anotación se agregarán a Categoría:Páginas que muestran descripciones breves sin espacios a través del Módulo:Enlace anotado para que los editores interesados puedan monitorear posibles problemas. Los problemas potenciales pueden incluir: mezclas de teclado basura, un error tipográfico de "ninguno" al intentar desactivar un malentendido explícito {{short description}}
o algún malentendido por parte de un editor que coloca uno.
Si se marca la transclusión en una página de esta categoría y se determina que está bien; indicar un valor para |space_cat=
en la invocación deshabilitará la categorización. Esto sólo debe hacerse caso por caso, y no de manera predeterminada, o no se clasificarán anotaciones potencialmente inapropiadas; es decir, permitir que este parámetro se establezca en transclusiones individuales de plantillas que invocan este módulo, como , en lugar de en el código de la plantilla.{{annotated link}}
El valor proporcionado |name=
se pasa a través de este módulo al Módulo:GetShortDescription donde también es obligatorio ; Las expectativas de este módulo se describen en #nombre (arriba). Módulo:GetShortDescription utiliza el valor para buscar a en la página nombrada, o varias alternativas según los valores de los parámetros.{{short description}}
Proporcionar un valor para |only=
limitará la búsqueda a solo la descripción indicada. Si no se encuentra ninguna descripción, el resultado será una cadena vacía, a menos que se proporcione un recurso alternativo; consulte #fallback (a continuación).
|only=explicit
limitará la búsqueda solo a descripciones breves establecidas mediante el uso de {{short description}}
en la página buscada.|only=wikidata
limitará la búsqueda solo a descripciones de wikidata.Al proporcionar un valor para |prefer=
se iniciará la búsqueda de la descripción indicada, pero intente buscar la alternativa si no se encuentra ninguna. Si no se encuentra ninguna descripción, el resultado será una cadena vacía, a menos que se proporcione un recurso alternativo; consulte #fallback (a continuación).
|prefer=explicit
utilizar la descripción breve explícita si está disponible, o intente con la descripción de wikidata si no.|prefer=wikidata
utilizar la descripción de wikidata si está disponible, o intente obtener una breve descripción explícita si no.Si |fallback=
se proporciona un valor y no se encuentra ninguna descripción en la ruta expresada, la descripción adjunta será el valor alternativo indicado.
Module:GetShortDescription puede devolver una descripción de wikidata en un idioma extranjero (es decir, no en ); La discreción del editor determina si eso debe mostrarse. Si se muestra; estará de acuerdo con MOS:OTHERLANG , por Module:Lang (el módulo que enciende ). El código de idioma apropiado se establecerá automáticamente, pero todos los demás parámetros están disponibles para afectar el formato de la descripción devuelta:{{lang}}
{{lang}}
Utilice |lang_italic=
, |lang_nocat=
, y ;|lang_size=
consulte la documentación de lang para obtener más detalles.|lang_cat=
|lang_rtl=
Si el editor determina que {{lang}}
el formato no es apropiado; se puede desactivar con |lang_no=yes
. Los siguientes {{lang}}
parámetros de formato son opcionales, por lo que no es necesario apagarlos.
Si el texto del enlace es de un idioma extranjero (nuevamente, a discreción del editor); controlar el formato con: |link_lang=<language code>
, |link_lang_italic=
, |link_lang_nocat=
, |link_lang_size=
, |link_lang_cat=
y|link_lang_rtl=
Si el |aka=
texto es de un idioma extranjero (nuevamente, a discreción del editor); controlar el formato con: |aka_lang=<language code>
, |aka_lang_italic=
, |aka_lang_nocat=
, |aka_lang_size=
, |aka_lang_cat=
,|aka_lang_rtl=
Si el |wedge=
texto es de un idioma extranjero (nuevamente, a discreción del editor); controlar el formato con: |wedge_lang=<language code>
, |wedge_lang_italic=
, |wedge_lang_nocat=
, |wedge_lang_size=
, |wedge_lang_cat=
,|wedge_lang_rtl=
función local pipedLink ( nombre , visualización ) devuelve '[[:' .. nombre .. '|' .. display .. ']]' finaliza la función local isEmpty ( valor ) valor de retorno == nil o valor == '' finaliza la función local notEmpty ( valor ) devuelve no isEmpty ( valor ) final - Funcionalidad Unescape tomada de https:/ /stackoverflow.com/a/14899740/1832568 función local unescape ( str ) str = string.gsub ( str , '&#(%d+);' , string.char ) str = string.gsub ( str , '&#x (%d+);' , función ( d ) devuelve string.char ( tonumber ( d , 16 )) end ) devuelve str fin de la función local hashDelimitedList ( list_string ) devuelve mw . texto . gsplit ( unescape ( list_string ), '%s*#%s*' ) finaliza la función local alarmingMessage ( mensaje ) return '<span style="color:#d33">[[Module:Annotated link]] ' .. mensaje . . '.</span>' .. '[[Categoría:Páginas que muestran mensajes alarmantes sobre el Módulo:Enlace anotado]]' finaliza la función local opcionalmenteVisibleCategoría ( clase , categoría ) devuelve '<span style="display:none" class=" ' .. clase .. '">' .. categoría .. '</span>[[Categoría:' .. categoría .. ' vía Módulo:Enlace anotado]]' finaliza la función local handleFirstLetterCase ( short_description , case ) devolver mw . cuerda . gsub ( short_description , '^([ ^ %d ] ) ' , función ( first_char ) si caso == ' superior ' entonces devuelve mw.ustring.top ( first_char ) end return mw.ustring . lower ( first_char ) end ) end local mLang = require ( 'Module:Lang' ) función local langify ( args ) local lang = args . idioma texto local = argumentos . texto si está vacío ( lang ) o lang == 'en' y luego devuelve el texto final regresa mLang . _lang { idioma , texto , cursiva = argumentos . cursiva , nocat = argumentos . nocat , tamaño = argumentos . tamaño , gato = argumentos . gato , rtl = argumentos . rtl } finaliza la función local formatResult ( resultado , guión , descripción , prefix_parentheses ) si no está vacío ( descripción ) entonces si prefix_parentheses entonces local startIdx = descripción : buscar ( "%(" ) si startIdx entonces local beforeParens = descripción : sub ( 1 , startIdx - 2 ) local insideParens = descripción : sub ( startIdx , - 1 ) devuelve resultado .. ' ' .. insideParens .. guión .. ' ' .. beforeParens final final devuelve resultado .. guión .. ' ' .. descripción final devuelve resultado final función local anotadoEnlace ( args ) nombre local = args . nombre si está vacío ( nombre ) y luego devuelve alarmingMessage ( 'requiere un nombre de página (incluido el espacio de nombres)' ) fin - Para manejar un intento de anotar un enlace de plantilla - ya formateado con algo como {{tl|<nombre de plantilla >}}; -- nombre sin escape para dar sentido a las llaves en la coincidencia de lua patern. nombre = unescape ( nombre ) si nombre : coincide ( '^{%b{}}$' ) entonces - Aquí existe la posibilidad de extraer datos útiles: por ejemplo, {{tl*|Template}}. return alarmingMessage ( 'requiere solo un nombre de página (incluido el espacio de nombres) sin marcado. ' .. 'Si se intenta anotar un enlace a una plantilla, ' .. 'proporcione solo el nombre de la plantilla con el espacio de nombres, por ejemplo, "Plantilla:Ejemplo "' ) end : si se proporcionó un enlace literal como nombre; - extraer el contenido y aplicarlo al nombre y mostrarlo según corresponda. enlace wiki local = mw . cuerda . match ( nombre , '^%[%[%s*:*%s*(.-)%s*%]%]$' ) si wikilink entonces nombre_enlace local , link_display = descomprimir ( mw . text . split ( wikilink , '%s*|%s*' )) si nombre_enlace entonces nombre = nombre_enlace finalice si display_enlace y está vacío ( args . display ) luego args . display = link_display end end - Prepárese para concatenar. resultado local local is_template = nombre : coincidencia ( '^Template:(.+)$' ) local template_link = args . template_link si is_template y template_link ~= 'no' entonces resultado = '{{' .. pipedLink ( nombre , is_template ) .. '}}' si template_link == 'código' entonces resultado = '<código>' .. resultado . '</code>' fin de lo contrario visualización local = args . mostrar si está vacío ( mostrar ) entonces mostrar = nombre resultado final = langify ({ lang = args . link_lang , texto = pipedLink ( nombre , mostrar ), cursiva = args . link_lang_italic , nocat = args . link_lang_nocat , tamaño = args . link_lang_size , cat = args . link_lang_cat , rtl = args . link_lang_rtl }) si no está vacío ( args . quote ) entonces resultado = '"' .. resultado .. '"' end local abbr = args . abbr si no está vacío ( abbr ) entonces resultado = resultado .. ' (<abbr' local abbr_title = args . abbr_title si no está vacío ( abbr_title ) entonces resultado = resultado .. ' title="' .. abbr_title .. '"' resultado final = resultado ..'>' .. abbr .. '</abbr>)' end end si está vacío ( resultado ) luego devuelve alarmingMessage ( 'no se pudo crear un enlace para "' .. nombre .. '"' ) end local aka = args . también conocido como si no está vacío ( también conocido como ) entonces resultado = resultado .. ', también conocido como ' .. langify ({ lang = args . aka_lang , text = aka , italic = args . aka_lang_italic , nocat = args . aka_lang_nocat , size = args . aka_lang_size , cat = args . aka_lang_cat , rtl = args } ) finaliza la cuña local = args . cuña si no está vacía ( cuña ) entonces resultado = resultado .. ', ' .. langify ({ lang = args . cuña_lang , texto = cuña , cursiva = args . cuña_lang_italic , nocat = args . cuña_lang_nocat , tamaño = args . cuña_lang_tamaño , gato = args . wedge_lang_cat , rtl = args . wedge_lang_rtl }) end : excluye el respaldo de wikidata para cualquier lista especificada de títulos de enlaces, a menos que se indique explícitamente que está bien. local not_wikidata_for_links_starting_with = args . not_wikidata_for_links_starting_with si está vacío ( args . wikidata ) y notEmpty ( not_wikidata_for_links_starting_with ) luego, para only_explicit en hashDelimitedList ( not_wikidata_for_links_starting_with ), haga si nombre : coincide ( '^' ... only_explicit ) y luego args . only = 'explicit' break end end end - Obtenga la breve descripción del Módulo:GetShortDescription. short_description local = require ( 'Módulo:GetShortDescription' ). principal ( { none_is_valid = args . none_is_valid , none_is_nil = args . none_is_nil , lang_italic = args . desc_lang_italic , lang_nocat = args . desc_lang_nocat , lang_size = args . desc_lang_size , lang_cat = args . desc_lang_cat , lang_rtl argumentos . desc_lang_rtl , idioma_no = argumentos desc_lang_no . , prefiere = args prefiere , solo = solo argumentos , nombre = nombre } ) guión local = argumentos . guión si está vacío ( guión ) entonces guión = ' –' finaliza el respaldo local = args . respaldo si está vacío ( descripción_corta ) o descripción_corta . redlink luego devuelve formatResult ( resultado , guión , respaldo , args . prefix_parentheses ) y finaliza si short_description . alarma y luego devuelve short_description . alarma fin mantenimiento local = '' si Breve descripción . redirigido y luego mantenimiento = opcionalmenteVisibleCategory ( 'anotación-categoría-con-descripción-redireccionada' , 'Páginas que muestran descripciones breves de objetivos de redireccionamiento' ) finalizan el respaldo local si descripción_corta . wikidata entonces si short_description . retroceso luego retroceso = verdadero mantenimiento = mantenimiento .. opcionalmenteVisibleCategory ( 'categoría-wikidata-fallback-annotation' , 'Páginas que muestran descripciones de wikidata como respaldo' ) finalizan short_description = short_description . wikidata : filtro contra descripciones de wikidata probablemente basura. local not_wikidata_descriptions_incluido = args . not_wikidata_descriptions_incluido si no está vacío ( not_wikidata_descriptions_incluido ) entonces - Coincidencia que no distingue entre mayúsculas y minúsculas. local lower_case_short_description = short_description : lower () para exclusión en hashDelimitedList ( not_wikidata_descriptions_incluyendo : lower ()) haga si lower_case_short_description : coincide ( exclusión ) entonces short_description = '' romper final final si está vacío ( short_description ) luego devuelve formatResult ( resultado , guión , respaldo , args . prefix_parentheses ) y demás descripción_corta = descripción_corta . fin explícito local lower_case_name = nombre : lower () si no está vacío ( short_description ) y no short_description : coincide ( ' ' ) entonces - Filtre contra descripciones de una sola palabra que puedan ser basura. local lower_case_short_description = short_description : lower () local not_single_word = args . not_single_word si no está vacío ( not_single_word ), entonces : coincidencia que no distingue entre mayúsculas y minúsculas. para una sola palabra en hashDelimitedList ( not_single_word : lower ()) haga si single_word == lower_case_short_description entonces short_description = '' romper fin si está vacío ( short_description ) o lower_case_name : coincidir ( minúsculas_short_description ) luego devuelva formatResult ( resultado , guión , respaldo , args . prefix_parentheses ) finaliza si está vacío ( args . space_cat ) entonces mantenimiento = mantenimiento .. opcionalmenteVisibleCategory ( 'categoría-anotación sin espacio' , ' Páginas que muestran descripciones breves sin espacios' ) finaliza si nombre_minúscula == descripción_corta : inferior () entonces si respaldo luego devuelve formatResult ( resultado , guión , respaldo , args . prefix_parentheses ) finaliza mantenimiento = mantenimiento ... opcionalmenteVisibleCategory ( 'categoría-anotación-coincide-nombre' , 'Páginas que muestran descripciones breves que coinciden con su nombre de página' ) final - Descripciones breves en es Wikipedia debe tener formato con una primera letra mayúscula, pero - la aplicación típica de este módulo requerirá que el primer carácter esté en minúscula, pero - algunas descripciones pueden comenzar con nombres propios y deben comenzar con una letra mayúscula incluso si se usan en un anotación. -- Por defecto; este módulo no afectará el uso de la primera letra de las descripciones recuperadas por Module:GetShortDescription, pero el uso de la primera letra se puede transformar explícitamente si es necesario. local desc_first_letter_case = argumentos . desc_first_letter_case if desc_first_letter_case == 'upper' o desc_first_letter_case == 'lower' entonces short_description = handleFirstLetterCase ( short_description , desc_first_letter_case ) end return formatResult ( resultado , guión , ( short_description o alternativa ) .. mantenimiento , args . prefix_parentheses ) end local p = { } función p . argumentos locales principales ( marco ) = requerir ( 'Módulo:Argumentos' ). getArgs ( frame ) si está vacío ( args ) entonces devuelve alarmingMessage ( 'could not getArgs' ) - Esto realmente sería alarmante. fin de retorno anotadoEnlace ( args ) fin de retorno p