2014-12-30 // Diff File Icon for Patch Files in DokuWiki
Essentially “.patch
” files are – with regard to their content – not different from “.diff
” files. Still, throughout this blog and all of my other documentation i like to and also have grown accustomed to using the “.diff
” filename suffix in cases where i want to focus on the semantics of a pure comparison. On the other hand, in cases where i want to focus on the semantics of actually applying a patch to a certain source file, the “.patch
” filename suffix is used. I guess it's more of a personal quirk, rather than a well funded scientific theory.
Unfortunately in the stock DokuWiki distribution there is a little deficiency in displaying the appropriate diff file icon not only for “.diff
” files, but for “.patch
” files also. Here is an example screenshot of what this looks like:
Note the plain white paper sheet icon in front of the filename “sblim-wbemcli-1.6.3_debug.patch
”, which is the default file icon in case of an unknown filename suffix.
This behaviour basically exists, because the “.patch
” filename suffix has no appropriate icon in the “<dokuwiki-path>/lib/images/fileicons/
” directory:
$ find <dokuwiki-path>/lib/images/ -type f -name "patch.*" -ls | wc -l 0
See also the DokuWiki documentation on MIME configuration.
This can be quickly fixed though. By just creating appropriate directory enties for the “.patch
” filename suffix via symbolic links to the file icons for the “.diff
” filename suffix:
$ ln -s <dokuwiki-path>/lib/images/fileicons/diff.png <dokuwiki-path>/lib/images/fileicons/patch.png $ ln -s <dokuwiki-path>/lib/images/fileicons/32x32/diff.png <dokuwiki-path>/lib/images/fileicons/32x32/patch.png $ find <dokuwiki-path>/lib/images/ -name "patch.*" -ls ... lrwxrwxrwx ... <dokuwiki-path>/lib/images/fileicons/patch.png -> <dokuwiki-path>/lib/images/fileicons/diff.png ... lrwxrwxrwx ... <dokuwiki-path>/lib/images/fileicons/32x32/patch.png -> <dokuwiki-path>/lib/images/fileicons/32x32/diff.png $ touch <dokuwiki-path>/conf/local.php
The final “touch
” command is necessary, since the icons are part of the DokuWiki cache and the application logic has to be notified to rebuild the now invalid cache.
After reloading the respective DokuWiki page in the browser, note the now “Diff”-labeled paper sheet icon in front of the filename “sblim-wbemcli-1.6.3_debug.patch
”:
This may be just a small change in the display of the DokuWiki page, but in my humble opinion it makes things much more pleasant to look at.