Plugin metalsmith untuk mengindeks konten di Algolia
Plugin ini memungkinkan Anda mengindeks konten Anda di mesin pencari Algolia pada proses pembangunan pengrajin logam.
Jika plugin ini tidak sesuai dengan kebutuhan Anda, jangan ragu untuk meminta permintaan fitur.
npm install --save metalsmith-algolia
Contoh di bawah ini menunjukkan kode minimum yang diperlukan untuk mengindeks konten Anda. (simpul: penurunan harga tukang logam tidak diperlukan)
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 ( ) ;
tolong, gunakan argumen baris perintah atau variabel lingkungan untuk menyimpan kunci pribadi algolia Anda
Berikut ini contoh template penurunan harga palsu ./src/mypage.md
---
title : My awesome static page !
description : This is a exemple page
algolia : true
---
# My awesome static page !
content exemple
Secara default, metadata (string/boolean/integer) dan konten akan dikirim ke Algolia untuk semua file dengan algolia: true
metadata
Dengan contoh ini, dokumen yang dihasilkan akan terlihat seperti:
{
"title" : " My awesome static page ! " ,
"description" : " This is a exemple page " ,
"contents" : " <h1>My awesome static page ! n <p>content exemple</p> "
}
Jika Anda perlu membersihkan konten, menghitung kolom tambahan, atau menghapus metadata dari pengindeksan, Anda dapat menggunakan opsi fileParser
untuk plugin konstruktor guna memberikan panggilan balik khusus untuk menghasilkan dokumen Anda sendiri:
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 ( ) ;
Kali ini, dokumen yang dihasilkan akan terlihat seperti:
{
"title" : " My awesome static page ! " ,
"contents" : " content exemple "
}
nama | bawaan | keterangan |
---|---|---|
projectId | (wajib) pengidentifikasi proyek Algolia | |
privateKey | (wajib) Kunci pribadi Algolia | |
index | (wajib) * Indeks Algolia | |
clearIndex | PALSU | Hapus indeks Algolia sebelum mengindeks dokumen baru |
fileParser | batal | Referensi fungsi ke pengendali khusus untuk membuat dokumen |
pattern | **/* | Pola glob untuk mencocokkan file input. Bisa berupa array atau string tunggal |
petunjuk: metalsmith-algolia menggunakan
debug