๊ฐ์ธ ๋น(Gatsby) ๋ธ๋ก๊ทธ์ ๋๊ธ ๊ธฐ๋ฅ์ ๋ฌ์์ฃผ์.
์ง๊ธ๊น์ง ๊ฐ์ธ ๋น(Gatsby)๋ก ์์ ๋ง์ ๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ์ถํด ๋ณด์๋ค. Gatsby๋ฅผ ๋ค์ด๋ฐ์ ์ปค์คํฐ๋ง์ด์งํ์ฌ ๋น๋(Build)ํ๊ณ , Github์ ์ฌ๋ ค์ Git Page๋ก ์์ ๋ง์ ๋ธ๋ก๊ทธ๋ก ๋ง๋ค์๋ค. ๋ธ๋ก๊ทธ ์์ด์ฝ๋ ๋ณ๊ฒฝ ํด ์ฃผ์๋ค.
๊ทธ๋ฐ๋ฐ, ๋ค์ ์๊ฐํด ๋ณด์. ๊ฐ์ธ ๋น(Gatsby)๋ ์ ์ ์น์ฌ์ดํธ ์์ฑ๊ธฐ(JAM Stack)์ด๋ค. ์ด ๋ง์, ์ ์ HTML๋ก ๋ง๋ค์ด์ ๋จ์ํ ๋คํธ์ํฌ ์คํ ๋ฆฌ์ง์ ๊ฐ์ ์ ์ฅ์์์ ๋ถ๋ฌ์์ ์น๋ธ๋ผ์ฐ์ ๋ก ๋ณด์ฌ์ฃผ๋ ๊ฒ๋ง ํ๋ค๋ ์ด์ผ๊ธฐ๋ค. ์ผ๋ฐ์ ์ธ ์น์ฌ์ดํธ์ฒ๋ผ ์ ๋ณด๋ฅผ ๋ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ดํธ(DB)์ ์ ์ฅํ๋ ๋ฑ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ฐ์ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๋จ์ํ๊ฒ๋, ์ด์์ ๋๊ธ, ์ข์์ ๋ฑ์ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ต๊ทผ ์ ์ ์ฌ์ดํธ๋ฅผ ์ฌ์ฉํ๋ ๊ณณ์ด ๋ง์์ง์ ๋ฐ๋ผ์, ๋๊ธ ๋ฑ์ ๋ฐฉ๋ฌธ์ ํผ๋๋ฐฑ์ ๋ฐ๋ ๋๊ธ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ๋ณ๋์ ์๋น์ค๋ก ์ด์๋๊ณ ์๋ค. ๋ํ์ ์ผ๋ก ๋์ค์ปค์ค(Disqus), ๋ผ์ด๋ธ๋ฆฌ(livere) ๋ฑ์ด ์๋ค. ์ต๊ทผ์๋ ๋ค์ด๋ฒ์์ ์ ์ฌ์๋น์ค๋ฅผ ํ๋ฌ๊ทธ์ธ์ผ๋ก ์ ๊ณต์ ํ๋๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ผ๋, ๋ฒ์ฉ์ฑ์ด ๋ฎ์์ ๋์์์ ์ ์ธํ๋ค.
์ฌํํผ, Gatsby์์๋ Disqus์ ๋ํ ํ๋ฌ๊ทธ์ธ์ ๋ณ๋๋ก ์ ๊ณต๋๊ณ ์์ผ๋ฉฐ ์ ์ฌ ์๋น์ค์ค ๊ฐ์ฅ ์ต์ํ๋ฏ๋ก Disqus๊ฐ ๋ฌด๋ํ๋ค ํ๊ฒ ๋ค. ์๋๋ ์ด๋ฒ ๊ธ์์ ๋ชฉํ๋ก ํ๋ ์ต์ข ์์ํ์ด๋ค. ์ ์ ์น์ฌ์ดํธ ๋ธ๋ก๊ทธ์ Disus ๋๊ธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
๋์ค์ปค์ค (Disqus) ์ค์ ํ๊ธฐ
๋ค์์ Disqus ๊ณต์ ํํ์ด์ง ์ด๋ค. ๊ณต์์น์ฌ์ดํธ์ ์ ์ํ์ฌ GET STARTED
๋ฅผ ๋๋ฌ์ ์์ํ์.
- ๊ณต์ ์น์ฌ์ดํธ : https://disqus.com/
- ๊ณต์ ๋ธ๋ก๊ทธ : https://blog.disqus.com/
Disqus ๊ณต์ ์น์ฌ์ดํธ | ์ฒ์์๋ ์ฌ์ดํธ ์์ฑ๋ถํฐ ์งํํ๋ค. |
---|---|
๊ตฌ๊ธ, FACEBOOK ๋ฑ ์์ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ๋ฏ๋ก, ๊ฐ์ ๊ณผ์ ์ ์๋ตํ๋ค.
GET STARTED ๋ฅผ ๋๋ฅด๋ฉด 2๊ฐ์ ๋ฉ๋ด๊ฐ ๋์จ๋ค. ์ฌ๊ธฐ์์ ์ฒ์ ์ข ๋นํฉํ์๋ค. ์ฒซ ๋ฉ๋ด๋ ๊ทธ๋ฐ๊ฐ ๋ณด๋ค ํ๋๋ฐ, ๋๋ฒ์งธ ๋ฉ๋ด์์ ์ค์น๋ฅผ ํ๋ค๊ณ ํ๋ค. ๋ฌด์จ ์๋ฆฌ์ธ๊ฐ? ์ค์น๋ฅผ ํด์ผ ํ๋ค๊ณ ? ์ค๋ง ๋ก์ปฌ์ด๋ ์น์๋ฒ์ ๋ญ๊ฐ๋ฅผ ์ค์นํด์ผํ๋? ๊ทธ๊ฒ์ ์๋๊ณ , ์ฐ๋ฆฌ๊ฐ ์ดํดํ์๋ฉด Configure
์ ํด๋นํ๋ ๊ฒ์ Install
๋ก ํ๊ธฐ๋ฅผ ํด๋จ๋ค. ๋๋ผ์ง ๋ง์.
๋๋ฒ์งธ ๋ฉ๋ด (install)์ ์ ํํ๋ฉด, ์น์ฌ์ดํธ๋ฅผ ๋ฑ๋กํ๋ ํ๋ฉด์ด ๋์จ๋ค. ์ฌ๊ธฐ์์ ๊ฐ์ฅ ์ค์ํ๊ฒ์ Website Name
์ด๋ค. ์ฌ๊ธฐ ํ๊ธฐํ๋ name์ด ์ถํ์ Disqus๋ฅผ ๊ตฌ๋ถํ๋ shortname
์ด ๋๋ฏ๋ก ์ด ๊ฐ์ ๊ณ ์ ํ ๊ฐ์ด์ด์ผ ํ๋ฉฐ, ๋์ค์ ์น์ฌ์ดํธ์ ์ ์ฉํ๋ ์ค์ ๊ฐ์๋ ์ฐธ์กฐ ๋๋ ๊ฐ์ด๋ค. ๋๋จธ์ง ์ ๋ณด๋ ๋์ถฉ ๋ณธ์ธ์ ๋ง๊ฒ ์
๋ ฅํ๋ฉด ๋๋ค.
์ฐธ๊ณ ๋ก, ์ฒ์ ๋ฉ๋ด๋ ์ด๋ฏธ ์ค์ ์ด ๋์ด ์์ ๋ (๊ธฐ์กด ์ฌ์ฉ์)๊ฐ ๋๊ธ์ ํ์ธํ๊ณ ๋์ ํ๋ ๋ฉ๋ด์ด๋ค. ์ฒ์ ๊ฐ์ /์ ์์๋ 2๋ฒ์งธ ๋ฉ๋ด๋ก ๋ค์ด๊ฐ์, Disqus๋ฅผ ์ค์ ๋ถํฐ ํด์ผ ํ๋ค.
Get Started | Comment on Sites (์ฒซ๋ฒ์งธ ๋ฉ๋ด) |
---|---|
Disqus ์ค์ (Install ?)
Disqus ์ค์ ์ ์๋์ ๊ฐ์ ์ ์ฐจ๋ฅผ ํ์๋ก ํ๋ค. ์ด๋ ต๊ฒ ์ค๋ช ๋์ด ์์ง๋ง ์ฌ์ค์ ์๊ธ์ ๋ฅผ ์ค์ ํ๊ณ 2๋ฒ์งธ ๋จ๊ณ๋ง ์งํํ๋ฉด ๋๋ค.
- Select Plan
- Install Disqus
- Configure Disqus
- Setup Moderation
1๋จ๊ณ. Select Plan.
์ผ๋จ, ๋ฌด๋ฃ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ฐ์ฅ ์๋์ชฝ์ ๋ณ๋ก๋ก ๋ง๋ จ๋์ด ์๋ค. ์ข ๋ ๊ณ ๊ธ์ฌ์ฉ์๋ ๊ฐ๊ฒฉ ์ ์ฑ ์ ๋ง๊ฒ ์ฌ์ฉ์ ์ ํํ๋ฉด ๋๋ค.
2๋จ๊ณ. Install Disqus
2๋จ๊ณ๋ ๋ค์ 2๊ฐ์ ์ ์ฐจ๋ก ๋๋๋ค. 1) ํ๋ซํผ ์ ํ, 2) ์ค์ ์ ์ธ ์น์ฌ์ดํธ ์ค์ .
์ฌ๋ฌ๊ฐ์ง ์ง์ํ๋ ํ๋ซํผ์ด ๋์ค๋๋ฐ, ์ฌ์ค ์ด ํ๋ซํผ์ ๋ง๊ฒ ๋ฌ๋ผ์ง๋ ๊ฒ์ ๋ณ๋ก ์๋ค. ํ๋ซํผ์ ๋ฐ๋ผ์ Disqus๋ฅผ ์ฌ์ฉ/์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ๋ฐ, ๊ทธ ๊ฐ์ด๋๊ฐ ๋ค๋ฅผ ๋ฟ์ด๋ค. ์ฌ์ค, ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ ๋ธ๋ก๊ทธ๋ CMS๋ฅผ ์ ์๊ณ ์๋ค๋ฉด, ์ด๋ฏธ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ ์๋ ์์ ๊ฒ์ด๋ค. ์๋ฌดํผ, ์ฐ๋ฆฌ๋ ํ์ฌ Gatsby๋ก ๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ์ฑํ์์ผ๋, Gatsby๋ฅผ ์ ํํด ์ฃผ๋๋ก ํ์.
Gatsby๋ฅผ ์ ํํด ์ฃผ๋ฉด, ์ด์ Gatsby์ Disqus๋ฅผ ์ด๋ป๊ฒ ์ ์ฉํด์ผ ํ๋์ง ์ค๋ช ํ๋ ํ์ด์ง๊ฐ ์ถ๋ ฅ ๋๋ค. Gatsby๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ค์น๋ฅผ ์งํ ํ๋ค.
Gatsby-plugin-disqus
์ค์น
npm install --save gatsby-plugin-disqus
- Gatsby-config.js์ plugin์ ์ค์ ํ๋ค. (Gatsby์์ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ ๊ณผ์ ๊ณผ ๋์ผํ๋ค. ) ์ฌ๊ธฐ์ ์ด๊ธฐ ์น์ฌ์ดํธ ๋ฑ๋ก ๊ณผ์ ์์ ์
๋ ฅํ
short name
์ ์ ๋ ฅํ์ฌ ์ค๋ค. ์ด ๊ณผ์ ์ด ๊ฐ์ฅ ์ค์ํ ๊ณผ์ ์ค ํ๋ ์ด๋ค.
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: `gatsby-plugin-disqus`,
options: {
shortname: `your short name`
}
},
]
}
- ์ค์ ์นํ์ด์ง ์ ์ฉํ๊ธฐ
์ค์ ์นํ์ด์ง์ ์ ์ฉํ๋ค. Gatsby๋ ReactJS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์, Disqus React Componet๋ฅผ importํ์ฌ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ ๊ณต์ ๊ฐ์ด๋์๋ Template
๋ฅผ ์๋ก ์์ฑํ๋ ๊ฒ์ผ๋ก ๋์ด ์์ง๋ง, ๊ธฐ์กด Template์ <Disqus/>
์ปดํฌ๋ํธ๋ง ์ถ๊ฐ/์ฝ์
ํด ์ฃผ๋ฉด ๋๋ค. ์ฌ๊ธฐ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํ์ด์ง๋ฅผ ๊ตฌ๋ถํ๋ identifier
์ด๋ค.
import { Disqus } from 'gatsby-plugin-disqus';
const Template = () => (
/* Page contents */
<Disqus
config={
/* Replace PAGE_URL with your post's canonical URL variable */
url: 'PAGE_URL',
/* Replace PAGE_IDENTIFIER with your page's unique identifier variable */
identifier: 'PAGE_IDENTIFIER',
/* Replace PAGE_TITLE with the title of the page */
title: 'PAGE_TITLE',
}
/>
);
ํ์์ ๊ฒฝ์ฐ, identifier
์ slug
๊ฐ์ ๋ฃ์ด ์ฃผ์๋ค. ์ด์ฐจํผ slug
๋ ๊ณ ์ ๊ฐ์ด ์๋๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๋ํ ํ์ผ ์์ฑ๋จ์๋ slug ์ด๋ฏ๋ก Gatsby๋ฅผ ์ฌ์ฉํ๋ค๋ฉด slug ๊ฐ์ id๋ก ์
๋ ฅํ๋ฉด ๋๊ฒ ๋ค.
์ต๊ทผ ๋ง์ Theme์์ Disqus๋ฅผ ๊ธฐ๋ณธ ํ์ฌ ํ๊ณ ์๋ค. ๋ฐ๋ผ์, ์ผ๋ถ Theme๋
config.js
๋ฑ์ ํ์ผ์ Disqus shortname์ ํ๊ธฐํ๋ฉด Disqus๊ฐ ์๋์ผ๋ก ๋์ํ๊ธฐ๋ ํ๋ค.