This guide is for installation instructions of a DokuWiki private site, or a DokuWiki help server for a Joomla 3.9 website installation and help pages served by DokuWiki. This is specific for my personal needs, but might help you in setting up a highly customized dokuwiki server instance.
There are a few core hacks required to make my template work properly, both for a regular wiki as well as for a help server. Additionally, there is a bug fix required to display table of contents if you utilize the plugin:condition and plugin:toctweak.
Note: you need to verify below modifications after every DokuWiki upgrade.
doku.php
and help.php
in the template directory instead of main.php
(function bethico_dispatch
)doku.php
in the root directory which then dispatches doku.php
in the template directoryhelp.php
(copy of doku.php
) in the root directory which then dispatches help.php
in the template directory/lib/tpl/
. Current version is v55.1 / 2024-06-09 suitable for DokuWiki “Kaos”.doku.php
in DokuWiki's root after line $ID = getID();
at the beginning…require_once(template('dispatcher.php')); $langcode = bethico_language(); bethico_init_toc();
act_dispatch();
withinit_lang($langcode); bethico_dispatch(basename(__FILE__));
/lib/scripts/page.js
in function makeToggle
to allow the template to set the table of contents to open or closed$handle[0].setState = function(state){ var hidden; --> if(!state && JSINFO.toc) state = JSINFO.toc.initial_state; if(!state) state = 1;
/inc/template.php
in function tpl_toc
add before line Event::createAndTrigger('TPL_TOC_RENDER', $toc, null, false);
:if (@include_once(template('dispatcher.php'))) bethico_update_toc($toc, $TOC);
This is a non-destructive change which fixes an issue in the table of contents if plugin:condition is installed.
_toc
in file lib/plugins/toctweak/helper.php
$items = array_unique($items, SORT_REGULAR);
/lib/tpl/bethico/core/v551/
, copy them withcp -R /lib/tpl/bethico/core/v551/* /
then check file permissions
/inc/actions.php
and change /lib/tpl/bethico/dispatcher.php
/inc/template.php
and change/doku.php
and change then copy to /help.php
/lib/scripts/page.js
(v55.1-line 170) right before if(!state) state = 1;
if(!state && JSINFO.toc) state = JSINFO.toc.initial_state;
'https://your.wiki.server/help.php?id={langcode}:{keyref}'
JToolbarHelper::help('view', true);
https://your.wiki.server/help.php?id=en:view
Joomla's default help url:
url example: https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}
Substitute tags:
Tag | Name | Example |
---|---|---|
{app} | Application name | 'Administrator' |
{component} | Component name | 'com_content' |
{keyref} | Help screen key reference | JToolbarHelper::help('{keyref}', true) |
{language} | Full language code | 'en-GB' |
{langcode} | Short language code | 'en' |
{langregion} | Region code | 'GB' |
{major} | Joomla major version number | |
{minor} | Joomla minor version number | |
{maintenance} | Joomla maintenance version number |
$ sudo zip -r my_wiki my_wiki -x my_wiki/data/cache/**\* my_wiki my_wiki -x my_wiki/data/log/error/**\* my_wiki my_wiki -x my_wiki/data/log/deprecated/**\*
plugins/condition/syntax.php
if you run your webserver with PHP 8.plugins/html5video/syntax/video.php
if you run your webserver with PHP 8./data/meta/davcal.sqlite3
to D:\sqlite3.exe
command line tool from D:\PortableCustom\sqlite3, then enter the following commands to see entries made after 2023-01-01:.open /davcal.sqlite3 SELECT calendardata FROM calendarobjects WHERE datetime(lastoccurence, 'unixepoch') > '2023-01-01 00:00:00'; .quit