Adding Word Count to DokuWiki
Productivity Sauce
While DokuWiki makes an excellent tool for lightweight word processing, it lacks one essential feature -- word count. Fortunately, this problem is easy to fix. The DokuWiki Tips page offers two simple scripts that add the word count capabilities to DokuWiki. The first script adds a simple counter to the text editing area, and the counter displays the number of words in the currently opened section as well as the total word count for the current page. The second script puts the counter at the top of the page and displays the character count in addition to the word count. Here is a slightly modified version of the script:
/**
* Script to add a wordcounter on the edit form
*
* @author Andreas Gohr <andi@splitbrain.org>
* added charcounter by Lars Flintzak 22.11.2008
* @license GPL 2
*/
function wordcounter(text){
var list = text.split(/[^\w\-_]+/);
var len = list.length;
if(list[len-1] == '') len--;
if(list[0] == '') len--;
if(len < 0) len=0;
return len;
}
function charcounter(text){
var list = text.split(/[^\w\-_]+/);
var len = text.length;
if(list[len-1] == '') len--;
if(list[0] == '') len--;
if(len < 0) len=0;
return len;
}
addInitEvent(function(){
var form = $('dw__editform');
if(!form) return;
var div = document.createElement('div');
div.id = 'word__counter__output';
div.style.position = 'absolute';
div.style.width = '300px';
/** div.style.left = '50px'; */
div.style.left = '240px';
div.style.top = '45px';
div.style.color = '#f00';
form.appendChild(div);
var all = wordcounter(form.elements.prefix.value);
all += wordcounter(form.elements.suffix.value);
var zei_all = charcounter(form.elements.prefix.value);
zei_all += charcounter(form.elements.suffix.value);
addEvent(form.elements.wikitext,'keyup',function(){
var len = wordcounter(form.elements.wikitext.value);
var zei = charcounter(form.elements.wikitext.value);
div.innerHTML = zei +" char in section | "+(zei_all+zei) + ' total char | '+len+' words in section | '+(all+len)+' total words';
});
});
Copy the script and paste it into a new text file. Save the file as userscript.js and move it to the conf directory of your DokuWiki installation. Next time you open a page or section for editing, you should see the counter at the top of the page. The counter works in real-time, so the count updates as you type.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Kernel 7.0 Is a Bit More Rusty
Linux kernel 7.0 has been released for general availability, with Rust finally getting its due.
-
France Says "Au Revoir" to Microsoft
In a move that should surprise no one, France announced plans to reduce its reliance on US technology, and Microsoft Windows is the first to get the boot.
-
CIQ Releases Compatibility Catalog for Rocky Linux
The company behind Rocky Linux is making an open catalog available to developers, hobbyists, and other contributors, so they can verify and publish compatibility with the CIQ lineup.
-
KDE Gets Some Resuscitation
KDE is bringing back two themes that vanished a few years ago, putting a bit more air under its wings.
-
Ubuntu 26.04 Beta Arrives with Some Surprises
Ubuntu 26.04 is almost here, but the beta version has been released, and it might surprise some people.
-
Ubuntu MATE Dev Leaving After 12 years
Martin Wimpress, the maintainer of Ubuntu MATE, is now searching for his successor. Are you the next in line?
-
Kali Linux Waxes Nostalgic with BackTrack Mode
For those who've used Kali Linux since its inception, the changes with the new release are sure to put a smile on your face.
-
Gnome 50 Smooths Out NVIDIA GPU Issues
Gamers rejoice, your favorite pastime just got better with Gnome 50 and NVIDIA GPUs.
-
System76 Retools Thelio Desktop
The new Thelio Mira has landed with improved performance, repairability, and front-facing ports alongside a high-quality tempered glass facade.
-
Some Linux Distros Skirt Age Verification Laws
After California introduced an age verification law recently, open source operating system developers have had to get creative with how they deal with it.
