Jekyll Secret Posts
Jekyll plugin for unlisted posts served at hashed, share-only URLs
TL;DR
- Share-Only URL ๋ฐฉ์์ผ๋ก ๋น๊ณต๊ฐ ํฌ์คํธ๋ฅผ ์ ๊ณตํ๋ Jekyll ํ๋ฌ๊ทธ์ธ์ ๋๋ค.
- ๋ฏผ๊ฐํ ๋ด์ฉ์ URL์ ์๋ ์ฌ๋๋ง ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ๋ธ๋ก๊ทธ์ ์ฌ๋ฆฌ๊ธฐ ์ํด ๊ฐ๋ฐํ์ต๋๋ค.
- ํด์ ๊ธฐ๋ฐ permalink, sitemapยท๊ฒ์์์ง ์ ์ธ, ๊ฐ๋จํ ์ฐ๋์ ์ง์ํฉ๋๋ค.
๊ธฐํ
๋ฐฐ๊ฒฝ

์ ๋ ์์ฆ ์ทจ์ ์ ์ํด ์ด๋ ฅ์๋ฅผ ์ฐ๊ณ ์์ต๋๋ค. ์ ๊ฒฝ๋ ฅ, ์งํํ ํ๋ก์ ํธ๋ค์ ๋น๋กฏํ ์ง๊ธ๊น์ง์ ๊ฒฝํ์ ๋ด์๋ด๊ณ ์๋๋ฐ, ์ด๋ป๊ฒ ๋ชจ๋ ๋ด์ฉ์ ์ด๋ ฅ์ ์์ ๋ด์๋ผ ์ ์์์ง ๊ณ ๋ฏผํ๊ฒ ๋์์ต๋๋ค.
์ด๋ ฅ์ ์์ ํ๋ก์ ํธ์ ๋ํ ๋ชจ๋ ์ค๋ช ์ ๋ฃ์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ๋ ์ด๋ ฅ์๊ฐ 10ํ์ด์ง๋ ๋์ด๋ฒ๋ฆด ํ ๋๊น์. ๊ทธ๋ ๋ค๊ณ ์ค๋ช ์ ๋บ๋ค๋ฉด, ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์ ์ ๋๋ก ๋ด์๋ผ ์ ์์ต๋๋ค.
๊ทธ๋์ ์ ๋ ์์ธํ ๋ด์ฉ์ ๋ด์ ๋ณ๋์ ์ธ๋ถ ๋ฌธ์๋ฅผ ๋ง๋ค์ด, ์ด๋ ฅ์์์๋ ๊ฐ๋จํ ์ค๋ช ๋ง ์ ๊ณตํ๊ณ ๋ํ ์ผํ ๊ฒฝํ์ ์ธ๋ถ ๋ฌธ์์์ ํ์ด๋ด๋ ๋ฐฉ๋ฒ์ ์ ํํ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ธ๋ถ ๋ฌธ์๋ ์ด๋ป๊ฒ ๋ง๋ค์ด์ผ ํ ๊น์? ํ์ผ์ ๋ ๋ง๋ค์๋ ์ด๋ ฅ์์ ๋ด๋ ๊ฒ๊ณผ ๋ค๋ฅผ ๋ฐ ์์๊ณ , Notion์ด๋ Google Docs๋ฅผ ์ฐ์๋ ๋์์ธ์ด ๋ง์์ ๋ค์ง ์์์ต๋๋ค.

