[[!meta robots="noindex, follow"]]
Para seleccionar un conjunto de páginas, como páginas que están bloqueadas,
páginas a cuyo envío de correo electrónico quiere suscribirse, o páginas
para combinar en un blog, el wiki utiliza una PageSpec. Ésta consiste en una
expresión que se corresponde con un conjunto de páginas.
La PageSpec más simple es una lista simple de páginas. Por ejemplo, ésta se
corresponde con cualquiera de las tres páginas listadas:
foo or bar or baz
A menudo querrá seleccionar cualquier página que tenga alguna particularidad
en su nombre. Puede hacerlo utilizando un patrón «glob». "*
" representa
cualquier parte del nombre de una página, y "?
" cualquier letra del nombre
de una página. Así, esto se corresponde con todas las páginas sobre música,
y cualquier [[subpágina|SubPage]] de la [[zona de pruebas
(«SandBox»)|SandBox]], pero no con la zona de pruebas («SandBox») misma:
*music* or SandBox/*
También puede utilizar "!
" delante de un elemento para que no se incluyan
las páginas que se correspondan con ese elemento. Así, para seleccionar
todas las páginas excepto las de Discusión y la Zona de pruebas («SandBox»):
* and !SandBox and !*/Discussion
Se pueden añadir límites más elaborados para seleccionar páginas utilizando
estas funciones:
- "
glob(someglob)
" - matches pages and other files that match the given glob.
Just writing the glob by itself is actually a shorthand for this function.
- "
page(glob)
" - like glob()
, but only matches pages, not other files
- "
link(page)
" - matches only pages that link to a given page (or glob)
- "
tagged(tag)
" - matches pages that are tagged or link to the given tag (or
tags matched by a glob)
- "
backlink(page)
" - matches only pages that a given page links to
- "
creation_month(month)
" - matches only files created on the given month
- "
creation_day(mday)
" - or day of the month
- "
creation_year(year)
" - or year
- "
created_after(page)
" - matches only files created after the given page
was created
- "
created_before(page)
" - matches only files created before the given page
was created
- "
internal(glob)
" - like glob()
, but matches even internal-use
pages that globs do not usually match.
- "
title(glob)
", "author(glob)
", "authorurl(glob)
",
"license(glob)
", "copyright(glob)
", "guid(glob)
"
- match pages that have the given metadata, matching the specified glob.
- "
user(username)
" - tests whether a modification is being made by a
user with the specified username. If openid is enabled, an openid can also
be put here. Glob patterns can be used in the username. For example,
to match all openid users, use user(*://*)
- "
admin()
" - tests whether a modification is being made by one of the
wiki admins.
- "
ip(address)
" - tests whether a modification is being made from the
specified IP address.
- "
comment(glob)
" - matches comments to a page matching the glob.
- "
comment_pending(glob)
" - matches unmoderated, pending comments.
- "
postcomment(glob)
" - matches only when comments are being
posted to a page matching the specified glob
Por ejemplo, para seleccionar todas las páginas de un blog que enlazan a la
página sobre música y que fueron escritas en 2005:
blog/* and link(música) and creation_year(2005)
Fíjese en el uso de "and" en el ejemplo anterior, que significa que sólo son
seleccionadas las páginas que se corresponden con cada una de las tres
expresiones. Utilice "and" cuando quiera combinar una expresión como ésa;
utilice "or" cuando sea suficiente que una página se corresponda con una de
las expresiones. Fíjese en que no tiene sentido decir "index and SandBox",
puesto que ninguna página puede corresponderse con ambas expresiones.
También se pueden crear expresiones más complejas, utilizando paréntesis
para agruparlas. Por ejemplo, para seleccionar páginas de un blog que están
etiquetadas con alguna de dos etiquetas, utilice:
blog/* and (tagged(foo) or tagged(bar))
Tenga en cuenta que los nombres de página en las PageSpecs se seleccionan
según los nombre de archivo absolutos de las páginas del wiki, de tal modo
que una «pagespec» "foo" utilizada en la página "a/b" no seleccionará una
página llamada "a/foo" o "a/b/foo". Para seleccionar de manera relativa al
directorio de la página que contiene la «pagespec», puede utilizar "./". Por
ejemplo, "./foo" en la página "a/b" selecciona la página "a/foo".
To indicate the name of the page the PageSpec is used in, you can use a
single dot. For example, link(.)
matches all the pages linking to the page
containing the PageSpec.