stringtranslate.com

Wikipedia:Supresión de categorías

Muchas cajas de usuario y otras plantillas agregan automáticamente las páginas en las que aparecen a varias categorías . Esta característica no siempre es deseable, y el proceso de deshabilitar o suprimir la categorización automática se conoce como supresión de categorías en las plantillas . Esta guía describe algunos métodos diferentes para suprimir la categorización automática y proporciona ejemplos para cada método. No existen políticas ni pautas estrictas con respecto a la supresión de categorías; sin embargo, esta guía describe los métodos de facto utilizados para implementar la supresión de categorías en la Wikipedia en inglés.

Información de fondo

Muchas plantillas y casillas de usuario están diseñadas para agregar automáticamente páginas a una o más categorías. Existen muchas razones por las que esto puede resultar beneficioso. Las casillas de usuario pueden agrupar a los usuarios en varias categorías de Wikipedia en función de sus intereses. Los encabezados de WikiProject agrupan páginas relacionadas para que a los miembros de WikiProject les resulte más fácil localizarlas. Otras plantillas marcan artículos para determinadas acciones añadiéndolos a categorías administrativas.

Esta puede ser una característica muy útil y poderosa, pero también puede ser un poco confusa si alguien quiere mostrar la plantilla en otro lugar que no sea donde se pretendía originalmente, como en una página de ayuda o en una galería de plantillas. La página de ayuda o la galería se marcarían como cualquier otra página en la que aparezca la plantilla, y esto a menudo no es deseable. Por ejemplo, una página que muestra una plantilla de eliminación no debería marcarse para su eliminación. Es preferible suprimir la categorización automática de la página en ese caso. Esto se conoce como supresión de categoría .

Dentro de la propia plantilla, es bastante fácil eliminar estos problemas de categorización utilizando el marcado <includeonly> y <noinclude>. Sin embargo, estas funciones no ayudan cuando se muestra la plantilla como ejemplo en una página de ayuda o en una galería.

A costa de un poco de procesamiento adicional en el servidor y de hacer que el código de la plantilla sea un poco más difícil de leer para los humanos, las plantillas o una función de analizador simple pueden suprimir la categorización automática en ciertos espacios de nombres o en cualquier lugar cuando se usan atributos de plantilla particulares.

A lo largo de los años se han desarrollado simultáneamente varios métodos diferentes de supresión de categorías, por lo que no existe un método único o "mejor" para lograr la supresión de categorías. Algunos métodos funcionan mejor en algunas situaciones y otros métodos funcionan mejor en otras situaciones. Los diseñadores de plantillas tienen la libertad de elegir cualquiera de los siguientes métodos para suprimir categorías automáticas, pero se les solicita que documenten claramente qué método se utiliza dentro de la documentación de la plantilla. Se solicita que las nuevas plantillas sigan las técnicas preferidas (cuando varias técnicas logran el mismo resultado). Las plantillas más antiguas que no se utilizan mucho también se pueden modificar para utilizar las técnicas preferidas. No vale la pena adaptar plantillas muy utilizadas para utilizar las técnicas preferidas, a menos que exista otra razón convincente para modificar la plantilla.

Uso

Las plantillas que utilizan la supresión basada en espacios de nombres no requieren ninguna configuración por parte de un editor para suprimir la categorización automática fuera del espacio de nombres previsto (por ejemplo, las plantillas de artículos no categorizarán las páginas de discusión o las páginas de usuario).

Las plantillas de supresión basadas en atributos utilizan |nocat=true(preferido) o |categories=no(alternativo) para suprimir la categorización automática. En cualquier lugar en el que se deba suprimir la categorización, simplemente agregue |nocat=trueo |categories=nocomo último atributo de la plantilla y (suponiendo que la plantilla se implementa correctamente), la plantilla no agregará la página a ninguna categoría. Consulte la documentación de cada plantilla para determinar cuál de los dos atributos utilizar.

Métodos de supresión de categorías

Las técnicas de supresión de categorías se dividen en los siguientes métodos:

  1. Según el espacio de nombres de la página, se habilita o suprime la categorización.
  2. Los atributos de plantilla se pasan a la plantilla para suprimir específicamente la categorización automática de páginas.
  3. La supresión combinada utiliza ambos métodos juntos para satisfacer necesidades complejas.
  4. Usar una lista negra de nombres de páginas que no deben categorizarse (por ejemplo, consulte Plantilla:Manejador de categorías)

