๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

Highlight.js์˜ ๊ฐ์ข… ๋ฌธ์ œ์  & ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

by 5566 2023. 11. 20.

1. ๋ฌธ๋ฒ• ๊ฐ์ง€์˜ ์ •ํ™•๋„ ๋ฌธ์ œ

๋ฌธ๋ฒ• ๊ฐ์ง€๋Š” Highlight.js์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋กœ, ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด์—์„œ ์–ธ์–ด์˜ ๊ตฌ๋ฌธ์„ ์ธ์‹ํ•˜๊ณ  ๊ฐ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์Šคํƒ€์ผ๋ง์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Highlight.js๋Š” ์ผ๋ถ€ ์–ธ์–ด์—์„œ ๋ฌธ๋ฒ• ๊ฐ์ง€์˜ ์ •ํ™•๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ์˜ˆ์‹œ๋Š” ํ˜•์‹์ด ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ์–ธ์–ด์˜ ํŠน์ง•์ด ๋‹ค์–‘ํ•œ ์–ธ์–ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— Highlight.js๋Š” ๋ฌธ๋ฒ• ๊ฐ์ง€์˜ ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง€๊ณ  ์ฝ”๋“œ์˜ ์ผ๋ถ€ ๊ตฌ๋ฌธ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ธ์‹๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ์–ธ์–ด์˜ ์กฐ๊ฑด๋ฌธ ๊ตฌ๋ฌธ์„ ์ •ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Highlight.js์˜ ๋ฌธ๋ฒ• ๊ฐ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ธ์–ด์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ถฉ๋ถ„ํžˆ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Highlight.js์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ์ž๋“ค์ด ์ง€์†์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ์„ ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์‚ฌ์šฉ์ž๋“ค์€ ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„  ์ œ์•ˆ์„ ์ œ์ถœํ•˜์—ฌ ๋ฌธ๋ฒ• ๊ฐ์ง€์˜ ์ •ํ™•๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ

Highlight.js๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด์˜ ์ฝ”๋“œ๋ฅผ ํ•˜์ด๋ผ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ จ์˜ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋Œ€๋Ÿ‰์˜ ์ฝ”๋“œ ๋˜๋Š” ๋ณต์žกํ•œ ์ฝ”๋“œ์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Highlight.js๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์„œ, ์›น ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ๋ฐ ๋ Œ๋”๋ง ์‹œ๊ฐ„์„ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๋งŽ์€ ์–‘์˜ ์ฝ”๋“œ๊ฐ€ ํŽ˜์ด์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋”์šฑ ๋‘๋“œ๋Ÿฌ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, Highlight.js๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ตœ์ ํ™” ๋ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜์งธ, ํ•„์š”ํ•œ ์–ธ์–ด๋งŒ ํฌํ•จํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์…‹์งธ, ์ฝ”๋“œ ๋ธ”๋ก์˜ ๋™์  ๋กœ๋”ฉ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์›น ์‚ฌ์ดํŠธ์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด Asynchronous Module Definition (AMD) ๋˜๋Š” Lazy Loading๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•ด Highlight.js๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋งŽ์€ ์ฝ”๋“œ ์–‘์— ๋Œ€ํ•ด ์™„๋ฒฝํ•œ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ๋Š” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, Highlight.js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ์„ฑ๋Šฅ ์ €ํ•˜์— ์œ ์˜ํ•˜๊ณ  ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ ์ ˆํ•œ ๋Œ€์‘ ๋ฐฉ์•ˆ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

3. ์–ธ์–ด ์ง€์› ๋ถ€์กฑ ๋ฌธ์ œ

