Hello,
though I don“t have PHP knowledge at this time, here is my "vision" to discuss, about a perfect DokuWiki Template:
- It can offer different layouts for
*mobile phones ( Android, Iphone )
*variable screen sizes of standard notebooks and desktop PCs
*printers (!)
*screen readers ( accessibility)
At this moment, the simple approach would be to offer 4 Dokuwiki interfaces, by uploading DokuWiki 4 times, each time with a different template
http://mydomain.com/mobile/doku.php
http://mydomain.com/standard/doku.php
http://mydomain.com/printer/doku.php
http://mydomain.com/accessibility/doku.php
and to write 4 templates ( as good as you can ).
For example, a sidebar might not be useful to use on a small mobile device, nor on a printing of a website page. The mobile version might contain less pictures, or pictures of smaller sizes, "no advertising" ( heise.de has such a feature for an extra print page option :-) ) ect.
But the drawback: as there is just ONE search engine, each contents must be indexed as unique item,
so that the user of a mobile device might find first the page with the standard interface, by search engine. So that he does not use the proper interface...
And you need a cache for each Dokuwiki engine. ect... ( while one single pages directory is ok ).
I am not Apache-Rewrite expert ( and so I prefer non-rewrite solutions if possible ). Nevertheless is there any simple solution with Apache-Rewrite for that ?!
I looked at most free templates, there is no tendency to offer such a "2-or-more-view" templates.
Is it just that nobody tried, or does this idea demand too much IT professionality, or just does nobody has urgend need for that ? Or did just nobody "pay" for it, by asking professional developers, among large companies who work DokuWIki.
In fact, how if not with Javascript, shall a website detect if a device with totally different needs for display is arriving ?
I understand that the meta header of a standard DokuWiki page already contains referers to 3 different stylesheets
<link rel="stylesheet" media="all" type="text/css" href="/lib/exe/css.php?s=all&t=mytemplate" />
<link rel="stylesheet" media="screen" type="text/css" href="/lib/exe/css.php?t=mytemplate" />
<link rel="stylesheet" media="print" type="text/css" href="/lib/exe/css.php?s=print&t=mytemplate" />
, thats great anyhow.
Sincerely
Rolf