metalsmith algolia
1.0.0
用於在 Algolia 上索引內容的 Metalsmith 插件
該插件可讓您在 Algolia 搜尋引擎中對金屬匠建造過程的內容進行索引。
如果此外掛程式無法滿足您的需求,請隨時提出功能請求。
npm install --save metalsmith-algolia
下面的範例顯示了索引您的內容所需的最少程式碼。 (節點:metalsmith-markdown 不是必需的)
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 私鑰
這是一個假 Markdown 模板的範例./src/mypage.md
---
title : My awesome static page !
description : This is a exemple page
algolia : true
---
# My awesome static page !
content exemple
預設情況下,所有帶有 algolia 的文件的元數據(字串/布林值/整數)和內容將發送到 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 | (必填) * Algolia 索引 | |
clearIndex | 錯誤的 | 在索引新文件之前清除 Algolia 索引 |
fileParser | 無效的 | 對用於建立文件的自訂處理程序的函數引用 |
pattern | **/* | 用於匹配輸入檔的全域模式。可以是數組或單一字串 |
提示:metalsmith-algolia 使用
debug