๊น์ ์
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
ํ์ธ๋ํ๊ต 22ํ๋ฒ ์ปดํจํฐ๊ณตํ๊ณผ
๋ณธ ๋ณด๊ณ ์๋ Jekyll ๊ธฐ๋ฐ ๋ธ๋ก๊ทธ์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ํ ์์ธ ๋ถ์์ ์ ๊ณตํฉ๋๋ค. ํ์ฌ ๊ตฌํ๋ ๊ฒ์ ์์คํ ์ ์๋ ์๋ฆฌ, ๊ฒ์ ๊ธฐ์ค, ๊ทธ๋ฆฌ๊ณ ํฅํ ๊ฐ์ ๋ฐฉ์์ ๋ํด ๋ค๋ฃน๋๋ค.
ํ์ฌ ๊ฒ์ ์์คํ ์ Jekyll์ Liquid ํ ํ๋ฆฟ์ ํตํด ์์ฑ๋ 4๊ฐ์ง ๋ฐ์ดํฐ ์์ฑ์ ๋์์ผ๋ก ํฉ๋๋ค:
| ๊ฒ์ ๋์ | ๋ฐ์ดํฐ ์์ฑ | ์์ค | ์ ์ฒ๋ฆฌ ๊ณผ์ |
|---|---|---|---|
| ํฌ์คํธ ์ ๋ชฉ | data-title |
post.title |
์๋ฌธ์ ๋ณํ, ๊ณต๋ฐฑ ์ ๊ฑฐ, HTML ์ด์ค์ผ์ดํ |
| ํฌ์คํธ ๋ด์ฉ | data-content |
post.excerpt |
HTML ํ๊ทธ ์ ๊ฑฐ, ์ค๋ฐ๊ฟ ์ ๊ฑฐ, ์๋ฌธ์ ๋ณํ |
| ํ๊ทธ | data-tags |
post.tags |
๊ณต๋ฐฑ์ผ๋ก ์ฐ๊ฒฐ, ์๋ฌธ์ ๋ณํ |
| ์นดํ ๊ณ ๋ฆฌ | data-categories |
post.categories |
๊ณต๋ฐฑ์ผ๋ก ์ฐ๊ฒฐ, ์๋ฌธ์ ๋ณํ |
// ๊ฒ์ ๋ก์ง (OR ์กฐ๊ฑด)
const isMatch = title.includes(searchTerm) ||
content.includes(searchTerm) ||
tags.includes(searchTerm) ||
categories.includes(searchTerm);
ํน์ง:
String.includes() ๋ฉ์๋ ์ฌ์ฉโ ๋น ๋ฅธ ์๋ต ์๋
โ ์ฌ์ฉ์ ์นํ์ ์ธํฐํ์ด์ค
โ ๋ค์ํ ๊ฒ์ ๋ฒ์
โ ๊ฒ์ ๋ฒ์ ์ ํ
excerpt๋ง ๊ฒ์โ ๊ณ ๊ธ ๊ฒ์ ๊ธฐ๋ฅ ๋ถ์ฌ
โ ์ฑ๋ฅ ํ๊ณ
| ๊ฒ์์ด | ์์ ๊ฒฐ๊ณผ | ์ค์ ๋์ | ์ ํ๋ |
|---|---|---|---|
| โwelโ | โwelcomeโ ํฌํจ ํฌ์คํธ | โ ์ ์ ๋งค์นญ | ๋์ |
| โjavascriptโ | JS ๊ด๋ จ ํฌ์คํธ | โ ํ๊ทธ/๋ด์ฉ ๋งค์นญ | ๋์ |
| โ์๋ฐ์คํฌ๋ฆฝํธโ | ํ๊ธ JS ํฌ์คํธ | โ ํ๊ธ ์ง์ | ๋์ |
| โjs tutorialโ | ๊ณต๋ฐฑ ํฌํจ ๊ฒ์ | โ ๏ธ ๋ถ๋ถ ๋งค์นญ๋ง | ์ค๊ฐ |
| โ"exact phrase"โ | ์ ํํ ๊ตฌ๋ฌธ | โ ๋ฏธ์ง์ | ๋ฎ์ |
excerpt ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๋ด์ฉ1. ์ ์ฒด ๋ด์ฉ ๊ฒ์ ์ง์
data-content=""
2. ๊ฒ์์ด ํ์ด๋ผ์ดํ
function highlightSearchTerm(text, term) {
return text.replace(new RegExp(term, 'gi'), `<mark>$&</mark>`);
}
3. ๊ฒ์ ๊ฒฐ๊ณผ ์ ๋ ฌ
1. ๊ณ ๊ธ ๊ฒ์ ์ฐ์ฐ์
// AND ๊ฒ์: "javascript AND tutorial"
// NOT ๊ฒ์: "javascript NOT beginner"
// ๊ตฌ๋ฌธ ๊ฒ์: "javascript tutorial"
2. ๊ฒ์ ์๋์์ฑ
3. ๊ฒ์ ํ์คํ ๋ฆฌ
1. ์ ๋ฌธ ๊ฒ์ ์์ง ํตํฉ
2. AI ๊ธฐ๋ฐ ์๋ฏธ ๊ฒ์
3. ๋ค๊ตญ์ด ๊ฒ์ ์ต์ ํ
ํ์ฌ Jekyll ๋ธ๋ก๊ทธ์ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ธ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ์์ค์ผ๋ก ํ๊ฐ๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฒ์์ ์ฅ์ ์ ํ์ฉํ์ฌ ๋น ๋ฅธ ์๋ต์ฑ์ ์ ๊ณตํ๊ณ ์์ผ๋, ๊ณ ๊ธ ๊ฒ์ ๊ธฐ๋ฅ๊ณผ ์ ํ๋ ์ธก๋ฉด์์ ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์ต๋๋ค.
์ฆ์ ๊ถ์ฅ์ฌํญ:
์ฅ๊ธฐ์ ์ผ๋ก๋ ํฌ์คํธ ์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ ๋ฌธ ๊ฒ์ ์๋ฃจ์ ๋์ ์ ๊ฒํ ํ ํ์๊ฐ ์์ผ๋ฉฐ, ์ฌ์ฉ์ ํ๋ ๋ถ์์ ํตํ ์ง์์ ์ธ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
๋ณด๊ณ ์ ์์ฑ์ผ: 2025๋
6์ 9์ผ
๋ถ์ ๋์: Jekyll ๋ธ๋ก๊ทธ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฒ์ ์์คํ
๋ฌธ์ ๋ฒ์ : v1.0