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