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
-
Hannah Montana Linux Is Back!
Developer Noah Cagle decided the world needed the once obscure but beloved Linux distribution and gave it a decidedly pink refresh.
-
System76 Refreshes the Lemur Laptop
If you're looking for a laptop with tons of power and battery, look no further than the latest iteration of the System76 Lemur Pro.
-
More than 43 Million Lines of Code in Linux Kernel 7.2
Using the cloc utility, Michael Larabel of Phoronix discovered that Linux kernel 7.2 has over 43 million lines of code.
-
Kubuntu Focus Goes Ultra
The Kubuntu Focus team has upped the performance ante of its M2 and Zr laptops with the latest, greatest CPUs from Intel.
-
Linux Gamers May Soon See Less Mouse Lag in KDE Plasma
Gamers using KDE’s Plasma desktop have been suffering from a slight input delay in mouse movement that could lead to getting fragged.
-
Three Lines of Code Improve Linux Storage Performance
A developer changed three lines of code, giving Linux storage performance a 5% bump.
-
AUR Hit Again with Malicious Packages
Once again the Arch User Repository is plagued by a high volume of malicious packages.
-
Alpine Linux 3.24 Features Fresh Desktops and a Newer Kernel
If you're a fan of Alpine Linux, it's time to upgrade because the latest version has been released with KDE Plasma 6.6, Gnome 50, and Linux kernel 6.18 LTS.
-
EU Open Source Strategy Plays Key Role in Tech Sovereignty Package
Comprehensive measures adopted by the European Commission aim to reduce dependency on non-EU countries.
-
Linux Foundation Report Indicates AI Driving Tech Hiring
Within growing security and skills gaps, AI has been found to be a positive driving force behind tech hiring trends in Europe.
