
์ธ์ด ๐ฐ๐ท ํ๊ตญ์ด
์ด๋ฉ์ผ ํ ํ๋ฆฟ
์ฌ์ฉ์ ๊ธฐ๋ฐ์๊ฒ ๋ณด๋ค ์ผ๊ด๋ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํด, FastComments๋ ์ด๋ฉ์ผ ๋ง์ถคํ ์๋ฃจ์ ์ ์ ๊ณตํ์ฌ FastComments์์ ๊ณ ๊ฐ์๊ฒ ๋ฐ์ก๋๋ ์ด๋ฉ์ผ์ด ๊ท์ฌ์ ๋ธ๋๋ฉ๊ณผ ์ผ์นํ๋๋ก ํฉ๋๋ค.
์ด ๋ฌธ์์์๋ ์ด ์๋ฃจ์ ์ ๊ธฐ๋ฅ, ํ ํ๋ฆฟ ์ธ์ด, ํ์งํ ๋ฐ ๊ทธ ์ธ ์ฌํญ๋ค์ ๋ค๋ฃน๋๋ค.
ํ
ํ๋ฆฟ ๋ง๋ค๊ธฐ 
ํ ํ๋ฆฟ์ ์์ฑํ๋ ๊ด๋ฆฌ์ ์์ญ์ Customize -> ์ด๋ฉ์ผ ํ ํ๋ฆฟ๋ก ์ด๋ํ๋ฉด ์ฐพ์ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์๋ ํ๋ซํผ์์ ๋ฐ์ก๋๋ ๋ค์ํ ์ ํ์ ์ด๋ฉ์ผ ๋ชฉ๋ก์ ๋ณผ ์ ์์ผ๋ฉฐ, ๊ฐ ํ ํ๋ฆฟ์ด ์ธ์ ์ฌ์ฉ๋๋์ง์ ๋ํ ์ค๋ช ์ด ํ์๋ฉ๋๋ค.
For example, we can customize the Commenter Comment Notification email, which is Sent when a commenter has a reply to their comment.
Create Template์ ํด๋ฆญํด๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ์ ์ฉ๋์ง๋ ์์ต๋๋ค. ํธ์ง๊ธฐ๋ฅผ ์ด์ด
๊ธฐ๋ณธ ํ
ํ๋ฆฟ์ ํธ์งํ๊ณ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ์ธํด ๋ด๋ ์๋ฌด๋ฐ ์ํฅ์ด
Save๋ฅผ ๋๋ฅผ ๋๊น์ง๋.
ํ
ํ๋ฆฟ ์ธ์ด 
FastComments ์ด๋ฉ์ผ ํ ํ๋ฆฟ์ EJS ํ ํ๋ฆฟ ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ณ์๋ฅผ ์ถ๋ ฅํ๋ ์์ ๋ฌธ๋ฒ์ <%= object.someValue %>์ด๋ฉฐ, ์กฐ๊ฑด๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค:
<% if (some_condition) { %>
<div>Some content.</div>
<% } else { %>
<div>Some other content.</div>
<% } %>๋๊ธ ๋ด์ฉ๊ณผ ๊ฐ์ ์์ HTML์ ์ถ๋ ฅํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํฉ๋๋ค: <%- comment.commentHTML %>. = ๋์ -๋ฅผ ์ฌ์ฉํ๋ค๋ ์ ์ ์ฃผ์ํ์ธ์.
๊ตฌ๋ฌธ์ ๋ํ ์์ธํ ๋ฌธ์๋ ์์ ๋งํฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์งํ ๋ฐ ์ฌ์ฉ์ ์ ์ ํ
์คํธ 
FastComments๋ ๋ก์ปฌ๋ผ์ด์ฆ๋ ํ๋ซํผ์ ๋๋ค. ๋น์ฌ์ ๋ชจ๋ ์์ ฏ, ์ด๋ฉ์ผ ๋ฐ ์๋ฆผ์ ๋ก์ปฌ๋ผ์ด์ฆ๋์ด ์์ต๋๋ค.
๋ก์ปฌ๋ผ์ด์ฆ๋๋ค๋ ๊ฒ์ ์ฌ์ฉ์์ ์์น์ ์ ํธ ์ธ์ด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ธ์ด์ ํฌ๋งท์ ํ์ํ๋ค๋ ์๋ฏธ์ ๋๋ค. ์ด๋ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ณตํ๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋จํฉ๋๋ค.
์ด๋ฉ์ผ์ ํ
์คํธ๋ Translations ํญ์ผ๋ก ์ด๋ํ์ฌ Locale๋ฅผ ์ ํํ ๋ค์ ํ
์คํธ๋ฅผ ํธ์งํ์ฌ ์ฌ์ฉ์ํํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์์ ๋ณ๊ฒฝ๋ ํ
์คํธ๋ UI์์ ๊ฐ์กฐ ํ์๋ฉ๋๋ค. ๋ก์ผ์ผ ๊ฐ ์ ํ์ ํ์ฌ ๋ง์ง๋ง์ ์ ์ฅํ ์ ์์ผ๋ฉฐ ๋ณ๊ฒฝ ๋ด์ฉ์ด ์์ค๋์ง ์์ต๋๋ค.
๋ก์ปฌ๋ผ์ด์ฆ๋ ํ
์คํธ๋ TEXT ๊ฐ์ฒด๋ฅผ ํตํด ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์: <%= TEXT.INTRO %>.
SSO ์ฐธ๊ณ
SSO ํตํฉ์ ๊ฒฝ์ฐ locale์ด ์ง์ ๋์ง ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ๋ก์ผ์ผ๋ก ๋๊ธ ์์ ฏ์ ์ ๊ทผํ ๋๋ง๋ค ์
๋ฐ์ดํธ๋ฉ๋๋ค. ์ด๋ ์ฌ์ฉ์์ ์ธ์ด ์ ํธ๋๊ฐ ์๋์ผ๋ก ์
๋ฐ์ดํธ๋์ด ํฅํ ์ด๋ฉ์ผ์ด ํด๋น ๋ก์ผ์ผ๋ก ์ ์ก๋จ์ ์๋ฏธํฉ๋๋ค.
์ด๋ SSO ํ์ด๋ก๋์ locale์ ์ ๊ณตํ์ฌ ์๋์ผ๋ก ์ค์ ํ ์๋ ์์ต๋๋ค.
๋๋ฉ์ธ๋ณ ํ
ํ๋ฆฟ 
ํ
ํ๋ฆฟ์ ๊ธ๋ก๋ฒ๋ก ์ค์ ํ ์ ์์ต๋๋ค - ํด๋น ํ
ํ๋ฆฟ ์ ํ์ ๋ํด ์ ์ฒด ํ
๋ํธ์ ๊ฑธ์ณ ์ ์ฉํ๊ฑฐ๋
๋๋ฉ์ธ๋ณ๋ก ์ค์ ํ ์ ์์ต๋๋ค. Settings ํญ์์ ์ํ๋ ๋๋ฉ์ธ์ ์ ํํ์ธ์.
๊ฐ์ ๋๋ฉ์ธ์ ๋ํด ์ฌ๋ฌ ํ ํ๋ฆฟ์ ์ค์ ํ๋ฉด ๋ฐํ์์๋ ์ฒซ ๋ฒ์งธ ํ ํ๋ฆฟ๋ง ์ ํ๋ฉ๋๋ค. ํ ํ๋ฆฟ ๋ชฉ๋ก์ด ์ด๋ฌํ ์ํฉ์ด ๋ฐ์ํ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ ๋ฐ ๋ณ์ 
๊ฐ ํ ํ๋ฆฟ์ ์๋ก ๋ค๋ฅธ ์ปจํ ์คํธ์์ ์๋ํ๋ฏ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๊ฐ ๋ค๋ฆ ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋น ๋ฅด๊ฒ ํ์ธํ๋ ค๋ฉด ํ
ํ๋ฆฟ์ ์ ๊ณต๋ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ์ธ์
ํ
ํ๋ฆฟ์ ํธ์งํ ๋, Test Data ํญ์ ํด๋ฆญํ๋ฉด
JSON ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๋ํ ์ด ์์ญ์์ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์ ์ง์ ํ์ฌ ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ๋ณด์ด๋์ง
๋ค์ํ ์ํฉ์์ ํ์ธํ ์ ์์ต๋๋ค. ํ
์คํธ ๋ฐ์ดํฐ๋ Reset ๋ฒํผ์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ค์ ํ ์ ์์ต๋๋ค.
๋ ๋๋ง ์คํจ 
์ด๋ฉ์ผ ํ ํ๋ฆฟ์ด ๋ณ์์ ๋ก์ง์ ์ง์ํ๊ธฐ ๋๋ฌธ์, ๋ ๋๋ง์ ์คํจํ๋ ํ ํ๋ฆฟ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋๋ ๋๋๋ก ๋ ๋๋ง์ ์คํจํ ์๋ ์์ต๋๋ค.
์ด๋ ๊ฐํ์ ์ผ๋ก ๋ฐ์ํ๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ํน์ ๋ฐฉ์์ผ ๋๋ง ๋ฐ์ํ๋ฉด ์ง๋จํ๊ณ ๋๋ฒ๊ทธํ๊ธฐ ๋งค์ฐ ๋ต๋ตํ ์ ์์ต๋๋ค.
์ด๋ฅผ ๋๊ธฐ ์ํด, FastComments ์ด๋ฉ์ผ ํ ํ๋ฆฟ์๋ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ด ์์ต๋๋ค:
- ํ ํ๋ฆฟ์ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ์คํจํ๋ฉด ์ ์ฅํ ์ ์์ต๋๋ค. ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
- ํ ํ๋ฆฟ ๋ ๋๋ง ์คํจ๋ ๊ด๋ฆฌ UI์์ ์ถ์ ๋๊ณ ๋ณด๊ณ ๋ฉ๋๋ค.
๋ ๋ฒ์งธ ํญ๋ชฉ์ ํ๋ก๋์ ์์ ๋ฐ์ํ๋ ๋ ๋๋ง ์คํจ๋ฅผ ์ค๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ํ๋ฆฟ์ ์์ฑํ ๋๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ ์ ๋์ง๋ง ๋์ค์ ์ด๋ค ์ด์ ๋ก ์คํจํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ ํ๋ฆฟ์ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ์๋ค๋ฉด:
<% if (comment.commenterEmail.includes('test') { %>์ต๋ช ๋๊ธ ๊ธฐ๋ฅ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ ์ด๋ฉ์ผ์ด ํญ์ ์ ๊ณต๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋๋ก ์ด ์ฝ๋๋ ์คํจํ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ป๊ฒ ์ด๋ฅผ ์์๋ด๋์?
๋ต์ ์ค๋ฅ๊ฐ ๋ ๊ณณ์์ ํ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๋จผ์ ํ ํ๋ฆฟ ๋ชฉ๋ก ์์ฒด๊ฐ ๊ฐ ํ ํ๋ฆฟ๊ณผ ํจ๊ป ๋ ๋ ์ค๋ฅ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
๊ทธ๋ฐ ๋ค์ ํ ํ๋ฆฟ์ ๋ณผ ๋, ๋ ๋๋ง์ ์คํจํ ํ์๋ฅผ ์ค๋ฅ๋ณ๋ก ๋ณผ ์ ์์ต๋๋ค.
๊ฐ ์ค๋ฅ์ ๊ทธ ํ์ ์์๋ ์ฌ์ค์ ๋ฒํผ์ด ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ ์นด์ดํฐ๋ฅผ ์ฌ์ค์ ํ ์ ์์ต๋๋ค.