diff options
-rw-r--r-- | lib/exe/css.php | 21 | ||||
-rw-r--r-- | lib/tpl/default/style.ini | 20 |
2 files changed, 30 insertions, 11 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php index 74efe71b6..e1d09fa3b 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -35,22 +35,29 @@ function css_out(){ // The generated script depends on some dynamic options $cache = getCacheName('styles'.$print,'.css'); + // load template styles + $tplstyles = array(); + if(@file_exists(DOKU_TPLINC.'style.ini')){ + $ini = parse_ini_file(DOKU_TPLINC.'style.ini',true); + foreach($ini['stylesheets'] as $file => $mode){ + $tplstyles[$mode][DOKU_TPLINC.$file] = DOKU_TPL; + } + } + // Array of needed files and their web locations, the latter ones // are needed to fix relative paths in the stylesheets $files = array(); if($print){ $files[DOKU_TPLINC.'print.css'] = DOKU_TPL; + $files = array_merge($files, $tplstyles['print']); // load plugin styles $files = array_merge($files, css_pluginstyles('print')); $files[DOKU_CONF.'userprint.css'] = ''; }else{ $files[DOKU_INC.'lib/styles/style.css'] = DOKU_BASE.'lib/styles/'; - //fixme extra spellchecker style? - $files[DOKU_TPLINC.'layout.css'] = DOKU_TPL; - $files[DOKU_TPLINC.'design.css'] = DOKU_TPL; - $files[DOKU_TPLINC.'style.css'] = DOKU_TPL; + $files = array_merge($files, $tplstyles['screen']); if($lang['direction'] == 'rtl'){ - $files[DOKU_TPLINC.'rtl.css'] = DOKU_TPL; + $files = array_merge($files, $tplstyles['rtl']); } // load plugin styles $files = array_merge($files, css_pluginstyles('screen')); @@ -126,8 +133,8 @@ function css_cacheok($cache,$files){ */ function css_applystyle($css){ if(@file_exists(DOKU_TPLINC.'style.ini')){ - $ini = parse_ini_file(DOKU_TPLINC.'style.ini'); - $css = strtr($css,$ini); + $ini = parse_ini_file(DOKU_TPLINC.'style.ini',true); + $css = strtr($css,$ini['replacements']); } return $css; } diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini index f5f10d0a4..e6452ad90 100644 --- a/lib/tpl/default/style.ini +++ b/lib/tpl/default/style.ini @@ -1,10 +1,22 @@ -; This file is used to configure some placeholder values used in -; the stylesheets. Changing this file is the simplest method to -; give your wiki a new look. -; ; Please see http://www.php.net/manual/en/function.parse-ini-file.php ; for limitations of the ini format used here +; Define the stylesheets your template uses here. The second value +; defines for which output media the style should be loaded. Currently +; print, screen and rtl are supported. rtl styles are loaded additionally +; to screen styles if a right-to-left language is selected (eg. hebrew) +[stylesheets] +layout.css = screen +design.css = screen +style.css = screen +rtl.css = rtl +print.css = print + +; This section is used to configure some placeholder values used in +; the stylesheets. Changing this file is the simplest method to +; give your wiki a new look. +[replacements] + ; various shades of gray, mainly used for backgrounds and texts __white__ = "#fff" __lightgray__ = "#f5f5f5" |