Supresión basada en espacios de nombres

Descripción general

Las plantillas diseñadas para agregarse solo a ciertos tipos de páginas (artículos, páginas de discusión, categorías, otras plantillas, páginas de proyectos, etc.) probablemente sean las que más se beneficien de este método. Al usar este método, las plantillas pueden detectar automáticamente el tipo de página en la que se encuentran y solo categorizar las páginas que se encuentran en el espacio de nombres correcto . Por ejemplo, una plantilla que marca artículos que necesitan referencias adicionales puede usar este método para categorizar solo artículos y suprimir la categorización en todos los demás lugares donde aparece la plantilla, como en las páginas de documentación de la plantilla.

Ventajas

Contras

A continuación se dan ejemplos.

Supresión basada en atributos

Descripción general

La categorización automática siempre está activada en estas plantillas de forma predeterminada. Cualquier página en la que aparezca la plantilla se categoriza automáticamente a menos que se le pase uno de los dos atributos especiales. Esta es una buena opción para las plantillas que se utilizan en varios espacios de nombres . Por ejemplo, una plantilla de ayuda para escribir que se pueda utilizar en artículos, páginas de discusión, páginas de proyectos, páginas de usuarios y portales podría ser una buena opción.

Ventajas

Contras

A continuación se dan ejemplos.

Supresión combinada

Descripción general

Este es el método más versátil y complicado para suprimir categorías. Con las dos técnicas anteriores, puede combinar la categorización/supresión predeterminada basada en espacios de nombres con atributos para cambiar la acción predeterminada caso por caso. Esto no debería ser necesario para la mayoría de las plantillas, pero puede ser útil en algunas de las metaplantillas más complejas que combinan características de varias plantillas relacionadas en una única plantilla grande. Agrega un grado adicional de dificultad al diseño y mantenimiento de la plantilla que solo se debe considerar para plantillas que ya son complejas (y es poco probable que sean editadas por principiantes en el diseño de plantillas) o donde las dos técnicas anteriores no brindan suficiente control.

Ventajas

Contras

A continuación se dan ejemplos.

Plantillas de envoltura

Ejemplos de supresión de categorías

Ejemplos de supresión basada en espacios de nombres

Este método es automático y no necesita ningún parámetro para invocar la supresión.

Usando el{{Otros principales}}Familia de plantillas

Si su plantilla se categoriza en el espacio de plantillas, entonces debe rodear el código de categorización con <includeonly></includeonly>, de lo contrario, su propia plantilla se categorizará.

También existen {{ user other }} , {{ wikipedia other }} , {{ file other }} , {{ help other }} , {{ category other }} y {{ portal other }} para manejar los otros espacios de nombres.

Usando el{{Detección de espacio de nombres}}plantilla

Si desea realizar una categorización/supresión automática en varios espacios de nombres o si necesita que se utilicen diferentes categorías en diferentes espacios de nombres, utilice la potente plantilla:{{Namespace detect}}

<includeonly> {{ Namespace detect
| main = [[Categoría: Categoría del artículo ]]
| talk = [[Categoría: Categoría de la discusión ]]
| template = [[Categoría: Categoría de la plantilla ]]
| other = <!-- No categorizar cuando no esté en el espacio principal, de discusión o de plantilla --> }}
</includeonly>

Uso de funciones del analizador

El uso de la familia de plantillas es la forma más sencilla de habilitar la supresión de categorías basada en espacios de nombres, pero también puede utilizar las funciones del analizador #ifeq o #switch para lograr lo mismo.{{Main other}}

