WebIDX ist eine clientseitige Suchmaschine für statische Websites.
Es funktioniert mit einem einfachen Perl -Skript (WebIDX.pl), um eine SQLite -Datenbank mit einem Index statischer HTML -Dateien zu generieren. Die SQLite -Datenbank wird dann neben dem statischen Inhalt veröffentlicht.
Die Suchfunktion wird in webidx.js implementiert, das SQL.js verwendet, um eine Schnittstelle zur SQLite -Datei bereitzustellen.
Hier können Sie eine lebende Demo sehen.
$ /path/to/webidx.pl -x index.html -x archives.html --xP secret_files -o https://example.com -z . ./index.db
Sie können webidx.pl --help ausführen, um alle verfügbaren Befehlszeilenoptionen anzuzeigen.
< script src =" https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.10.1/sql-wasm.js " > </ script >
< script src =" https://cdnjs.cloudflare.com/ajax/libs/pako/2.1.0/pako.min.js " > </ script >
< script src =" /path/to/webidx.js " > </ script > < form onsubmit =" window.webidx.search({dbfile:'/webidx.db.gz',query:document.getElementById('q').value});return false; " >
< input id =" q " type =" search " >
</ form >Wenn der Benutzer die Rückgabetaste im Suchfeld trifft, wird ein modaler Dialogfeld angezeigt, der Suchergebnisse enthält!
Das Objekt, das an Fenster übergeben wurde window.webidx.search() kann die folgenden Eigenschaften haben:
dbfile : URL der SQLite -Datenbankdateiquery : SuchanfrageresultCallback : Ein Rückruf, der eine Reihe von Suchergebnissen übergeben wird. Jedes Ergebnis ist ein Objekt mit den Eigentum title und url . Wenn nicht definiert, wird ein modaler Dialog angezeigt.errorCallback : Ein Rückruf, der eine beliebige Fehlerzeichenfolge als Argument übergeben wird.titleSuffix : Eine Zeichenfolge, die vom Ende der Seitentitel entfernt werden muss.titlePrefix : Ein String, der vom Beginn der Seitentitel entfernt werden soll.