مكون إضافي لـ metalsmith لفهرسة المحتوى على Algolia
يتيح لك هذا البرنامج المساعد فهرسة المحتوى الخاص بك في محرك بحث Algolia في عملية بناء المعادن.
إذا كان هذا البرنامج المساعد لا يناسب احتياجاتك، من فضلك لا تتردد في طلب طلبات الميزات.
npm install --save metalsmith-algolia
يوضح المثال أدناه الحد الأدنى من الكود المطلوب لفهرسة المحتوى الخاص بك. (العقدة: تخفيض أسعار المعادن غير مطلوب)
const metalsmith = require ( 'metalsmith' ) ;
const markdown = require ( 'metalsmith-markdown' ) ;
const algolia = require ( 'metalsmith-algolia' ) ;
metalsmith ( __dirname )
. source ( './src' )
. use ( markdown ( ) )
. use ( algolia ( {
projectId : '<algolia-project-id>' ,
privateKey : '<algolia-private-key>' ,
index : '<algolia-index>'
} ) )
. build ( ) ;
من فضلك، استخدم وسيطات سطر الأوامر أو متغيرات البيئة لتخزين مفتاح Algolia الخاص بك
فيما يلي مثال لقالب تخفيض السعر المزيف ./src/mypage.md
---
title : My awesome static page !
description : This is a exemple page
algolia : true
---
# My awesome static page !
content exemple
افتراضيًا، سيتم إرسال البيانات الوصفية (سلسلة/منطقية/أعداد صحيحة) والمحتويات إلى Algolia لجميع الملفات التي تحتوي على algolia: true
باستخدام هذا المثال، ستبدو الوثيقة التي تم إنشاؤها كما يلي:
{
"title" : " My awesome static page ! " ,
"description" : " This is a exemple page " ,
"contents" : " <h1>My awesome static page ! n <p>content exemple</p> "
}
إذا كنت بحاجة إلى تنظيف محتوياتك، أو حساب حقول إضافية، أو إزالة البيانات التعريفية من الفهرسة، فيمكنك استخدام خيار fileParser
لمنشئ البرنامج الإضافي لإعطاء رد اتصال مخصص لإنشاء مستنداتك الخاصة:
const metalsmith = require ( 'metalsmith' ) ;
const markdown = require ( 'metalsmith-markdown' ) ;
const algolia = require ( 'metalsmith-algolia' ) ;
const cheerio = require ( 'cheerio' ) ;
function customFileParser ( file , metadata ) {
let documents = [ ] ;
let $ = cheerio . load ( metadata . contents . toString ( ) ) ;
// add as many as documents as you need
documents . push ( {
title : metadata . title ,
contents : $ ( 'p' ) . text ( ) ;
} )
return documents ;
}
metalsmith ( __dirname )
. source ( './src' )
. use ( markdown ( ) )
. use ( algolia ( {
projectId : '<algolia-project-id>' ,
privateKey : '<algolia-private-key>' ,
index : '<algolia-index>' ,
fileParser : customFileParser
} ) )
. build ( ) ;
هذه المرة، سيبدو المستند الذي تم إنشاؤه كما يلي:
{
"title" : " My awesome static page ! " ,
"contents" : " content exemple "
}
اسم | تقصير | وصف |
---|---|---|
projectId | (مطلوب) معرف مشروع Algolia | |
privateKey | (مطلوب) مفتاح Algolia الخاص | |
index | (مطلوب) * مؤشر الغوليا | |
clearIndex | خطأ شنيع | قم بمسح فهرس Algolia قبل فهرسة المستندات الجديدة |
fileParser | باطل | مرجع الوظيفة إلى معالج مخصص لبناء المستندات |
pattern | **/* | نمط الكرة الأرضية لمطابقة ملفات الإدخال ضدها. يمكن أن يكون مصفوفة أو سلسلة واحدة |
تلميح: يستخدم metalsmith-algolia
debug