summaryrefslogtreecommitdiff
path: root/ikiwiki/pagespec.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'ikiwiki/pagespec.mdwn')
-rw-r--r--ikiwiki/pagespec.mdwn89
1 files changed, 89 insertions, 0 deletions
diff --git a/ikiwiki/pagespec.mdwn b/ikiwiki/pagespec.mdwn
new file mode 100644
index 0000000..83648aa
--- /dev/null
+++ b/ikiwiki/pagespec.mdwn
@@ -0,0 +1,89 @@
+[[!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.