๊ทธ๋, ์ ๋ธ๋ก๊ทธ๊ฐ ๋์ ๋ค์ด์์ต๋๋ค. ๋์์ธ๋ ๊ด์ฐฎ๊ณ , UI๋ฅผ ๋ง์๋๋ก ์ปค์คํ ํ ์ ์์ผ๋ฉฐ, URL๋ง ๊ณต์ ํ๋ฉด ๋ฐ๋ก ์ ์ํ ์ ์๊ธฐ์ ์ต๊ณ ์ ๋์์ด์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ฌ์ ์ํํธ์จ์ด ์ํคํ ์ฒ์ ๋๋ฉ์ธ์ ๋งฅ๋ฝ์ด ๋ด๊ธด ๊ฒฝ๋ ฅ์์์ ๊ฒฝํ๋ค์ ๋ธ๋ก๊ทธ์ ๊ณต๊ฐ์ ์ผ๋ก ์ฐ๋ ๊ฒ์ ๋ฌธ์ ์ ์์ง๊ฐ ์์๊ธฐ์, ๋ธ๋ก๊ทธ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์๋ ์์์ต๋๋ค.
๋จ์ํ ํน์ ๊ธ์ ๋ชฉ๋ก์ ๋ํ๋์ง ์๊ฒ ์ฒ๋ฆฌํ ์๋ ์์์ผ๋, ๋ฏผ๊ฐํ ์ฃผ์ ์ธ ๋งํผ ๋ ํ์คํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์ถ์์ต๋๋ค.

