Qgoda News (06/2023)

Both this website and the homepage of the Qgoda project have recently been relaunched, of course, with Qgoda, the static site generator (or headless CMS) for flexible and efficient creation of multi-lingua websites. That is reason enough to spread some news about and around Qgoda.

Strawberries on Newspaper
Image by Amber Shadow on Unsplash

The Problem with JavaScript::Duktape::XS ...

Qgdoda uses the module JavaScript::Duktape::XS for the execution of JavaScript code. Unfortunately, the module has a bug for quite some time now that prevents Qgoda's module resolver to work. Because of this bug - as described in the Qgoda installation instructions - you always had to downgrade JavaScript::Duktape::XS to version 0.000079.

That requires manual work and prevents Qgoda from being included in Linux distributions. I have now solved the problem myself and created a pull request with a fix. The pull request has been accepted and is already merged. As soon as a new release for JavaScript::Duktape::XS is available, I will also be able to finally create a new Qgoda release.

Full-Text Search

One problem for all static sites is the full-text search. There was a time, when you could use Google Site Search for that but the feature has been withdrawn by Google years ago. Fortunately, there are now good solutions in JavaScript available that also run in the browser.

I have tried out FlexSearch for the relaunch of this site and am more or less happy with it. Only the stemming1 function is not very usable but the rest works pretty well.

At the moment, the full-text search is implemented as a local plug-in for this site and not really reusable. The next site that will be enhanced with a full-text search is the Qgoda homepage, and I hope that I can improve everything so that a reusable Qgoda plug-in for a full-text search can be made publicly available.

Qgoda is Test Winner

As already reported on the Qgoda-Website, Qgoda has been voted best static site generator in Perl by LinuxLinks. I must say, I have no objections.


  1. Stemming means that the full text search uses the base form of words both for indexing and searching, so that a search for "house" will also find pages that contain the word "houses".
Leave a comment

Abusing JSON.stringify()

Hidden Quirks of JavaScript `for...in` Loops

Creating E-Invoices with Free and Open Source Software

Dynamic Angular Configuration

Compiling ImageMagick for Perl

Standalone Angular Tour Of Heroes

This website uses cookies and similar technologies to provide certain features, enhance the user experience and deliver content that is relevant to your interests. Depending on their purpose, analysis and marketing cookies may be used in addition to technically necessary cookies. By clicking on "Agree and continue", you declare your consent to the use of the aforementioned cookies. Here you can make detailed settings or revoke your consent (in part if necessary) with effect for the future. For further information, please refer to our Privacy Policy.