Ein FTS -Server für statische Blogs; Verwendet SQLite unter der Motorhaube.
# npm -g i nfts
Um zu zeigen, wie ein echter statischer Blog mit FTS erweitert werden kann, werden wir das Repo für den ROR -Blog verwenden:
$ git clone https://github.com/rails/weblog.git
$ cd weblog
$ bundle install
$ jekyll s --no-watch
Öffnen Sie http://127.0.0.1:4000, um den Blog zu durchsuchen.
Von einem Diff -Terminal:
$ cd weblog
$ nfts-create -o db.sqlite3 -p _posts/ _posts/*
$ nfts-server db.sqlite3
Um den Server zu testen:
$ curl 'http://localhost:3000/?q=omg'
Dies sollte eine Reihe von Ausschnitten zurückgeben.
Jetzt
Bearbeiten Sie _includes/navigation.html um einen Link hinzuzufügen, der ein Suchdialog aufrufen wird:
<li><a id="nfts__dialog_toggle" href="#">Search</a></li>
Kopieren Sie die Datei web.js aus der NFTS nfts.js DIR in weblog . Es ist ein ES6 UMD mit 0 Abhängigkeiten.
Zu _config.yml hinzufügen:
nfts:
dialog_toggle_btn: '#nfts__dialog_toggle'
parent_container: 'main > article'
server: http://localhost:3000
debounce: 200
Fügen Sie die NFTS -Initialisierung zu _includes/navigation.html hinzu:
<script src="/nfts.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
new NftsDialog(JSON.parse('{{site.nfts | jsonify }}'),
file => { // post
let prefix = NftsDialog.date_fmt(file.slice(0,10))
let basename = file.slice(10+1).replace(/.[^.]+$/, '')
return '{{site.url}}' + '/' + prefix + '/' + basename
})
})
</script>
Die NFTS -Integration ist abgeschlossen. Starten Sie Jekyll neu, stellen Sie sicher, dass die Site -Regeneration abgeschlossen und die Blog -Seite im Browser aktualisiert wird. Klicken Sie auf "Suchen" und geben Sie "OMG" (Sie müssen nicht die Eingabetaste drücken).
Todo.
MIT