Table of Contents
Drupal Garland Blue Template for Dokuwiki
Compatible with DokuWiki
2011-05-25; 2010-11-07; 2009-12-25c;
The missing download url means that this extension cannot be installed via the Extension Manager. Please see Publishing a Plugin on dokuwiki.org. Recommended are public repository hosts like GitHub, GitLab or Bitbucket.
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
Extension name contains underscore, will not generate popularity points.
I adapted sidebar_theme and styled it like the Drupal Garland Theme and with blue color.
This theme shows the content of the following special named pages at the left, right and top:
top_navigation
(displayed at the top)default_sidebar_left
(displayed at left)default_sidebar_right
(displayed at right)<page>_sidebar_left
(displayed only for <page> at left instead of thedefault_sidebar_left
)<page>_sidebar_right
(displayed only for <page> at right instead of thedefault_sidebar_right
)<namespace>_sidebar_left
(displayed for all pages of <namespace> at left, if no page with the same name exists)<namespace>_sidebar_right
(displayed for all pages of <namespace> at right, if no page with the same name exists)
In top_navigation
you should use a bullet list of links, to create the navigation. You could create page specific top navigations too, if you adapt the tpl_functions.php
a little bit.
Download and Install
Alternatively you can obtain it through subversion:
cd /var/www/dokuwiki/lib/tpl/ svn checkout http://garlanddokuwiki.googlecode.com/svn/trunk/drupal-garland-blue drupal-garland-blue
Development
Recent Changes: http://code.google.com/p/garlanddokuwiki/source/list
Sites using this Template
Add your site here, if you want:
Comments?
Feel free to leave comments here.
- — jgeluk 2012/06/20 16:45
Great template! I added some code to tpl_sidebar() that checks the parent namespaces as well for <ns>_sidebar_left pages:
/** * fetches the sidebar-pages and displays the sidebar */ function tpl_sidebar($side='left') { global $ID, $REV, $INFO, $lang; $svID = $ID; $svREV = $REV; $page_sidebar_name = $ID.'_'.tpl_getConf('sidebar_pagename').'_'.$side; $default_sidebar_name = tpl_getConf('default_'.$side.'sidebar_name'); foreach (array_reverse(explode(':', getNS($ID))) as $namespace) { $namespace_sidebar_name = $namespace.'_'.tpl_getConf('sidebar_pagename').'_'.$side; if (file_exists(wikiFN($namespace_sidebar_name))) { break; } } if (file_exists(wikiFN($page_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($page_sidebar_name).'</div>'; elseif (file_exists(wikiFN($namespace_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($namespace_sidebar_name).'</div>'; elseif (file_exists(wikiFN($default_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($default_sidebar_name).'</div>'; else echo ' '; $ID = $svID; $REV = $svREV; }
- Mar 22 2012 Apart from the entry below, there are further modifications necessary in …/tpl/drupal-garland-theme/style.ini :
../default/_fileuploader.css = screen ../default/_tabs.css = screen
- Dec 29 2011 m [dot] mccarn [at] aicr [dot] org
I had to add the following line to …/tpl/drupal-garland-theme/style.ini to support the new full-screen uploader:../default/_mediamanager.css = screen
- Many thanks - I love it. Gerard.
- Beautiful! Thanks! - Joe
- Great template. - Kai … and for other newbies like me: To get top- left- and right-navigation create pages with bullet lists in the root of your namespace named top_navigation / default_sidebar_left / default_sidebar_right
- Wonderful! GRH
- Good template!
- Very nice template: Two suggestion:
- Include some default
top_navigation
anddefault_sidebar_left
pages with some dummy links. - In some places of your code, e.g. in
conf/default.php
you use the short<?
tag instead of the full<?php
tag. some strict settings don't like that.
- I think this is a great template - but I had to fix a couple of issues: The
<?
issue mentioned above, and two comments inmain.php
that used the<? … ?>
syntax. I replaced them with<!– <div class=“pagename”><php tpl_link(wl($ID,'do=backlink'),tpl_pagetitle($ID,true))></div> –>
and<!– /* Remove this invisible link if it bothers you. */ –>
and now everything is working fine. This in on a Windows/IIS machine using FastCGI in case that matters- Thank you for reporting the “<?php” issue. This is now fixed. Conserning the “Include some default pages” part: They are included, but normally these pages don't exist and have to be filled by the user. One could create and fill them with dummy content, but a template should not create pages I think. — Mirko Windhoff 01/02/2011
- Very nice template.
There is an issue with the TOC, though. If a page is so simple that it has no TOC, or when visiting configuration page, the TOC that is shown for the page is the TOC of the sidebar (if it has one). I found how to prevent this. in filetpl_functions.php
, functiontpl_sidebar
should save and restore the global$TOC
var. The following code works for me/** * fetches the sidebar-pages and displays the sidebar */ function tpl_sidebar($side='left') { global $ID, $REV, $TOC, $INFO, $lang; $svID = $ID; $svREV = $REV; $svTOC = $TOC; $page_sidebar_name = $ID.'_'.tpl_getConf('sidebar_pagename').'_'.$side; $namespace_sidebar_name = $INFO['namespace'].'_'.tpl_getConf('sidebar_pagename').'_'.$side; $default_sidebar_name = tpl_getConf('default_'.$side.'sidebar_name'); if (file_exists(wikiFN($page_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($page_sidebar_name).'</div>'; elseif (file_exists(wikiFN($namespace_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($namespace_sidebar_name).'</div>'; elseif (file_exists(wikiFN($default_sidebar_name))) echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($default_sidebar_name).'</div>'; else echo ' '; $ID = $svID; $REV = $svREV; $TOC = $svTOC; }
— schplurtz 2011/02/07 13:46
- Very great template ! thank you.
I encountered a problem with long<code>
or<file>
that “overflow” the main page. The result is not very nice. Here is a capture from http://windhoff.net/wiki/playground/playground?&#long_code_overflow. Can you help fix this?
— chtiland 2011-04-22- @schplurtz : Try to use plugin jquery-syntax, this solve this problem for me
- seems to be a nice tip, have to try it — Mirko 2011/06/06 23:25
LOGO
I put a logo instead of a text into the title of the wiki.
for this example: upload your logo to the media root as logo.gif and
put this code into the inputbox of the admin-configuration - Basic Settings - title - Wiki title
- — oh-mark 2011/06/07 07:56
<span><div style="position:absolute; top:3px; left:0px; margin: 0px; padding: 10px; background-color: #ffffff;"><IMG src="http://domain.com/lib/exe/fetch.php?media=logo.gif" height=60> </div></span>
new code for sidebar and header
i rewrote the sidebar and header/top function.
now you can place the sidebar-files out of the root e.g. to :wiki:navi
all sidebar-files will be placed there now.
also is it possible to create a sidebar for the next sublevels too. it will search the deepest match of a sidebar using namespace and pagename.
sidebar and header are handelt identically now.
it will look if the users rights are good for reading.
— oh-mark 2011/06/24
- replace in the main.php
p_sidebar_xhtml('top_navigation')
withtpl_sidebar('top')
(line ~39)
<?php // echo p_sidebar_xhtml('top_navigation')?> <?php echo tpl_sidebar('top')?>
- replace conf/metadata.php
- metadata.php
<?php $meta['sidebar_namespace'] = array('string'); /** added by mark **/ $meta['sidebar_pagename'] = array('string'); $meta['no_creation_message'] = array('onoff'); /** added by mark **/ ?>
- replace conf/default.php
- default.php
<?php $conf['sidebar_namespace'] = 'wiki:navi'; /** added by mark **/ $conf['sidebar_pagename'] = 'sidebar'; $conf['no_creation_message'] = false; /** added by mark **/ ?>
modify the file tpl_functions.php
(line ~15-37)
/** * fetches the sidebar-pages and displays the sidebar * * mod by Mark */ function tpl_sidebar($side='left') { global $ID, $REV, $INFO, $lang, $TOC; $svID = $ID; $svREV = $REV; $svTOC = $TOC; $sidebar_namespace = preg_replace('/\:+/', ':', preg_replace(array('/:/','/\//','/\\\/'), ':', ':'.tpl_getConf('sidebar_namespace').':' )); /** added by mark **/ $i=count(explode(":", $ID)); for($i; $i>0; $i--){ $namespaces=explode(":", $ID,$i); $ns=''; foreach($namespaces as $n){ $ns.=(!$ns=='') ? '_'.$n : $n; // echo auth_quickaclcheck(str_replace('_',':',$ns)); if(auth_quickaclcheck(str_replace('_',':',$ns)) >= AUTH_READ) { $ID=$svID; /** clean id **/ $nsp=$ns.'_'.tpl_getConf('sidebar_pagename').'_'.$side; if (page_exists($sidebar_namespace.$nsp)) $namespace_sidebar_name=$sidebar_namespace.$nsp; } } $i=($namespace_sidebar_name)?'-1':$i; /* if deepest sidebar found exit */ } /** if no special sidebar found define default **/ if (!$namespace_sidebar_name) $namespace_sidebar_name = $sidebar_namespace.tpl_getConf('sidebar_pagename').'_'.$side ; /** mod by mark **/ if (page_exists($namespace_sidebar_name)) { echo '<div class="'.$side.'bar">'.p_sidebar_xhtml($namespace_sidebar_name).'</div>'; } else { echo '<div class="'.$side.'bar">'; if (tpl_getConf('no_creation_message')) echo '<b>no page defined!</b> click to create one or deactivete this message in the admin config'.p_sidebar_xhtml($namespace_sidebar_name).'</div>'; /* print nothing if not defined */ echo ' '; } $ID = $svID; $REV = $svREV; $TOC = $svTOC; /** fix from schplurtz 2011/02/07 13:46 **/ }
Dokuwiki 2013-12-08
The TOC in sidebar has been broken on mine since Dokuwiki 2012-01-25 even with these changes. Oh well.
This new version breaks this theme. Need to create the template.info.txt file. I put the following in it:
base drupal-garland-blue author email date 2010-10-22 name Drupal Garland Blue desc Drupal Garland Blue Theme for Dokuwiki