Table of Contents

DokuWiki

I use DokuWiki to build this website. It is running on one awesome droplet. It is served by Apache2. The domain name paulsammut.com points to it and a virtual host on port 80 picks up the traffic.

Change Log

The following are modifications I have done to it.

Vim Editing

I tried a couple of vim plugins that allow you to log into the DokuWiki server and serve up pages to vim for editing, but they were dependant on an old package of dokuwikixmlrpc which I could not get to install. I tried for a day to update the package to allow the install but I was sure to keep running into problems.

I use the nblock/vim-dokuwiki syntax highlighting plugin. To activate I have to run this command:

:set ft=dokuwiki

I added a function in my .vimrc that checks if the file is a DokuWiki file and sets this syntax automatically. It does this with two checks:

It then sends keys to unfold the doc, as the doc opens fully folded by default.

" For DokuWiki txt files.
au BufRead *.txt call s:checkSyntaxDokuWiki()
 
" Check if first line contains heading
fun! s:checkSyntaxDokuWiki()
    if getline(1) =~ "======"
        set ft=dokuwiki
        normal zR
    endif
endfunction

Namespaces

So I spent over an hour redoing the site to have a hierarchy system of namespaces. After I set it up, I realized I didn't want it. It adds unnecessary complication to the page and here are the reasons I reverted back to pre-namespace.

Plugins

I use various plugins to get the functionality I wanted.

Discussion Plugin

I use the DokuWiki Discussion Plugin to add comments. I tried using the plugin»discussion»automatic setting and turning off discussion where I didn't want it, but this did not work. So I had to add the string at the end of every %page using this commnad:

printf "\n" | tee -a *.txt

Analytics Plugin

I set up Google Analytics using the Google Analytics DokuWiki plugin link. I just had to enter the tracking ID into the plugin configuration.

Syntanx Highlighting

I have tried all kinds of code blocks and settled on using the default one with line numbers.

I use this for pseudo code. There isn't actually a pseudo code coloring syntax but i type it in there because if you don't have a syntax option the line numbers don't show up:

<code cpp [enable_line_numbers="true"]>
<code pseudo [enable_line_numbers="true"]>

Mac Vim Editing

I use ssfs to mount the droplet dokuwiki directory and edit the files directly on the server. I could use unison to do it but whatever.

I sometimes run into issues with read only files and file owner corruption with mac's version of sshfs. I set the user to paul and group to www-data on the droplet.

sudo chown -R paul:www-data /var/www/dokuwiki/

sudo chmod g+w /var/www/dokuwiki/data/pages/