New template #82

merged 196 commits into from Apr 7, 2012


None yet

7 participants


This is the new default template merged into the core with complete history since it's beginning as starter template (isn't git amazing?)

I did not merge into master right away, because I'd like to have a code review of the the template and pull requests are really good for this.

selfthinker and others added some commits Nov 5, 2010
@selfthinker selfthinker initial commit f4d2720
@selfthinker selfthinker added user page link 5b4c3e6
@selfthinker selfthinker finished design, improved template functions 23bca4f
@selfthinker selfthinker IE fixes a52b135
@selfthinker selfthinker more IE fixes 8fdcbb4
@selfthinker selfthinker made favicon.ico more flexible (use from data/media only if it exists…
…, otherwise from tpl)
@selfthinker selfthinker split design.css up into design.css and content.css 2fc923c
@selfthinker selfthinker added RTL styles 0adc520
@selfthinker selfthinker added basic print styles 922090d
@selfthinker selfthinker version 2010-11-07 767b821
@selfthinker selfthinker improved include hooks
* moved footer and pageheader into main div
* removed header
* renamed pageheader to header
@selfthinker selfthinker added missing subscribe link highlighting 944cc64
@selfthinker selfthinker added comment about new favicon core function 73956ee
@selfthinker selfthinker fixed vertical alignment in recent changes and revisions for showuser…
@selfthinker selfthinker changed preview to look more like the real resulting page 1a173f9
@selfthinker selfthinker fixed formatting for combined styles (#1) edf68fe
@selfthinker selfthinker removed text-align from body to allow automatic text-alignment ac045c3
@selfthinker selfthinker changed font sizes of license and section edit buttons c21fe1f
@selfthinker selfthinker made template functions more flexible
* attention: incompatible to previous version!
* introduced _tpl_action() (wrapper similar to tpl_action())
* improved discussion and user page functions
  * made them work independent from config
  * added full control to how the page links are built (with placeholders @ID@ and @USER@)
* config option changes: removed 'discussNSreverse', renamed 'discussionNS' and 'userNS' to 'discussionPage' and 'userPage'
@selfthinker selfthinker added 'Discussion' translation into many languages b19d382
@selfthinker selfthinker fixed wrong form method for buttons b49f066
@selfthinker selfthinker made include hooks more flexible (especially for farms: put included …
…file into conf directory)
@selfthinker selfthinker added register link 49dd4a8
@selfthinker selfthinker added more translations and new languages 5670feb
@selfthinker selfthinker RTL fixes 5f12b39
@selfthinker selfthinker adjusted _tpl_register() to reflect changes in the core 4a4cf7c
@selfthinker selfthinker added '__sidebar_width__' placeholder to style.ini 5ddc68e
@selfthinker selfthinker version 2011-02-20 d07ea37
@MrClow MrClow first rough cut 5cd857d
Cla applied css in style.ini instead of hacking a link tag into the head 6520918
Cla made some changes in response to feed back. CSS getting messy, might …
…hand it back to pro at this point ;)
Cla change font to Arial 7546228
Cla redesigned header to make user tools look like buttons in preparation…
… for icons coming in