drive.google.com/drive/folders/1FsvTO123Bb3mSQu456HwSAdpD00mo6tM?usp=sharing
๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ ์ค, Google Drive์ ๊ณต์ URL ๊ธฐ๋ฅ์ด ๋์ ๋ค์ด์์ต๋๋ค. URL์ ์๋ ์ฌ๋์ ๋๊ตฌ๋ ์ ๊ทผํ ์ ์์ง๋ง ๋ชจ๋ฅด๋ ์ฌ๋์ด ์ ํํ ์ฐพ๋ ๊ฒ์ ์ํ์ ์ผ๋ก ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด Share-Only URL.
์ด๋ ์ ์๊ตฌ ์ฌํญ์ ์ ํํ ๋ค์ด๋ง์๊ณ , Share-Only URL ์์ฑ์ ์๋ํํ๋ Jekyll ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ชฉํ
1. Share-Only URL
์จ๊ฒจ์ง ์ํฐํด์ ๋ฐ๋์ URL์ ์๋ ์ฌ๋๋ง์ด ์ ๊ทผํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์จ๊ฒจ์ง ์ํฐํด์ ์ํฐํด ๋ชฉ๋ก์ ๋ ธ์ถํ์ง ์๋ ๊ฒ๋ฟ๋ง ์๋๋ผ Sitemap์๋ ๋ํ๋์ง ์์์ผ ํ๊ณ , ๊ฒ์ ์์ง์ ์ธ๋ฑ์ฑ๋ ํผํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ํ, ์๋ฌด๋ฆฌ ์ ์จ๊ธฐ๋๋ผ๋ ์ ์ถ๋ ๋ฌด์์ ๋์ ์ผ๋ก URL์ ์์๋ผ ์ ์๋ค๋ฉด ๋ฌด์ฉ์ง๋ฌผ์ด๊ธฐ์ Google Drive์ ์์ฒ๋ผ ์ ์ถ๊ฐ ๋ถ๊ฐ๋ฅํ ๋์ ๋ฌธ์์ด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
2. ๋งค๋๋ฌ์ด ์ฐ๋
๋ค๋ฅธ Jekyll ํ๋ฌ๊ทธ์ธ๋ค์ ํ๊ฒฝ ์ค์ ์ ๊ณ ์ํ ๊ฒฝํ์ด ์๊ธฐ์, ์ง์ ๊ฐ๋ฐํ๋ ํ๋ฌ๊ทธ์ธ์์๋ ๋งค๋๋ฌ์ด ๊ฐ๋ฐ ๊ฒฝํ์ ์ ๊ณตํ๊ณ ์ถ์์ต๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก README๋ง ์ฝ์ผ๋ฉด 1๋ถ๋ง์ ์ฐ๋์ด ๋๋๊ณ , ์ปค์คํ ์ค์ ์ ์ต์ํ์ ํ์ ๊ธฐ๋ฅ๋ค๋ง์ ์ต์ํ์ ์ธํฐํ์ด์ค๋ก ์ ๊ณตํ๋๋ก ๊ตฌ์ฑํด์ผ ํ์ต๋๋ค.
๋ํ, ์ ๋ธ๋ก๊ทธ๋ฅผ ๋น๋กฏํ ๋ง์ Jekyll ์น์ฌ์ดํธ๋ค์ ๋๋ถ๋ถ ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ๋ค์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋๊ธฐ์, ๋ณต์กํ ์ค์ ์๋ ๋งค๋๋ฌ์ด ์ฐ๋์ ๊ตฌํํ๊ธฐ ์ํด ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ๊ณผ์ ํธํ์ฑ์ ํ๋ณดํด์ผ ํ์ต๋๋ค.
๊ฐ๋ฐ
๊ธฐ์ ์คํ
Ruby 2.7 ์ด์, Jekyll 4.x ํ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ์์ต๋๋ค.
Jekyll ์น์ฌ์ดํธ์ ํตํฉํด์ผ ํ๋ ํ๋ฌ๊ทธ์ธ์ธ ์ ์ ๊ณ ๋ คํ์ฌ Jekyll ์ธ์ ์ถ๊ฐ ์์กด์ฑ์ ๋ฐฐ์ ํ๊ณ Ruby ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง์ ์ฌ์ฉํ์ฌ ๊ตฌํํ์์ต๋๋ค. ํ
์คํธ ํ๋ ์์ํฌ์ ๋ฆฐํฐ๋ Ruby ์ํ๊ณ์์ ๋ง์ด ์ฌ์ฉ๋๋ RSpec๊ณผ RuboCop์ ์ ํํ์ต๋๋ค.
์ํคํ ์ฒ
๋ณธ ํ๋ฌ๊ทธ์ธ์ ํฌ๊ฒ Config, UrlTokenizer, Hooks, Generator ๋ค ๋ชจ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
Config
Config๋ Jekyll site ์ค์ ๊ณผ _config.yml์ ์ปค์คํ
์ค์ , Salt ํ๊ฒฝ ๋ณ์(JEKYLL_SECRET_SALT)๋ฅผ ์ฝ์ด ๋น๋ Lifecycle ์ ์ฒด์์ ์ฐธ์กฐ๋ ์ ์ญ ์ค์ ๊ฐ์ ์ ๊ณตํฉ๋๋ค.
์ปค์คํ
์ค์ ์ ์ ๋ถ Optional๋ก, ๋น๋ฐ Collection์ ๊ฒฝ๋ก์ ์๋ณ์, ๋น๋ฐ ๋ฌธ์๊ฐ ์์นํ URL prefix ๋ฑ Jekyll์ ๊ธฐ๋ณธ ์ค์ ๊ณผ ํธํ๋๋ ์ต์ํ์ ์ค์ ๋ง์ ์ ๊ณตํฉ๋๋ค. ์์ธํ ์ค๋ช
์ README.md๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์.
UrlTokenizer
UrlTokenizer๋ ๋น๋ฐ ์ปฌ๋ ์
์๋ณ์(collection_name)์ ์๋ ๊ฒฝ๋ก(source_dir)๋ฅผ ํด์ํ์ฌ URL๋ก ์ฌ์ฉ๋ ๊ณ ์ ๊ธธ์ด์ hex ํ ํฐ์ ์์ฑํฉ๋๋ค.
Salt ์์ด ํด์๋ฅผ ๊ณ์ฐํ ๊ฒฝ์ฐ ์ถ์ธก์ ํตํ ๋์ ๊ณต๊ฒฉ์ ๋ ธ์ถ๋๊ธฐ์ ์ค์ ๋ฐฐํฌ ์ ๋ณด์์ ์ํด ์ฌ์ฉ์ ๊ถ์ฅํ๊ณ ์์ต๋๋ค.
Salt๋ก SHA-256 ํด์๋ฅผ ๊ณ์ฐํ์ฌ ์ผ๋ถ๋ถ์ ํ ํฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ ๊ฒฝ๋ก์๋ ํญ์ ๊ฐ์ ํ ํฐ์ด ๋์ค๊ธฐ์ Salt๋ง ๊ฐ๋ค๋ฉด ์ด๋ค ํ๊ฒฝ์์๋ ๋์ผํ permalink๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
Hooks
Hooks๋ ๋น๋ฐ ์ปฌ๋ ์
์ ์์ฑํ๊ณ ๊ฒ์ ์ ์ธ๋ฅผ ์ฒ๋ฆฌํ์ฌ ํ๋ฌ๊ทธ์ธ์ ํต์ฌ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉฐ, Jekyll ๋น๋์ Lifecycle์ ๋ฐ๋ผ ์ธ ๋ฒ ๋ฐ๋๋ฉ๋๋ค.
site ์ด๊ธฐํ ์ดํ - ๋น๋ฐ ์ปฌ๋ ์
์ Jekyll collections์ ๋ฑ๋ก
document ์ด๊ธฐํ ์ดํ - UrlTokenizer ํธ์ถํ์ฌ ๋น๋ฐ ์ปฌ๋ ์
์ ์ํ ๋ฌธ์์ URL permalink ์์ฑ, sitemap ์ ์ธ ์ค์
๋ ๋๋ง ์ดํ - ๋น๋ฐ ์ปฌ๋ ์
์ ๋ ๋๋ง๋ HTML์ robots ๋ฉํ ํ๊ทธ ์ฝ์
ํ์ฌ ๊ฒ์ ์์ง ์ธ๋ฑ์ฑ ๋ฐฉ์ง
Generator
Generator๋ ๋น๋ฐ ๋ฌธ์ URL์ ์ ๊ทผ ๋ฐฉ์์ ๊ด๋ฆฌํ๋ฉฐ, Jekyll ๋น๋ Lifecycle ์ค ๋ ๋๋ง ์ด์ ์ ์คํ๋ฉ๋๋ค.
Jekyll์ ๋น๋ ์ ๋น๋ฐ ๋ฌธ์ ๊ฒฝ๋ก(_site/s/) ๋ฐ๋ก ์๋์ index.html์ ์๋ ์์ฑํ์ง ์๊ณ , _site/s/<token>/index.html๊ณผ ๊ฐ์ ๊ฐ๋ณ ๋ฌธ์๋ง ์์ฑํฉ๋๋ค.
๋ง์ฝ ์น ์๋ฒ๊ฐ ๋๋ ํฐ๋ฆฌ ๋ฆฌ์คํ
(Apache - mod_autoindex, Nginx - autoindex)์ ์ง์ํ ๊ฒฝ์ฐ, ๋น๋ฐ ๊ฒฝ๋ก /s/์ ์ ๊ทผ ์ ๊ฐ๋ ค์ ธ์ผ ํ ํ์ ๋ฌธ์๋ค์ URL๋ค์ ๋ณผ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด Generator๋ ๋ฆฌ๋ค์ด๋ ํธ์ฉ index.html ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ๋น๋ฐ ๊ฒฝ๋ก์ ์ถ๊ฐํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋น๋ฐ ๊ฒฝ๋ก์ ์ ๊ทผํ ์ ์ค์ ์์ ์ง์ ํ ๊ฒฝ๋ก(redirect_url)๋ก ์๋ ๋ฆฌ๋ค์ด๋ ํธ๋๋๋ก ํด ๋๋ ํฐ๋ฆฌ ๋ฆฌ์คํ
์ผ๋ก ์ธํ URL ์ ์ถ์ ์ฐจ๋จํ ์ ์์ต๋๋ค.
๋๋ถ์ด, Generator๋ list_urls์ด ์ผ์ ธ ์์ ๊ฒฝ์ฐ ๋น๋ฐ ์ปฌ๋ ์
์ URL์ ๋น๋ ๋ก๊ทธ์ ์ถ๋ ฅํ๋ ์ญํ ์ ๋งก์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ค๊ณ์ ๋ํ ๊ณ ๋ฏผ์ ํธ๋ฌ๋ธ์ํ
๋ฌธ๋จ์์ ํ์ ํ๊ฒ ์ต๋๋ค.
Jekyll Lifecycle
ํ๋ฌ๊ทธ์ธ์ Jekyll ๋น๋ Lifecycle์ Init, Read, Generate, Render ๋ค ์์ ์ ๋ฐ๋ผ ์์ฐจ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.
Init
Init ๋จ๊ณ ์งํ site:after_init ํ
์ด ์คํ๋ฉ๋๋ค. ์ปฌ๋ ์
์ค์ ํ์ ์ด์ ์์ ์ ๋น๋ฐ ํฌ์คํธ ์ปฌ๋ ์
์ collections์ ๋ฑ๋กํ๊ณ , ์์ค ๋๋ ํฐ๋ฆฌ๊ฐ exclude์ ํฌํจ๋ผ ์์ผ๋ฉด ์ ๊ฑฐํ์ฌ Jekyll์ด _secret/ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฝ๋๋ก ๋ณด์ฅํฉ๋๋ค.
Read
๋น๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ์ฒด๊ฐ ๋ง๋ค์ด์ง ๋๋ง๋ค documents:post_init ํ
์ด ํธ์ถ๋ฉ๋๋ค. ๋น๋ฐ ์ปฌ๋ ์
์ ์ํ ๋ฌธ์์ URL์ ํด์๋ permalink๋ก ์ง์ ํฉ๋๋ค.
Generate
Generator ๋จ๊ณ์์ ํ๋ฌ๊ทธ์ธ ๋ด๋ถ์ Generator๊ฐ ์คํ๋ฉ๋๋ค. URL prefix ๊ฒฝ๋ก์ ๋ฆฌ๋ค์ด๋ ํธ์ฉ index.html์ ์ถ๊ฐํ๊ณ , ์ค์ ์ ๋ฐ๋ผ ๋น๋ฐ ํฌ์คํธ URL ๋ชฉ๋ก์ ๋น๋ ๋ก๊ทธ์ ์ถ๋ ฅํฉ๋๋ค.
Render
๋ฌธ์ ๋ ๋๋ง ์ดํ, ๊ฐ ๋ฌธ์์ HTML์ด ์์ฑ๋ ์ํ์์ documents:post_render ํ
์ด ์คํ๋ฉ๋๋ค. ๋น๋ฐ ์ปฌ๋ ์
๋ฌธ์์ HTML ์๋จ์ noindex ๋ฉํ ํ๊ทธ๋ฅผ ์ฝ์
ํด ๊ฒ์ ์์ง ์ธ๋ฑ์ฑ์ ๋ฐฉ์งํฉ๋๋ค.
ํธ๋ฌ๋ธ ์ํ
1. ๋น๋ฐ ํฌ์คํธ URL ํ์ธ ๋ฐฉ๋ฒ
๋น๋ฐ URL์ ํด์๋ก ๊ณ์ฐ๋๊ธฐ์ ๊ฐ์ ์์ธกํ ์ ์์ผ๋ฏ๋ก, ์ฌ์ฉ์๋ ๋น๋๋ _site ํ์ผ์ ์ง์ ๊น๋ณด์ง ์๋ ์ด์ ๋น๋ฐ URL์ ์ ์ ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๋น๋ ์ ์ถ๋ ฅ๋๋ ๋ก๊ทธ์์ URL์ ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์์ต๋๋ค.
ํ์ง๋ง ๋ง์ฝ CI/CD๋ ์ธ๋ถ ์๋ฒ ๋ฑ ์์ ํ์ง ์์ ํ๊ฒฝ์์ ๋์ผํ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋ ๊ฒฝ์ฐ ๋น๋ฐ URL์ด ์ ์ถ๋ ์ ์๊ธฐ์, ์ฌ์ฉ์๊ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์๋์ผ๋ก ํ์ฑํํ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅํ๋๋ก ์ ํ์ ๋์ด ์ค๊ณํ์์ต๋๋ค.
2. Jekyll ํ๋ฌ๊ทธ์ธ ์ถฉ๋
Jekyll ํ๋ฌ๊ทธ์ธ๋ค์ ๋น๋ ๊ณผ์ ์์ ์ปฌ๋ ์ , ๋ฌธ์, permalink, ์ถ๋ ฅ HTML ๊ฐ์ ๊ณตํต ๊ฐ์ฒด๋ค์ ๋์์ ์ฐธ์กฐํฉ๋๋ค. ๋ฐ๋ผ์, ํ๋ฌ๊ทธ์ธ์ ๊ฐ๋ฐํ ๋๋ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ๊ณผ ์ถฉ๋ํ์ง ์๋๋ก ๋์์ฑ์ ๊ณ ๋ คํ ์ค๊ณ๊ฐ ํ์ํฉ๋๋ค.
์ด ํ๋ฌ๊ทธ์ธ ๋ํ ๊ฐ๋ฐ ๊ณผ์ ์์ ์ถฉ๋ ๋ฐฉ์ง๋ฅผ ๊ณ ๋ฏผํ์ต๋๋ค. ํด๊ฒฐํ ์ถฉ๋ ์ผ์ด์ค๋ค์ ์๊ฐํ๊ฒ ์ต๋๋ค.
| ์ถฉ๋ ์ ํ | ์์ธ | ํด๊ฒฐ ๋ฐฉ์ |
|---|---|---|
| ๊ฒฝ๋ก ์ถฉ๋ | ๊ธฐ์กด ์ปฌ๋ ์ ๊ณผ ์ด๋ฆ/๊ฒฝ๋ก ์ค๋ณต | ๋ฎ์ด์ฐ์ง ์๋๋ก ์กฐ์น, ๋น๋ฐ ์ปฌ๋ ์ ์ด๋ฆ/๊ฒฝ๋ก ์ค์ ์ง์ |
| permalink ์ค๋ณต ์์ | ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ์ด ๊ฐ์ permalink๋ฅผ ์์ | ๋น๋ฐ ์ปฌ๋ ์ ์ผ๋ก ๋์ ๋ฒ์ ํ์ |
| sitemap ์์ฑ | jekyll-sitemap ํ๋ฌ๊ทธ์ธ์ด Generator ๋จ๊ณ์์ sitemap ์์ง |
Generator ์ด์ documents:post_init ํ
์์ ๋น๋ฐ ๋ฌธ์์ doc.data["sitemap"] = false ์ค์ |
๊ฒฐ๊ณผ
๊ฐ๋ฐํ ํ๋ฌ๊ทธ์ธ์ GitHub์ RubyGems์ ๊ณต๊ฐ ๋ฐฐํฌํ์ต๋๋ค. ํ๋ก์ ํธ GitHub Repository์์ ์ฌ์ฉํด ๋ณด์ค ์ ์์ต๋๋ค.
์ฌ๋ฌ๋ถ์ด ์ฝ๊ณ ๊ณ์ ์ด ๋ธ๋ก๊ทธ์๋ ํ๋ฌ๊ทธ์ธ์ด ์ ์ฉ๋์ด ๋ธ๋ก๊ทธ ์ด๋๊ฐ, ์ ๋ง ์๋ URL์ ๊ฒฝ๋ ฅ ๊ฒฝํ์ ๋ด์ ๊ธ์ด ์ ๋ก๋๋์ด ์ ์ด๋ ฅ์๋ฅผ ์ฑ์์ฃผ๊ณ ์์ต๋๋ค.
ํฅํ์๋ ์ง์ ์ฌ์ฉํ๋ฉฐ ํ์์ฑ์ ๋๋ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํด ๋๊ฐ ์์ ์ ๋๋ค. ๊ธฐ์ฌ๋ ์ธ์ ๋ ํ์์ ๋๋ค!