기본적으로 Starlight 사이트에는 정적 사이트를 위한 빠르고 낮은 대역폭을 갖춘 검색 도구인 Pagefind에서 제공하는 전체 텍스트 검색이 포함되어 있습니다.
검색을 활성화하는 데 구성이 필요하지 않습니다. 사이트를 구축하고 배포한 다음, 사이트 헤더의 검색창을 사용하여 콘텐츠를 찾을 수 있습니다.
검색결과에서 콘텐츠 숨기기
페이지 제외
검색 색인에서 페이지를 제외하려면 페이지 프런트매터에 pagefind: false
를 추가하세요.
페이지 일부 제외
Pagefind는 data-pagefind-ignore
속성이 있는 요소 내부의 콘텐츠를 무시합니다.
다음 예시에서 첫 번째 단락은 검색 결과에 표시되지만 <div>
의 내용은 표시되지 않습니다.
대체 검색 공급자
Algolia DocSearch
Algolia의 DocSearch 프로그램에 대한 액세스 권한이 있고, 이를 Pagefind 대신 사용하려는 경우, 공식 Starlight DocSearch 플러그인을 사용할 수 있습니다.
-
@astrojs/starlight-docsearch
를 설치합니다.
-
astro.config.mjs
파일의 Starlight plugins
구성에 DocSearch를 추가하고 Algolia appId
, apiKey
, indexName
를 전달합니다.
이 업데이트된 구성을 사용하면 사이트의 검색 창에서 기본 검색 모달 대신 Algolia 모달이 열립니다.
DocSearch 구성
Starlight DocSearch 플러그인은 다음과 같은 추가 옵션을 통해 DocSearch 컴포넌트를 사용자 지정할 수도 있습니다:
maxResultsPerGroup
: 각 검색 그룹에 표시되는 결과 수를 제한합니다. 기본값은 5
입니다.
disableUserPersonalization
: DocSearch가 사용자의 최근 검색 및 즐겨찾기를 로컬 스토리지에 저장하지 못하도록 합니다. 기본값은 false
입니다.
insights
: Algolia Insights 플러그인을 활성화하고 검색 이벤트를 DocSearch 인덱스로 보냅니다. 기본값은 false
입니다.
searchParameters
: Algolia Search Parameters를 사용자 정의하는 객체입니다.
DocSearch UI 번역
DocSearch는 기본적으로 영어 UI 문자열만 제공합니다.
Starlight에 내장된 국제화 시스템을 사용하여 모달 UI 번역을 추가하세요.
-
src/content/config.ts
파일의 DocSearch 스키마를 사용하여 Starlight의 i18n
콘텐츠 컬렉션 정의를 확장합니다.
-
src/content/i18n/
디렉터리에 있는 JSON 파일에 번역을 추가하세요.
DocSearch에서 사용되는 영어 기본값은 다음과 같습니다.