[[!comment format=mdwn username="http://smcv.pseudorandom.co.uk/" nickname="smcv" subject="comment 4" date="2011-02-23T16:19:28Z" content=""" > ... at the time the templates are compiled there isn't a concept of who is accessing the page Yes, this is the problem with what you're asking for. > Is there a simple way to serve a different static page based on session information? No, the thing serving the static pages is your web server; IkiWiki isn't involved at all. > I suppose I could try to compile two static sites, one for me and one for the world I've done similar in the past with two setup files, under the same user ID, running different checkouts of the same git repository - one for me, on https with [[plugins/httpauth]], and one for the world, with only [[plugins/openid]]. You have to make them write their git wrappers to different filenames, and make the real git hook be a shell script that runs one wiki's wrapper, then the other, to refresh both wikis when something gets committed. It's a bit fiddly to admin (you have to duplicate most setup changes in the two setup files), but can be made to work. I've given up on that in favour of having a single wiki reachable from both http and https, with [[plugins/httpauth]] only working over https. > I get the feeling I may be asking it to do something it wasn't meant to do. Pretty much, yes. > If so I'd appreciate it if someone told me to stop trying. I can help! \"Stop trying.\" :-) But, if you want this functionality badly enough, one way you could get it would be to have all the links on all the pages (for the benefit of `NoScript` users), use Javascript to make an XMLHTTPRequest (or something) to to a CGI action provided by a [[plugin|plugins/write]] (`ikiwiki.cgi?do=amiadminornot` or something), and if that says the user isn't an admin, hide some of the links to not confuse them. That would break the normal way that people log in to ikiwiki (by trying to do something that needs them logged-in, like editing), so you'd also want to add a \"Log In\" button or link (or just remember that editing your Preferences has the side-effect of logging you in). Note that hiding the links isn't useful for security, only for usability - the actual edit obviously needs to check whether the user is a logged-in admin, and it already does. """]]