table borders now in line with button borders
designed the download code tab
made changed size of aside h1 (but not lower headings yet...)
@selfthinker selfthinker removed starter template specific functionalities (including user and…
… discussion buttons/links)
@selfthinker selfthinker put new styles into their respective files and changed small bits edb1239
Clarence Lee small changes to the header 1c2583d
Clarence Lee added design folder for mockups: edit highlighting and toc 2124c86
Clarence Lee emphasize the page_id cc6b3a7
Clarence Lee added attempted headers 9689ea4
Clarence Lee baseline of aside matching content mockup b3ffe8d
Clarence Lee align pagetools with content, include splitbrain feedback 7a88471
Clarence Lee align pagetools with center 7190438
Clarence Lee rearrange pagetools with edit in center af2e65f
@selfthinker selfthinker main changes for new design 75d210e
@selfthinker selfthinker added logo and minor fixes 1ffabde
@selfthinker selfthinker changed breadcrumbs design, small fixes: pageid, pagetools and sidebar 4a44843
@selfthinker selfthinker small fix for footer cfe4d18
@selfthinker selfthinker small fixes: search box, structure in IE, gradient in Chrome 6a9cea3
@selfthinker selfthinker less markup for breadcrumbs (but more lines for IE<9) b2932b9
@selfthinker selfthinker fix breadcrumbs (just introduced bug for single instances) f318df2
@selfthinker selfthinker gave logo image dimensions (so that title headlines doesn't jump) d6d062e
@selfthinker selfthinker implemented 3 different temporary designs for the breadcrumbs (throug…
…h classes 'version01'-03)
@selfthinker selfthinker monospace font for main textarea 5eb28b9
@selfthinker selfthinker improvements for the pagetools 7ccc114
@selfthinker selfthinker implemented different temporary design for pagetools on the left (cla…
…ss='version02' instead of 01)
@selfthinker selfthinker minor font-size fixes 0f4daa6
@selfthinker selfthinker fixed position of second pagetool version 3ccc6a7
@selfthinker selfthinker added version03 for pagetools 245160a
@selfthinker selfthinker added version04 for pagetools 2b654fc
@selfthinker selfthinker added another temporary design for pagetools (version05) 97687a1
@selfthinker selfthinker minor fix for version02 of breadcrumbs c161660
@selfthinker selfthinker added alternative designs for breadcrumbs (version04-07) aca3c92
@selfthinker selfthinker removed all alternative versions of breadcrumbs and pagetools 1c9d014
@selfthinker selfthinker repositioned breadcrumbs a bit (more space above, less space below) c2fe893
@selfthinker selfthinker split footer into two bits 31b36f7
@selfthinker selfthinker minor design changes for the page footer e63733c
@selfthinker selfthinker switched back order of breadcrumbs 5f153e6
@selfthinker selfthinker added missing icons (and moved revert action higher up) 0ef918b
@selfthinker selfthinker improved page tools design, added 4 main icons, implemented 3 differe…
…nt temporary versions (version01-03)
@selfthinker selfthinker improved toc design 72a2a0d
@selfthinker selfthinker fixed pageid to also have the drop shadow ce96de4
@selfthinker selfthinker updated to latest DokuWiki version (including mediamanager, etc) 46a21be
@selfthinker selfthinker don't show sidebar with fullscreen mediamanager fdb80d4
@selfthinker selfthinker made form elements more generic, added some style.ini values 4654f3c
@selfthinker selfthinker don't show sidebar in admin bb80cf8
@selfthinker selfthinker fixed alternative version02 of pagetools style cf3eea6
@splitbrain added new icons b87a370
@selfthinker selfthinker show sidebar only when it exists and in show mode (fixes #3 and #4) e508fd2
@selfthinker selfthinker RTL styling fixes 516246f
@selfthinker selfthinker make too wide content fit (fixes #7) 5a94948
@selfthinker selfthinker changed some 'div.dokuwiki' to '.dokuwiki' 0ecb8d8
@selfthinker selfthinker show sidebar only when it exists and in show mode (fixes #3 and #4) 3d7fb39
@selfthinker selfthinker RTL styling fixes faefe2d
@selfthinker selfthinker make too wide content fit (fixes #7) cd6a147
@selfthinker selfthinker changed some 'div.dokuwiki' to '.dokuwiki' 51152ba
@splitbrain fixed icons for create and draft 1204c0a
@selfthinker selfthinker Merge pull request #11 from splitbrain/master
added new icons from iPhone toolbar icons
@selfthinker selfthinker moved back to top target higher up (fixes #21) 49cf8ed
@selfthinker selfthinker rough styling of headings (#9) 549bb6e
@selfthinker selfthinker fixed pre wrapping (bug introduced in 5a94948) 02a2735
@selfthinker selfthinker minor typography changes for sidebar 678d9be
@selfthinker selfthinker avoid wrapping of toolbar (fixes #16) 36daf5c
@selfthinker selfthinker improved size of char picker (#20), but might not be enough 2fdce5a
@selfthinker selfthinker improved section highlighting a02cb3b
@selfthinker selfthinker styled modal windows (closes #23) fb4f3ef
@selfthinker selfthinker further minor improvement for modal windows (#23) b61494d
@selfthinker selfthinker improved blockquotes roughly (#13), but might not be enough 97db95b
@selfthinker selfthinker made CSS coding style more consistent (pure whitespace changes) d773368
@selfthinker selfthinker removed some vendor-specific css prefixes which are supported by all …
…modern browsers now
@selfthinker selfthinker removed some IE6-specific styles d5938d5
selfthinker and others added some commits Jan 22, 2012
@selfthinker selfthinker moved pickerbutton styling to general _edit stylesheet cda2580
@selfthinker selfthinker included lesser IEs than 7 into the rest of the conditional comments 47d19ca
@selfthinker selfthinker added X-UA-Compatible to always use the best possible browser mode in…
… IE and give users with Chrome Frame the chance to use it
@selfthinker selfthinker integrated image detail page into main layout dd63cd2
@selfthinker selfthinker corrected bottom conditional comments 2caa12e
@selfthinker selfthinker tiny change to styling of fullscreen manager first heading 97b821d
@selfthinker selfthinker added comment to explain tpl_img() params 5096b41
@selfthinker selfthinker added new (and partly old) bullets again for sitemap, toc and page li…
…st style
@selfthinker selfthinker try to improve general list styling f534106
@selfthinker selfthinker improved pagetools on hover 5c3746a
@selfthinker selfthinker improved image detail page (fixes #28) 8efe1ae
@selfthinker selfthinker fixed bottom conditional comments 0192e71
@selfthinker selfthinker fixed some inputs inheriting bold font-weight (fixes #30) 4e06fea
@selfthinker selfthinker moved msgarea further down to avoid clash with the user tools 8245978
@selfthinker selfthinker improved header in print styles 5583cf5
@selfthinker selfthinker have new section highlighting on both sides (fixes #33) and improve p…
…review borders
@selfthinker selfthinker added mobile styles (#26), main work done, but some things still to f…
@selfthinker selfthinker added comment header to pagetools.css 085be41
@selfthinker selfthinker made changes to content list style also work in sidebar 5f5ad82
@selfthinker selfthinker removed old comments for headings 99bdbaa
@selfthinker selfthinker improved some form elements in mobile styles 4cae4c3
@selfthinker selfthinker changed tpl lang to new core lang strings f97b05c
@selfthinker selfthinker changed tpl conf options (for sidebar and tagline) to new core conf a…
…nd removed hideTools option
@selfthinker selfthinker removed now obsolete conf and lang folders 3917d35
@selfthinker selfthinker changed logo to use new tpl_getMediaFile() and exchanged fixed image …
…dimensions with calculated ones (fixes #25)
@selfthinker selfthinker unified Clarence's email address in file headers f52cb5c
@selfthinker selfthinker updated f0b035a
@selfthinker selfthinker added @todo to tpl_function to clear it later 5739c37
@splitbrain fixed logo size setting. closes #36 8218bc6
@splitbrain first attempt to fix media queries on modern smartphones
(with large resolutions)
@selfthinker selfthinker Merge pull request #37 from splitbrain/master
fixed logo size setting (fixes #36) and fix media queries for more modern smartphones (hopefully)
@splitbrain initialize variable
otherwise it won't be filled
@selfthinker selfthinker Merge pull request #38 from splitbrain/master
minor fix (initialize variable)
@selfthinker selfthinker removed needless relative position on content (fixes #35) ab232d6
@selfthinker selfthinker remove bold from link to current page inside the main content (closes #… cb4747e
@selfthinker selfthinker added license for pagetool icons 6d71d40
@selfthinker selfthinker removed outline from links (focus and active states are set different…
…ly anyway)
@selfthinker selfthinker changed link colours (#22) 8374df7
@selfthinker selfthinker toned down active colour of pagetools a bit (#22) a39be6a
@selfthinker selfthinker added includes for sidebar header and footer (closes #41) and moved p…
…age header and footer inside .page div
@selfthinker selfthinker typo 2d502fc
@selfthinker selfthinker made large tables scrollable (fixes #40) 1016b7a
@selfthinker selfthinker improved search box and action dropdown spacing in mobile view 6c31e87
@selfthinker selfthinker fixed search input issue caused by previous commit cf5b603
@selfthinker selfthinker increased site width a bit (#45) 8e0ab9e
@selfthinker selfthinker improved minor edits in recent changes a4878cb
@selfthinker selfthinker minor improvements a8a8136
@selfthinker selfthinker added styles for screen resolutions between 480 and 768px (#26) 79b3df9
@selfthinker selfthinker Merge branch 'master' of c:/UniServer/www/dokuwiki/lib/tpl/dokuwiki-2…
…011 into new_default

@selfthinker selfthinker deleted obsolete files 0afd685
@splitbrain moved files to template hierarchy for merging with core 0e336ca
@splitbrain Merge remote-tracking branch 'localtemplate/initial_commit_from_start…
…er' into new-template

* localtemplate/initial_commit_from_starter: (159 commits)
  moved files to template hierarchy for merging with core
  deleted obsolete files
  added styles for screen resolutions between 480 and 768px (#26)
  minor improvements
  improved minor edits in recent changes
  increased site width a bit (#45)
  fixed search input issue caused by previous commit
  improved search box and action dropdown spacing in mobile view
  made large tables scrollable (fixes #40)
  added includes for sidebar header and footer (closes #41) and moved page header and footer inside .page div
  toned down active colour of pagetools a bit (#22)
  changed link colours (#22)
  removed outline from links (focus and active states are set differently anyway)
  added license for pagetool icons
  remove bold from link to current page inside the main content (closes #31)
  removed needless relative position on content (fixes #35)
  initialize variable
  first attempt to fix media queries on modern smartphones
  fixed logo size setting. closes #36
@splitbrain splitbrain and 1 other commented on an outdated diff Feb 6, 2012
+ <title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title>
+ <?php tpl_metaheaders() ?>
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
+ <?php echo tpl_favicon(array('favicon', 'mobile')) ?>
+ <?php _tpl_include('meta.html') ?>
+ <?php /* with these Conditional Comments you can better address IE issues in CSS files,
+ precede CSS rules by #IE7 for IE7 and #IE8 for IE8 (div closes at the bottom) */ ?>
+ <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->
+ <?php /* the "dokuwiki__top" id is needed somewhere at the top, because that's where the "back to top" button/link links to */ ?>
+ <?php /* classes mode_<action> are added to make it possible to e.g. style a page differently if it's in edit mode,
+ see for a list of action modes */ ?>
+ <?php /* .dokuwiki should always be in one of the surrounding elements (e.g. plugins and templates depend on it) */ ?>
splitbrain Feb 6, 2012

These PHP blocks should be combined. Opening and closing PHP blocks is somewhat expensive. Question is, do we need them at all? Since we recommend to use the starter template for new templates, we probably don't need to much explanation here anymore.

selfthinker Mar 24, 2012

I removed a few more comments in 57fc5ed. Is that okay?

@splitbrain splitbrain and 3 others commented on an outdated diff Feb 6, 2012
@@ -0,0 +1,6 @@
+<!-- ********** FOOTER ********** -->
+<div id="dokuwiki__footer"><div class="pad">
+ <?php tpl_license('button') /* content license, parameters: img=*badge|button|0, imgonly=*0|1, return=*0|1 */ ?>
+</div></div><!-- /footer -->
+<?php _tpl_include('footer.html') ?>
splitbrain Feb 6, 2012

Should we add the buttons we had again? For obvious reasons I'm quite fond of the donate button and I think the dokuwiki button (and backlink) is quite useful for the project as well.

HakanS Feb 18, 2012

Agree, it's important to display "DokuWiki" somewhere for marketing purposes.

bug Feb 19, 2012

Yes the footer part should be kept in the new template.

selfthinker Feb 23, 2012

I wouldn't like to add the footer as it doesn't really belong to the template IMO. But if the majority really wants to have it back, go ahead...

splitbrain Mar 10, 2012

Since the template no longer is meant as a base for new templates, we're a bit more flexible in what to add and I believe these buttons are part of our project and at least @HakanS and @bug seem to agree :-)

I readded the buttons and also the hover effect which makes them a bit less prominent and a certain feel of "cool" :-)

@HakanS HakanS and 1 other commented on an outdated diff Feb 18, 2012
@@ -0,0 +1,5 @@
+Starter Template for DokuWiki
HakanS Feb 18, 2012

To much copy & paste in the readme?

selfthinker Feb 23, 2012

No, just copy, no paste. ;-) That's left over from its origin and was just never touched. I guess it's best to completely delete the README as it doesn't make any sense when the template is not downloadable on its own.

selfthinker Feb 23, 2012

I just deleted it.

@HakanS HakanS and 1 other commented on an outdated diff Feb 18, 2012
@@ -0,0 +1,82 @@
+/* TODO */
HakanS Feb 18, 2012

What needs to be done? Empty TODO

selfthinker Feb 23, 2012

Well, as the original HTML for the forms is quite awful, the CSS cannot be good either. So, I guess my planned frontend improvements need to be finished. (Well, "started" is closer to the truth.) I would like to keep the TODO in there, because at the moment the CSS won't be the same quality as the others. Maybe I could explain it better in there? Something like "TODO: this file is not up to the best standards and will be fixed after an overhaul of the form code"

@HakanS HakanS and 2 others commented on an outdated diff Feb 18, 2012
@@ -0,0 +1,7 @@
+base dokuwiki
+author Anika Henke, Andreas Gohr, Clarence Lee
+date 2012-01-30
+name DokuWiki Template
+desc DokuWiki's default template 2012
HakanS Feb 18, 2012

should be
and there should be a real repo entry to support the new extension manager (screenshot included)

selfthinker Feb 23, 2012

I agree, but @splitbrain didn't want to have an entry for the default template, see
@splitbrain, can we persuade you (for both template:default and template:dokuwiki)?

selfthinker Feb 23, 2012

@HakanS, what should actually be the date?!? The date of each core release?

splitbrain Mar 10, 2012

I have no idea what I had against having these entries, so yes go ahead and add the pages. The date should be the last modification of the template, just like we handle it for bundled plugins.

selfthinker Mar 24, 2012

I just reverted template:default and added template:dokuwiki and changed the info.txt accordingly.

@HakanS HakanS and 2 others commented on an outdated diff Feb 18, 2012
@@ -0,0 +1,30 @@
+ * Template Functions
+ *
+ * This file provides template specific custom functions that are
+ * not provided by the DokuWiki core.
+ * It is common practice to start each function with an underscore
+ * to make sure it won't interfere with future core functions.
+ */
+// must be run from within DokuWiki
+if (!defined('DOKU_INC')) die();
+/* @todo: add this function to the core and delete this file */
HakanS Feb 18, 2012

Why not add it now, release is done.

selfthinker Feb 23, 2012

@splitbrain said, he's generally happy with that in the core. The problem is that it should be done by someone with a better knowledge of PHP than me, as I think it needs to be improved. @splitbrain said there might be a problem with the includes. Also see MrClow/dokuwiki-template-2011#44
So, anyone, please go ahead and do it.

splitbrain Apr 7, 2012

It's now in core (for this branch and pull-request)


One more todo is here: MrClow/dokuwiki-template-2011#42 (improve pagetools-sprite.xcf to make it easier to handle)

selfthinker and others added some commits Feb 23, 2012
@selfthinker selfthinker changed the way RTL styles are added
Add rtl.css as *screen* style, but append all RTL styles with [dir=rtl].
That has the advantage that all styles are in the same CSS output, so there are no different requests.

Later on all styles in rtl.css should be moved to their respective "parent" css file.
@selfthinker selfthinker improved closed item in sitemap for RTL languages efba7aa
@selfthinker selfthinker removed left spacing of recent changes list in mobile view 4a91895
@splitbrain make new template the default 1cbac89
@splitbrain made tpl_license a bit more flexible
This way there's less custom code for the footer buttons needed
@splitbrain readded footer buttons from the old template
as discussed at #82 (comment)
@splitbrain splitbrain and 1 other commented on an outdated diff Mar 10, 2012
+ word-wrap: break-word;
+.dokuwiki .docInfo {
+ font-size: 0.875em;
+ text-align: right;
+/*____________ misc ____________*/
+/* license note under edit window */
+.dokuwiki div.license {
+ font-size: 93.75%;
+/* license note in footer */
+.dokuwiki #dokuwiki__footer div.license {
splitbrain Mar 10, 2012

Two things:

  • The class before the #dokuwiki ID is superflous here and probably at other places as well
  • This line should be moved down to the footer section at the end of the file
selfthinker Mar 11, 2012

I moved the footer license line further down and removed a few classes before IDs but not all of them. Those that are left are either necessary or are planned to be removed with the frontend improvements anyway.

selfthinker and others added some commits Mar 10, 2012
@selfthinker selfthinker improved tpl_license() (removed unnecessary class, fixed space issues) 53e15c8
@selfthinker selfthinker improved footer readability and css a438064
@splitbrain Build the pagetools sprite programatically with imagemagick
This makes it easier to modify or extend the icons in the sprite.
Just place the source files in the pagetools directory and run the build

I just pushed something to address MrClow/dokuwiki-template-2011#42 the pagetool sprite is now build via imagemagick

@splitbrain Another go at building the pagetool sprite with a script
This time PHP and libGD is used so it should work on Windows as well.
The image quality is much better this time and the active highlight
color is read directly from the template's style.ini

That's much better, thanks! :)


overflow:hidden isn't a great idea in a generic template, it restricts the nested content that can appear without cropping. display:table or display:table-cell may be better choices.


Although "display: table" works as well, it comes with other disadvantages. Because all known solutions are basically just hacks and there is no unproblematic solution available, I will just remove the "overflow: hidden" and we'll have to live with FS#1950.


Did you forget something? ;-)
(And line 1561, too.)

@selfthinker selfthinker merged commit b7c3da9 into master Apr 7, 2012

This brings some "strange behavior" for me, using Safari (Version 5.1.5 (6534.55.3)). Most of the time (but not always) the gradient image is placed at the bottom of its box as a dark gray timber. The reason for this seems to be the "background-size" statement. QnD-Fix for me was to reintroduce the "background-image: -webkit-linear-gradient" using 0%, 45% and 10em. This simply overwrites the svg-image ...

As far as I understand, the problem is similar, but not the same. The svgs gradient is looking correctly, but Safari seems to make a mistake when applying the "background-size: 1px 10em". The resulting y-size and y-position is somewhat random. Removing this statement uses the image in its original size, producing a nice gradient from top to bottom (). Alternatively, using the linear-gradient overwrites the image and thus everything is looking right again, except I am not sure, what the gradient should look like (10em or 4em).


That's weird. I specifically added that "background-size" for Chrome, because otherwise Chrome displayed the gradient similarly to the screenshot on the bug report (when I still used "linear-gradient"). Either the bug only exists with CSS gradients and not with SVG gradients, or it used to be a bug which is now fixed (and in Safari weirdly the other way around)?
I'll do some experimenting on the weekend...


We have some other problems in Opera due to this, see
I'll just revert this change completely as that will fix all of the issues.


I believe this rule shouldn't be in the pagetools file at all


It is directly related to the pagetools and doesn't make sense without it. (It only adds the 40px to make it consistent with the pagetools, otherwise it wouldn't be needed.) I think it's better to keep related styles together rather than styles which belong to a certain part only.
So in other words, if you wanted to change or delete the pagetools styling and these rules weren't in here, you'd have to search for it in a different file as well as changing other styles in here.

ah okay. that makes sense


You'll find the history before this in
You can track the history further back in this repo by doing a git log --follow file.txt (only works with single files).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment