metalsmith algolia
1.0.0
Algolia의 콘텐츠 색인을 위한 금속 세공 플러그인
이 플러그인을 사용하면 금속 세공 건축 과정에서 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 개인 키를 저장하세요.
다음은 가짜 마크다운 템플릿 ./src/mypage.md
의 예입니다.
---
title : My awesome static page !
description : This is a exemple page
algolia : true
---
# My awesome static page !
content exemple
기본적으로 메타데이터 (문자열/부울/정수) 및 내용은 algolia: true
메타데이터가 포함된 모든 파일에 대해 Algolia로 전송됩니다.
이 예를 사용하면 생성된 문서는 다음과 같습니다.
{
"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 | null | 문서 작성을 위한 사용자 정의 핸들러에 대한 함수 참조 |
pattern | **/* | 입력 파일을 일치시킬 Glob 패턴입니다. 배열 또는 단일 문자열일 수 있습니다. |
힌트: metalsmith-algolia는
debug
사용합니다.