Highlight.js๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์ง€๋งŒ, ๋ชจ๋“  ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•˜๊ธฐ๋Š” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Highlight.js๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์˜ˆ์ƒํ•˜๊ณ  ์ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์–ธ์–ด ์ง€์› ๋ถ€์กฑ ๋ฌธ์ œ๋Š” ์ฃผ๋กœ ๋ฏธ๋ž˜์— ์ƒˆ๋กœ์šด ์–ธ์–ด๋‚˜ ์–ธ์–ด์˜ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์–ธ์–ด์˜ ๊ตฌ๋ฌธ์ด๋‚˜ ํŠน์ง•์ด Highlight.js์˜ ๋ฌธ๋ฒ• ๊ฐ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ •ํ™•ํžˆ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ์Šคํƒ€์ผ๋ง์ด ๋ถ€์ ์ ˆํ•˜๊ฒŒ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Highlight.js์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ์ž๋“ค์€ ์ง€์†์ ์œผ๋กœ ์ƒˆ๋กœ์šด ์–ธ์–ด์˜ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ์กด ์–ธ์–ด์˜ ๋ฌธ๋ฒ• ๊ฐ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์€ ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„  ์ œ์•ˆ์„ ์ œ์ถœํ•จ์œผ๋กœ์จ ์–ธ์–ด ์ง€์› ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Highlight.js์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Highlight.js๋ฅผ ํŠน์ • ์–ธ์–ด์— ๋งž์ถ”์–ด ๋”์šฑ ์ •ํ™•ํ•œ ๋ฌธ๋ฒ• ๊ฐ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ธ์–ด ์ง€์›์˜ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ์ž๋“ค์˜ ์ง€์†์ ์ธ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋“ค์€ ์‹ค์ œ ์‚ฌ์šฉ ์ค‘์ธ ์–ธ์–ด๋“ค์„ ๊ณต์œ ํ•˜๊ณ  ๊ฐœ์„  ์ œ์•ˆ์„ ์ œ์ถœํ•˜์—ฌ Highlight.js์˜ ์–ธ์–ด ์ง€์› ๋ฒ”์œ„๋ฅผ ํ™•๋Œ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ํ…Œ๋งˆ ์„ ํƒ์˜ ํ•œ๊ณ„

Highlight.js๋Š” ๋‹ค์–‘ํ•œ ํ…Œ๋งˆ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ฝ”๋“œ ๋ธ”๋ก์˜ ์Šคํƒ€์ผ๋ง์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ํ…Œ๋งˆ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์‹œ๊ฐ์ ์ธ ํšจ๊ณผ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์ง€๋งŒ, ํ…Œ๋งˆ ์„ ํƒ์—๋Š” ์ผ๋ถ€ ํ•œ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ์งธ, Highlight.js์˜ ํ…Œ๋งˆ๋Š” ์ฃผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋˜๋Š” ๊ธฐ์—ฌ์ž๋“ค์— ์˜ํ•ด ์ œ์ž‘๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ…Œ๋งˆ์˜ ๋‹ค์–‘์„ฑ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ํ…Œ๋งˆ๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ํ…Œ๋งˆ๊ฐ€ Highlight.js์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ปค์Šคํ…€ CSS๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์Šคํƒ€์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘˜์งธ, ํ…Œ๋งˆ ์„ ํƒ์˜ ํ•œ๊ณ„๋Š” ํŠน์ • ์–ธ์–ด์˜ ๋ฌธ๋ฒ•๊ณผ ๋งˆ์ถค๋ฒ•์„ ์ ์ ˆํ•˜๊ฒŒ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•œ ์Šคํƒ€์ผ ์ง€์ •์˜ ํ•œ๊ณ„๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์–ธ์–ด๋Š” ๊ณ ์œ ํ•œ ํŠน์ง•๊ณผ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ผ๋ถ€ ์–ธ์–ด์˜ ํ‘œํ˜„์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ๊ฐ•์กฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ๋งˆ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ธฐ์กด ํ…Œ๋งˆ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ํŠน์ • ์–ธ์–ด์˜ ์Šคํƒ€์ผ๋ง์„ ๋ณด๋‹ค ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ํ…Œ๋งˆ ์„ ํƒ์˜ ํ•œ๊ณ„๋Š” ์ผ๋ถ€ ํ…Œ๋งˆ๊ฐ€ ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, Highlight.js์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค๋ฅธ ์›น ์‚ฌ์ดํŠธ ์š”์†Œ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ํ…Œ๋งˆ์˜ ์ˆ˜์ •์ด๋‚˜ ๋Œ€์ฒด, ๋˜๋Š” ๋‹ค๋ฅธ ํ…Œ๋งˆ์˜ ์„ ํƒ์„ ํ†ตํ•ด ์›น ์‚ฌ์ดํŠธ์˜ ์ผ๊ด€๋œ ์Šคํƒ€์ผ๋ง์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ๋งˆ ์„ ํƒ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด Highlight.js ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ์ž๋“ค์€ ์ง€์†์ ์œผ๋กœ ์ƒˆ๋กœ์šด ํ…Œ๋งˆ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ธฐ์กด ํ…Œ๋งˆ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋“ค์€ ์‚ฌ์šฉ ์ค‘์ธ ํ…Œ๋งˆ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  ๊ฐœ์„  ์ œ์•ˆ์„ ์ œ์ถœํ•จ์œผ๋กœ์จ ํ…Œ๋งˆ์˜ ๋‹ค์–‘์„ฑ๊ณผ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์˜ ์–ด๋ ค์›€ ๋ฌธ์ œ

