nfts
1.0.0
خادم FTS للمدونات الثابتة ؛ يستخدم sqlite تحت الغطاء.
# npm -g i nfts
لإظهار كيف يمكن زيادة مدونة ثابتة حقيقية مع FTS ، سنستخدم الريبو لمدونة ROR:
$ git clone https://github.com/rails/weblog.git
$ cd weblog
$ bundle install
$ jekyll s --no-watch
افتح http://127.0.0.1:4000 لتصفح المدونة.
من محطة فرق:
$ cd weblog
$ nfts-create -o db.sqlite3 -p _posts/ _posts/*
$ nfts-server db.sqlite3
لاختبار الخادم:
$ curl 'http://localhost:3000/?q=omg'
هذا يجب أن يعيد مجموعة من المقتطفات.
الآن
تحرير _includes/navigation.html لإضافة رابط سوف يستدعي مربع حوار البحث:
<li><a id="nfts__dialog_toggle" href="#">Search</a></li>
نسخ ملف web.js من تثبيت NFTS Dir إلى weblog Dir & Rename إلى nfts.js إنها تبعيات ES6 مع 0.
أضف إلى _config.yml :
nfts:
dialog_toggle_btn: '#nfts__dialog_toggle'
parent_container: 'main > article'
server: http://localhost:3000
debounce: 200
أضف تهيئة NFTS إلى _includes/navigation.html :
<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>
تكامل NFTS كاملة. أعد تشغيل Jekyll ، تأكد من أنه قد أكمل تجديد الموقع وتحديث صفحة المدونة في المتصفح ، انقر فوق "Search" & type "OMG" (لا تحتاج إلى الضغط على Enter).
تودو.
معهد ماساتشوستس للتكنولوجيا