320 lines
12 KiB
HTML
320 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
|
<meta name="robots" content="noindex, follow" />
|
|
|
|
|
|
<title>pagespec - Ayakael</title>
|
|
|
|
<!-- cargo-culted from https://realfavicongenerator.net/ -->
|
|
<!-- for the record: it is absolutely ridiculous that new browsers
|
|
*and* operating systems each want their own little precious
|
|
snowflake just for a frigging icon -->
|
|
<link rel="apple-touch-icon" sizes="180x180" href="../../apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="../../favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="../../favicon-16x16.png">
|
|
<link rel="manifest" href="../../site.webmanifest">
|
|
<meta name="msapplication-TileColor" content="#da532c">
|
|
<meta name="theme-color" content="#ffffff">
|
|
|
|
<!-- ikiwiki CSS -->
|
|
<link href="../../style.css" rel="stylesheet" />
|
|
|
|
<!-- Bootstrap core CSS -->
|
|
<!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 -->
|
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous" />
|
|
|
|
<!-- Custom styles for this template -->
|
|
<link href="../../bootstrap.local.css" rel="stylesheet" />
|
|
|
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
|
<![endif]-->
|
|
|
|
<!-- Custom styles for derivatives -->
|
|
|
|
<link rel="stylesheet" href="../../local.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="robots" content="noindex, follow" />
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="navbar navbar-default navbar-fixed-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="../../">
|
|
<img alt="Ayakael" src="../../favicon.png" width="48" height="48" />
|
|
</a>
|
|
</div>
|
|
|
|
<div id="navbar" class="collapse navbar-collapse">
|
|
|
|
|
|
|
|
|
|
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
|
|
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li><a href="../../index.en.html">Home</a></li>
|
|
<li><a href="https://ayakael.net/forge/">Forge</a></li>
|
|
<li><a href="../../contact/index.en.html">Contact</a></li>
|
|
</ul>
|
|
|
|
|
|
<ul class="nav navbar-nav">
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="container" id="content">
|
|
|
|
<p>To select a set of pages, such as pages that are locked, pages
|
|
whose commit emails you want subscribe to, or pages to combine into a
|
|
blog, the wiki uses a PageSpec. This is an expression that matches
|
|
a set of pages.</p>
|
|
|
|
<p>The simplest PageSpec is a simple list of pages. For example, this matches
|
|
any of the three listed pages:</p>
|
|
|
|
<pre><code>foo or bar or baz
|
|
</code></pre>
|
|
|
|
<p>More often you will want to match any pages that have a particular thing in
|
|
their name. You can do this using a glob pattern. "<code>*</code>" stands for any part
|
|
of a page name, and "<code>?</code>" for any single letter of a page name. So this
|
|
matches all pages about music, and any <a href="../subpage/">SubPage</a>s of the SandBox, but does
|
|
not match the SandBox itself:</p>
|
|
|
|
<pre><code>*music* or SandBox/*
|
|
</code></pre>
|
|
|
|
<p>You can also prefix an item with "<code>!</code>" to skip pages that match it. So to
|
|
match all pages except for Discussion pages and the SandBox:</p>
|
|
|
|
<pre><code>* and !SandBox and !*/Discussion
|
|
</code></pre>
|
|
|
|
<p>Some more elaborate limits can be added to what matches using these functions:</p>
|
|
|
|
<ul>
|
|
<li>"<code>glob(someglob)</code>" - matches pages and other files that match the given glob.
|
|
Just writing the glob by itself is actually a shorthand for this function.</li>
|
|
<li>"<code>page(glob)</code>" - like <code>glob()</code>, but only matches pages, not other files</li>
|
|
<li>"<code>link(page)</code>" - matches only pages that link to a given page (or glob)</li>
|
|
<li>"<code>tagged(tag)</code>" - matches pages that are tagged or link to the given tag (or
|
|
tags matched by a glob)</li>
|
|
<li>"<code>backlink(page)</code>" - matches only pages that a given page links to</li>
|
|
<li>"<code>creation_month(month)</code>" - matches only files created on the given month
|
|
number</li>
|
|
<li>"<code>creation_day(mday)</code>" - or day of the month</li>
|
|
<li>"<code>creation_year(year)</code>" - or year</li>
|
|
<li>"<code>created_after(page)</code>" - matches only files created after the given page
|
|
was created</li>
|
|
<li>"<code>created_before(page)</code>" - matches only files created before the given page
|
|
was created</li>
|
|
<li>"<code>internal(glob)</code>" - like <code>glob()</code>, but matches even internal-use
|
|
pages that globs do not usually match.</li>
|
|
<li>"<code>title(glob)</code>", "<code>author(glob)</code>", "<code>authorurl(glob)</code>",
|
|
"<code>license(glob)</code>", "<code>copyright(glob)</code>", "<code>guid(glob)</code>"
|
|
<ul>
|
|
<li>match pages that have the given metadata, matching the specified glob.</li>
|
|
</ul></li>
|
|
<li>"<code>user(username)</code>" - 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 <code>user(*://*)</code></li>
|
|
<li>"<code>admin()</code>" - tests whether a modification is being made by one of the
|
|
wiki admins.</li>
|
|
<li>"<code>ip(address)</code>" - tests whether a modification is being made from the
|
|
specified IP address. Glob patterns can be used in the address. For
|
|
example, <code>ip(127.0.0.*)</code></li>
|
|
<li>"<code>comment(glob)</code>" - matches comments to a page matching the glob.</li>
|
|
<li>"<code>comment_pending(glob)</code>" - matches unmoderated, pending comments.</li>
|
|
<li>"<code>postcomment(glob)</code>" - matches only when comments are being
|
|
posted to a page matching the specified glob</li>
|
|
</ul>
|
|
|
|
<p>For example, to match all pages in a blog that link to the page about music
|
|
and were written in 2005:</p>
|
|
|
|
<pre><code>blog/* and link(music) and creation_year(2005)
|
|
</code></pre>
|
|
|
|
<p>Note the use of "and" in the above example, that means that only pages that
|
|
match each of the three expressions match the whole. Use "and" when you
|
|
want to combine expression like that; "or" when it's enough for a page to
|
|
match one expression. Note that it doesn't make sense to say "index and
|
|
SandBox", since no page can match both expressions.</p>
|
|
|
|
<p>If you want to include only one level of subpages, you can use</p>
|
|
|
|
<pre><code>blog/* and !blog/*/*
|
|
</code></pre>
|
|
|
|
<p>More complex expressions can also be created, by using parentheses for
|
|
grouping. For example, to match pages in a blog that are tagged with either
|
|
of two tags, use:</p>
|
|
|
|
<pre><code>blog/* and (tagged(foo) or tagged(bar))
|
|
</code></pre>
|
|
|
|
<p>Note that page names in PageSpecs are matched against the absolute
|
|
filenames of the pages in the wiki, so a pagespec "foo" used on page
|
|
"a/b" will not match a page named "a/foo" or "a/b/foo". To match
|
|
relative to the directory of the page containing the pagespec, you can
|
|
use "./". For example, "./foo" on page "a/b" matches page "a/foo".</p>
|
|
|
|
<p>To indicate the name of the page the PageSpec is used in, you can
|
|
use a single dot. For example, <code>link(.)</code> matches all the pages
|
|
linking to the page containing the PageSpec.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- legacy Ikiwiki comments.pm section -->
|
|
|
|
|
|
<!-- Mastodon comments -->
|
|
|
|
|
|
<div class="pagedate text-muted">
|
|
<span class="created">Created <time datetime="2024-08-25T22:56:12Z" class="dt-published">Sun Aug 25 22:56:12 2024</time>.</span>
|
|
<span class="edited">
|
|
|
|
Edited <time datetime="2024-08-25T22:56:12Z">Sun Aug 25 22:56:12 2024</time>.
|
|
|
|
</span>
|
|
</div>
|
|
|
|
<nav class="navbar navbar-default">
|
|
|
|
<div class="navbar-brand"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></div>
|
|
<div class="container-fluid">
|
|
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-footer" aria-expanded="false">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
</div>
|
|
|
|
<div id="navbar-footer" class="collapse navbar-collapse">
|
|
|
|
|
|
<ul class="nav navbar-nav navbar-right">
|
|
|
|
|
|
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Links<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
|
|
<li><a href="../">ikiwiki</a></li>
|
|
|
|
<li><a href="../../ikiwiki.fr/">ikiwiki.fr</a></li>
|
|
|
|
<li><a href="./attachment/">pagespec/attachment</a></li>
|
|
|
|
<li><a href="./attachment.fr/">pagespec/attachment.fr</a></li>
|
|
|
|
<li><a href="./po/">pagespec/po</a></li>
|
|
|
|
<li><a href="./po.fr/">pagespec/po.fr</a></li>
|
|
|
|
<li><a href="./sorting/">pagespec/sorting</a></li>
|
|
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Meta<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
|
|
|
|
<li><a href="../../recentchanges/index.en.html">Timeline</a></li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
|
|
</div> <!-- /container -->
|
|
|
|
<footer class="footer" role="contentinfo">
|
|
<div class="container">
|
|
|
|
|
|
<p class="text-muted">
|
|
<span class="copyright">
|
|
Copyleft © 2024-2024 ayakael <a href="../../meta/license/">CC-BY-SA</a>
|
|
</span>
|
|
<span class="pull-right powered-by">
|
|
Powered by <a href="http://ikiwiki.info/">ikiwiki</a>.
|
|
<a href="https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat">Theme</a> by <a href="https://anarc.at/blog/2015-09-09-bootstrap">anarcat</a>.
|
|
</span>
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
<!-- Bootstrap core JavaScript
|
|
================================================== -->
|
|
<!-- Placed at the end of the document so the pages load faster -->
|
|
<script src="https://code.jquery.com/jquery-3.2.1.min.js" crossorigin="anonymous" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f"></script>
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"></script>
|
|
|
|
<!-- TODO: Find other ways to setup analytics
|
|
<script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>
|
|
<noscript>
|
|
<img src="https://analytics.anarc.at/count?p=ikiwiki/pagespec&t=pagespec" alt="tracking pixel to count visitors when Javascript is disabled" />
|
|
</noscript>
|
|
-->
|
|
</body>
|
|
</html>
|