Highlight.js๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋“œ ๋ธ”๋ก์˜ ์Šคํƒ€์ผ์„ ์™„์ „ํžˆ ์ˆ˜์ •ํ•˜๊ณ  ํŠน์ • ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์ž‘์—…์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์–ด๋ ค์›€์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ์ •ํ•œ ๋…ธ๋ ฅ๊ณผ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ์งธ, ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์ž‘์—…์€ ๊ธฐ์กด์˜ CSS ์ง€์‹๊ณผ ๋ฌธ๋ฒ• ๊ฐ์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Highlight.js๋Š” CSS ํด๋ž˜์Šค์™€ ์ฝ”๋“œ ๊ฐ์ง€ ํŒจํ„ด์„ ํ†ตํ•ด ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, CSS์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•๊ณผ ์„ ํƒ์ž์™€ ์†์„ฑ์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐ ์–ธ์–ด์˜ ๋ฌธ๋ฒ• ๊ฐ์ง€ ๋ฌธ์žฅ์„ ์ž‘์„ฑํ•  ๋•Œ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‘˜์งธ, ํŠน์ • ์–ธ์–ด์˜ ์ปค์Šคํ…€ ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์€ ํ•ด๋‹น ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜๊ณ  ์ง์ ‘ ์ฝ”๋“œ ๊ฐ์ง€ ํŒจํ„ด์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ๋ถ„์„์  ์‚ฌ๊ณ ์™€ ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๋ฅผ ํ•„์š”๋กœ ํ•˜๋ฉฐ, ์–ธ์–ด์˜ ํŠน์ง•๊ณผ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ ์ ˆํ•œ ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๊ฐ์ง€ ํŒจํ„ด์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, Highlight.js์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์€ ๋‹ค๋ฅธ ์›น ์‚ฌ์ดํŠธ ์š”์†Œ์™€์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ˆ˜์ •ํ•œ CSS ๋˜๋Š” ์ถ”๊ฐ€ํ•œ ์–ธ์–ด์˜ ๋ฌธ๋ฒ• ๊ฐ์ง€ ํŒจํ„ด์ด ๋‹ค๋ฅธ ์š”์†Œ์™€ ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ์›น ์‚ฌ์ดํŠธ์˜ ์ „๋ฐ˜์ ์ธ ์Šคํƒ€์ผ์„ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์„ ํƒ์ž ์‚ฌ์šฉ๋ฒ•์— ์ต์ˆ™ํ•ด์ง€๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์ปค์Šคํ…€ CSS ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ปค์Šคํ„ฐ๋งˆ์ด์ง•์˜ ์–ด๋ ค์›€ ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด Highlight.js ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ์ž๋“ค์€ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์ž์„ธํ•œ ๋ฌธ์„œ์™€ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์— ๋Œ€ํ•œ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•˜๋ฉฐ, ์‹ค์ œ ์‚ฌ์šฉ ์ค‘์ธ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋„์›€์„ ๋ฐ›์•„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ณ , CSS์™€ ์ •๊ทœ ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ง€์‹์„ ํ™•๋ณดํ•˜๋ฉฐ, ๋ฌธ๋ฒ• ๊ฐ์ง€ ํŒจํ„ด์˜ ์ž‘์„ฑ์— ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์—ฌ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์˜ ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€