Quote 2/20: "Stupidity, like virtue, is its own reward" -Bill Davidsen
The rotate includer works by keeping some state information about the file that you specify. This is kept using the exact same access rules and style as the counter information. If you find a rotate.dat file in your server root directory, don't delete it---that's where the "next line" information is kept.
The rotater is fairly simple. It opens the file, and reads until it finds the previous rotate run. Then it reads the next line and includes that in the HTML output. The line may have HTML in it and can be several thousand characters long (although we'd encourage you to keep it under 255 characters to make it easier for us to help you debug).
After it writes out the line, it updates the rotate.dat file (you may not see this file if you're on an Opus One server and not on a dedicated server; don't worry, it's there). The rotate includer also cycles around, so after it returns the last line, it will return the first line.
If you make your file longer after starting rotate, it will keep on going through the new stuff. Same with shorter.
The syntax of the rotate include is a variation on the preprocessor's normal include:
<!--#include file="demo.rotate" rotate="0" -->The #include file syntax is exactly the same as the preprocessor. What's different is the argument rotate="0". The number (which must be in quotes) is ignored for now. It is intended to be used with different rotate behaviors that I haven't thought of yet.