{{#ifeq:{{NAMESPACE}}|{{ns:0}}|[[Categoría: Categoría del artículo ]]|<!-- No categorizar cuando no esté en el espacio principal (artículo). -->}}

<includeonly> {{#switch:{{NAMESPACE}}
| =[[Categoría: Categoría del artículo ]]
| Discusión = [[Categoría: Categoría de la discusión ]]
| Plantilla = [[Categoría: Categoría de la plantilla ]]
| #default = <!-- No categorizar cuando no se encuentre en el espacio principal, de discusión o de plantilla --> }}
</includeonly>

Ejemplos de supresión basada en atributos

La siguiente técnica es la técnica estándar recomendada para el método de supresión de categorías basada en atributos.

En otras palabras, establecer "nocat" en cualquier valor que no sea "falso" (incluso en nada) no generará ninguna categorización.

Lamentablemente, los nombres de los atributos de supresión de categorías no estaban estandarizados anteriormente, lo que dio lugar a varias variaciones. Los siguientes nombres de atributos que se utilizan habitualmente para indicar cuándo se debe realizar la supresión de categorías son:

Un ejemplo que utiliza |nocat=donde el valor predeterminado es categorizar automáticamente
<includeonly>{{#ifeq: {{lc:{{{nocat|false}}}}} | false |[[Category:Example]]|<!-- Category suppressed -->}}</includeonly>
Un ejemplo que se utiliza |categories=nopara suprimir la categorización
<includeonly>{{#ifeq: {{lc:{{{categories}}}}} | no ||[[Category:Example]]}}</includeonly>
Notas de implementación
El atributo category=

|category=Algunas plantillas utilizan "category" para evitar tener que usar la función de análisis #ifeq. Dado que el nombre de atributo "categoría" se usa comúnmente para otros fines en muchas plantillas (al igual que "categorías" en menor grado), "categoría" no es un nombre de atributo recomendado para este propósito. Por esa razón y otras, esta técnica no se analiza aquí. Tenga en cuenta que |nocat=puede cumplir exactamente el mismo propósito y es la alternativa recomendada.

Ejemplos de supresión combinada

La supresión combinada combina métodos de supresión basados ​​en atributos y en espacios de nombres en una única plantilla. Como combina ambos métodos, la complejidad se duplica. Asegúrese de comprender completamente los otros dos métodos antes de intentar utilizar el método combinado en una plantilla.

Existen varias formas de lograr la supresión combinada. El siguiente ejemplo es la forma en que Willscrlt prefiere implementar la supresión combinada (que debería funcionar en la mayoría de los casos y se recomienda para lograr coherencia).

El proceso consiste en comprobar primero los atributos que indicarían que se deben suprimir las categorías. Si el atributo solicita la supresión de categorías, se anula cualquier categorización predeterminada basada en el espacio de nombres. Si no se encuentra ninguna especificación de atributo, se utiliza la categorización predeterminada basada en el espacio de nombres. Si el atributo solicita explícitamente que no se utilice la supresión de categorías, se utiliza la categorización predeterminada basada en el espacio de nombres, a menos que la predeterminada sea no categorizar. Si la predeterminada es no categorizar, se utiliza el atributo demospace para anular la predeterminada y mostrar la categoría de todos modos. Juntas, estas opciones proporcionan a los desarrolladores de plantillas un control considerable sobre la categorización automática y la supresión de categorías a expensas de un código de plantilla más complejo.

Un ejemplo completo

<includeonly> {{#ifeq: {{lc:{{{ nocat| false }}}}} | false |
{{ Namespace detect
| main = [[Categoría: Categoría de artículo ]]
| talk = [[Categoría: Categoría de discusión ]]
| template = [[Categoría: Categoría de plantilla ]]
| other = {{#ifeq: {{lc:{{{ nocat|false }}}}} | true |
[[Categoría: Otra categoría ]]
| <!-- A menos que nocat=true, no categorizar cuando no esté en el espacio principal, de discusión o de plantilla --> }} }
}

|<!-- Categoría suprimida por el atributo nocat -->}} </includeonly>

Compatibilidad con implementaciones más antiguas en plantillas meta

Si está intentando crear una metaplantilla (una plantilla que combina las características de dos o más plantillas en una sola plantilla), es posible que necesite admitir más de un método de supresión de categorías, porque los editores pueden usar diferentes métodos para solicitar la supresión de categorías dependiendo de la sintaxis de la plantilla original .

El siguiente método verifica cualquiera de los dos atributos comunes ( |nocat=truey |categories=no) y suprime la categorización automática si alguno está configurado para suprimir.

<includeonly> {{#ifexpr: {{
#ifeq: {{lc:{}}} | true | 1 | 0 }}
+ {{
#ifeq: {{lc:{{{categorías|sí}}}}} | no | 1 | 0 }}
< 1 |

[[Categoría: Ejemplo ]]
| <!-- Categoría suprimida --> }} </includeonly>

Véase también