Contributing

We welcome you to join the development of Hexo. ๐Ÿค—

๊ฐœ๋ฐœ

์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์ด Hexo์˜ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ๋‹น์‹ ์˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋„์›€์„ ์ค„ ๊ฒ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—โ€ฆ

Please read Contributor Covenant Code of Conduct first.

์•„๋ž˜์˜ ์ฝ”๋”ฉ ์Šคํƒ€์ผ์„ ์ง€์ผœ์ฃผ์„ธ์š”.

  • Google JavaScript Style Guide๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐœ์˜ ๊ณต๋ฐฑ์„ ์‚ฌ์šฉํ•œ soft-tab์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝค๋งˆ๋กœ ์‹œ์ž‘ํ•˜์ง€ ๋งˆ์„ธ์š”.

Also, Hexo has its own ESLint config, so please make sure your contribution will make ESLint happy.

์›Œํฌํ”Œ๋กœ์šฐ

  1. Fork hexojs/hexo.
  2. ์ €์žฅ์†Œ๋ฅผ ๋‹น์‹ ์˜ ์ปดํ“จํ„ฐ์— cloneํ•˜๊ณ  ์˜์กด ์‚ฌํ•ญ๋“ค์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
$ git clone https://github.com/<username>/hexo.git
$ cd hexo
$ npm install
$ git submodule update --init
  1. ๊ธฐ๋Šฅ branch๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
$ git checkout -b new_feature
  1. ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  2. Branch๋ฅผ pushํ•ฉ๋‹ˆ๋‹ค.
$ git push origin new_feature
  1. ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํฌํ•จํ•˜์—ฌ Pull request๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ณต์ง€์‚ฌํ•ญ

  • package.json์˜ version number๋Š” ์ˆ˜์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.
  • ๋‹น์‹ ์˜ Pull request๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ–ˆ์„ ๋•Œ์—๋งŒ merge๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์˜ํ•˜๊ธฐ ์ „์— test๋ฅผ ๋Œ๋ ค๋ณด์„ธ์š”.
$ npm test

Updating official-plugins

Also, we welcome PR or issue to official-plugins. ๐Ÿค—

๋ฌธ์„œ์˜ ๊ฐฑ์‹ 

Hexo ๋ฌธ์„œ๋Š” opensource์ด๋ฉฐ hexojs/site์—์„œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Workflow

  1. Fork hexojs/site
  2. ์ €์žฅ์†Œ๋ฅผ ๋‹น์‹ ์˜ ์ปดํ“จํ„ฐ์— cloneํ•˜๊ณ  ์˜์กด ์‚ฌํ•ญ๋“ค์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
$ npm install hexo-cli -g # If you don't have hexo-cli installed
$ git clone https://github.com/<username>/site.git
$ cd site
$ npm install
  1. ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”. Server๋ฅผ ๋Œ๋ ค์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
$ hexo server
  1. Branch๋ฅผ pushํ•ฉ๋‹ˆ๋‹ค.
  2. ๋‹น์‹ ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํฌํ•จํ•˜์—ฌ Pull request๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ

  1. source ํด๋” ์•ˆ์— ์ƒˆ ์–ธ์–ด์— ๋Œ€ํ•œ ํด๋”๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”. (์†Œ๋ฌธ์ž๋กœ ์ƒ์„ฑํ•˜์„ธ์š”.)
  2. source ํด๋”์˜ Markdown ๋ฐ ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ๋“ค์„ ์ƒˆ ์–ธ์–ด ํด๋”์— ๋ณต์‚ฌํ•˜์„ธ์š”.
  3. source/_data/language.yml์— ์ƒˆ ์–ธ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
  4. themes/navy/languages์— en.yml ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ณ  ์ƒˆ ์–ธ์–ด๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์„ธ์š”. (์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”.)

์ด์Šˆ ๋ณด๊ณ 

Hexo๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด, Troubleshooting, GitHub, Google Group์—์„œ ์ด์Šˆ์— ๋Œ€ํ•ด ๋‹ต์„ ์ฐพ์•„๋ณด์„ธ์š”. ๋งŒ์•ฝ ๋‹ต์ด ์—†๋‹ค๋ฉด Github์— ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•ด ์ฃผ์„ธ์š”.

  1. ๋ฌธ์ œ ์žฌํ˜„์€ debug mode์—์„œ ํ•ด์ฃผ์„ธ์š”.
  2. Follow the steps from issue template to provide debug message and version when submitting a new issue at GitHub.