====== DokuWiki ====== I use [[https://www.dokuwiki.org/|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. * Changed theme to Boostrap3 * Removed the footer by deleting everything inside ''%%dokuwiki/lib/tpl/dokuwiki/tpl_footer.php%%'' * Added a google analytics plugin * Added a mathjax plugin * Added a discussion plugin for comments ===== 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: * File extension is ''%%*.txt%%'' * First line contains ''%%=====%%'' which is DokuWiki syntax for main heading 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. * Forcing me to have start pages for every parent node in the hierarchy * Complicates the links by now adding their trace * Forces me to write duplicate code with links * Adds hours of reshuffling for no appreciable gain * The DokuWiki site doesn't use namespaces for its content ===== Plugins ===== I use various plugins to get the functionality I wanted. ==== Discussion Plugin ==== I use the [[https://www.dokuwiki.org/plugin:discussion|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 [[https://www.dokuwiki.org/plugin:googleanalytics|Google Analytics DokuWiki plugin]] [[https://www.dokuwiki.org/plugin:googleanalytics|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: ===== 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/''