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
Digital Autonomy
• The Answer Was Already on the Shelf
• Changing the Chip Industry: How Public Investment Has Grown Open Silicon
• United Nations Open Source Portal Goes Live
• EU Open Source Strategy Plays Key Role in Tech Sovereignty Package
• France Says “Au Revoir” to Microsoft
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
-
AI Helped Develop a Linux Exploit
A use-after-free race exploit was discovered and exploited on CentOS Stream 9.
-
Yet Another Linux Kernel Vulnerability Discovered
Affecting millions of systems, a kernel flaw discovered by Qualys could allow users to gain root privileges.
-
Ubuntu 26.10 to Include Ubuntu Certified Hardware Check
If you've ever wondered if your laptop or PC is officially certified to run Ubuntu, that curiosity will soon be met.
-
Substantial Update to IPFire Now Available
The lastest version of IPFire features a fundamental change to how the system handles DNS.
-
Gnome Working on Test Center App to Make Testing Easier
It's now possible to test experimental features on the Gnome desktop without worrying that you'll break things.
-
New Vulnerability Discovered in Linux Kernel
Hiding out for nearly 15 years, the Ghostlock vulnerability allows a standard logged-in user to gain root privileges.
-
New Linux Flaw Lets Attackers Escape VMs
A 16-year-old vulnerability allows an attacker to escape a virtual machine, gain access to the host, and execute malicious code.
-
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.
