Table of contents
About
DokuWeaki is a bundle of plugins for DokuWiki especially targeted for agile teams, supporting agile documentation and following the philosophy of weakly typed wikis, aka as Weaki.
Bundled plugins
-
Collaboration
Collaboratively edit pages, with real-time synchronization of contents in all Weaki clients.
Developer: Henrique Ferrolho
-
Comments
Enables users to add inline comments in page contents.
Developers: Anaís Dias, Gabriel Souto, João Bordalo, Pedro Castro
-
GitHub Content Assist
This plugin lets users specify a GitHub repository, or a DokuWiki page. The contents of this repository or page will then be used to feed an autocomplete feature. While the user is typing, the suggestions mechanism of the feature will try to autocomplete the word.
Developers: José Cardoso, José Oliveira, Leonardo Faria, Vítor Teixeira
-
GitHub Integration
This plugin allows to automatically push, pull and delete files from GitHub when editing DokuWiki pages.
Developers: José Melo, Ricardo Loureiro, Rui Gomes, Tiago Ferreira
-
JavaScript Code Transclusion
This plugin allows users to include a code snippet from GitHub in a DokuWiki page with a simple tag.
The snippet can either be an entire file, or a single function from that file.
Developers: André Pires, Henrique Ferrolho, João Pereira, João Bandeira
* The inclusion of a complete file works for most programming languages. However, in order to include a single function the file must be a JavaScript file.
-
Templating
This plugin enables users to create a new DokuWiki page with one of multiple skeleton templates. There is no need to create more pages from scratch.
It is also possible to add new starting templates for future use.
Developers: Diogo Gomes, Eduardo Almeida, Joana Beleza, João Morgado
Install
Use the right template
The DokuWeaki Plugins have been developed with the Writr template in mind.
Install it and select it in the Configuration Settings page.
How to install the bundle
- Download the bundle .zip file
- Login as Administrator
- Browse to the Extension Manager
- Select the Manual Install tab
- Upload the bundle .zip
- Click the Install button
How to run the ShareJS synchronization server
This is required for the Collaboration Plugin.
Make sure you have Node.js, npm, and Redis both installed.
- Download the server .zip file
- Extract the .zip
- Open a Terminal (Ctrl + Alt + T)
- Browse to the extracted folder
- Install the server dependencies
npm install
- Run the server
node server
Don’t forget to read the plugin usage to configure the DokuWiki-side remaining settings.
Usage
Collaboration
Firstly, the DokuWiki Editor lock system must be disabled by setting the locktime value to 0 (zero).
Admin > Configuration Settings > Edit section
Lastly, set the domain/ip where the ShareJS server is running.
Admin > Configuration Settings > WeakiCollaboration section
Afterwards, multiple users using different devices, should be able to edit any DokuWiki page at the same time.
* For this to work, the ShareJS synchronization server must be running. See the Install notes below.
Comments
Following is an example of how to use the Comments plugin. One can either use the comment interface buttons on the Wiki page, or can add/edit/delete comments manually through the page editor.
GitHub Content Assist
To enable the content assist on a certain page click the button in the editor, fill in the dialog with the repository details you want to use. Press Ctrl + Space while writing to use the plugin autocomplete feature.
GitHub Integration
To integrate a Wiki with a GitHub repository, one needs to create a GitHub token with repo and user scopes.
After the token is created, its details must be added to the DokuWiki settings in:
Admin > Configuration Settings > WeakiGithubIntegration section
* The token in the picture is not available.
Below is a demo of a working configuration.
Tip: Supporting multiple repositories for sub-DokuWikis
The integration of multiple GitHub repositories is supported as long as the Farmer Plugin is installed.
The administrator can create multiple animals, each having its own configuration settings. Thus, having different GitHub tokens assigned.
JavaScript Code Transclusion
To embed code in a page from a file available at GitHub, just use one of the following tags:
<js-code src="{ link to GitHub file }">
<js-code src="{ link to GitHub file }@{ method name }">
Templating
To create a page using a template, start editing the page. Edit the url by appending an extension to the page name. The extension must be exactly like the name of an existing template.
For example, if you want to create a page with a FAQ template:
https://.../doku.php?id=start&do=edit
https://.../doku.php?id=start.faq&do=edit
- notice the ‘.faq’