ayakael.net/ikiwiki/directive/index.html
2024-08-26 00:02:57 +00:00

281 lines
9.8 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>directive - 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>Directives are similar to a <a href="../wikilink/">WikiLink</a> in form, except they
begin with <code>!</code> and may contain parameters. The general form is:</p>
<pre><code>[[!directive param="value" param="value"]]
</code></pre>
<p>This gets expanded before the rest of the page is processed, and can be used
to transform the page in various ways.</p>
<p>The quotes around values can be omitted if the value is a simple word.
Also, some directives may use parameters without values, for example:</p>
<pre><code>[[!tag foo]]
</code></pre>
<p>A directive does not need to all be on one line, it can be
wrapped to multiple lines if you like:</p>
<pre><code>[[!directive foo="baldersnatch"
bar="supercalifragilisticexpialidocious" baz=11]]
</code></pre>
<p>Also, multiple lines of <em>quoted</em> text can be used for a value.
To allow quote marks inside the quoted text, delimit the block
of text with triple-double-quotes or triple-single-quotes:</p>
<pre><code>[[!directive text="""
1. "foo"
2. "bar"
3. "baz"
""" othertext='''
1. 'quux'
2. "foo"
''']]
</code></pre>
<p>If you want to put text with triple quotes into a parameter value, you can
use perl-style here-doc syntax, even nesting it like this:</p>
<pre><code>[[!directive text=&lt;&lt;OUTER
[[!otherdirective &lt;&lt;INNER
inner text
INNER]]
outer text
OUTER]]
</code></pre>
<p>ikiwiki also has an older syntax for directives, which requires a space in
directives to distinguish them from <a href="../wikilink/">wikilinks</a>. This
syntax has several disadvantages: it requires a space after directives with
no parameters (such as <code>[[pagecount ]]</code>), and it prohibits spaces in
<a href="../wikilink/">wikilinks</a>. ikiwiki now provides the <code>!</code>-prefixed
syntax shown above as default. However, ikiwiki still supports wikis using
the older syntax, if the <code>prefix_directives</code> option is disabled.</p>
<!-- legacy Ikiwiki comments.pm section -->
<!-- Mastodon comments -->
<div class="pagedate text-muted">
<span class="created">Created <time datetime="2024-08-26T00:02:50Z" class="dt-published">Mon Aug 26 00:02:50 2024</time>.</span>
<span class="edited">
Edited <time datetime="2024-08-26T00:02:50Z">Mon Aug 26 00:02:50 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="../formatting/">formatting</a></li>
<li><a href="../formatting.fr/">formatting.fr</a></li>
<li><a href="../">ikiwiki</a></li>
<li><a href="../../ikiwiki.fr/">ikiwiki.fr</a></li>
<li><a href="../markdown/">markdown</a></li>
<li><a href="../markdown.fr/">markdown.fr</a></li>
<li><a href="../pagespec/sorting/">pagespec/sorting</a></li>
<li><a href="../../shortcuts/index.en.html">shortcuts</a></li>
<li><a href="../../shortcuts/index.fr.html">shortcuts.fr</a></li>
<li><a href="../wikilink.fr/">wikilink.fr</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/directive&t=directive" alt="tracking pixel to count visitors when Javascript is disabled" />
</noscript>
-->
</body>
</html>