]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/write/tutorial.mdwn
Merge branch 'tova' into autoconfig
[git.ikiwiki.info.git] / doc / plugins / write / tutorial.mdwn
index 6675fe7137db35f7aa2c49f3053a367ab902ac70..5b810a18faea4f6460635fcd7e06f58bce56ac57 100644 (file)
@@ -5,10 +5,10 @@ What should the plugin do? Let's make it calculate and output the Fibonacci
 sequence. To output the next number in the sequence, all a user has to do
 is write this on a wiki page:
 
-       [[fib ]]
+       [[!fib ]]
 
-When the page is built, the inclusion will be replaced by the next number in the
-sequence.
+When the page is built, the [[ikiwiki/PreProcessorDirective]] will be
+replaced by the next number in the sequence.
 
 Most of ikiwiki's plugins are written in Perl, and it's currently easiest
 to write them in Perl. So, open your favorite text editor and start
@@ -44,7 +44,7 @@ that "fib" has shown up again. It doesn't actually have to match the module
 name this time, but it generally will. This "fib" is telling ikiwiki what
 kind of PreprocessorDirective to handle, namely one that looks like this:
 
-       [[fib ]]
+       [[!fib ]]
 
 Notice the `\&preprocess`? This is how you pass a reference to a function,
 and the `preprocess` function is the one that ikiwiki will call to expand
@@ -98,7 +98,7 @@ And let's change the `preprocess` sub to use it:
 
 Feel free to try it out with a simple page like this:
 
-       [[fib ]], [[fib ]], [[fib ]], [[fib ]], [[fib ]]
+       [[!fib ]], [[!fib ]], [[!fib ]], [[!fib ]], [[!fib ]]
 
 Looks like it works ok, doesn't it? That creates a page that lists:
 
@@ -139,7 +139,7 @@ Ok, one more enhancement. Just incrementing the numbers is pretty boring.
 It would be nice to be able to jump directly to a given point in the
 sequence:
 
-       \[[fib seed=20]], [[fib ]], [[fib ]]
+       \[[!fib seed=20]], [[!fib ]], [[!fib ]]
 
 Just insert these lines of code inside `preprocess`, in the appropriate
 spot:
@@ -169,7 +169,7 @@ be a guard on how high it will go.
                }
                my $num=$last{$page}++;
                if ($num > 25) {
-                       return "[[fib will only calculate the first 25 numbers in the sequence]]";
+                       error "can only calculate the first 25 numbers in the sequence";
                }
                return fib($num);
        }
@@ -182,7 +182,7 @@ does for numbers less than 1. Or for any number that's not an integer. In
 either case, it will run forever. Here's one way to fix that:
 
                if (int($num) != $num || $num < 1) {
-                       return "[[fib positive integers only, please]]";
+                       error "positive integers only, please";
                }
 
 As these security problems have demonstrated, even a simple input from the