diff options
author | Jonas Smedegaard <dr@jones.dk> | 2010-10-14 13:38:31 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2010-10-14 13:38:31 +0200 |
commit | 82abc3dd421ef2dd9e4388c3e83ef262c3c93496 (patch) | |
tree | bdac59d518d036dce535c61a28c6f9307f7a2164 /ikiwiki/pagespec.mdwn |
Diffstat (limited to 'ikiwiki/pagespec.mdwn')
-rw-r--r-- | ikiwiki/pagespec.mdwn | 89 |
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. |