์ด์ง๋ก์ง ์คํ๋์ค ํ๋ก์ ํธ์ ์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด์ง๋ก์ง ์คํ๋์ค๋ ์คํ์์ค๋ก ๊ฐ๋ฐ๋๋ ์น๋์์ธ ํด์ ๋๋ค.
๊ด์ฌ์๋ ์์ญ์ ๊ธฐ๋ฅ์ ์ธ์ ๋ ์ง ๊ฐ์ด ๋ง๋ค๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ด ๊ฐ์ด๋์์ PR ์์ฑ๊ณผ ๋ฆฌ๋ทฐ, ๋จธ์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ผ์ค ์ ์์ต๋๋ค.
vite ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น๋๋์ด์ง๋๋ค. vite ๋ ๋น ๋ฅธ ๋น๋ ์๋์ ์๋ฒ ๊ตฌ๋์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ ํํ์์ต๋๋ค.
- src/ - ์๋ํฐ์ ์์ค๊ฐ ์กด์ฌํฉ๋๋ค.
- dist/ - npm ์ ๋ฐฐํฌ๋ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
- public/ - ๋ก์ปฌ์์ ๊ฐ๋ฐ์๋ฒ๋ฅผ ๋์ธ ๋ ์ฌ์ฉํ๋ static ๋ฆฌ์์ค๊ฐ ๋ค์ด์์ต๋๋ค.
- docs/ - github pages ๋ฅผ ์ํ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
- index.html - vite ์๋ฒ๊ฐ ์คํ๋๋ ํ์ด์ง์ ๋๋ค.
- src/index.jsx - ์๋ํฐ์ ์์์ ํ์ผ์ ๋๋ค.
- src/editor-layouts - ์๋ํฐ์ ๋ ์ด์์ ๊ตฌ์กฐ๊ฐ ์๋ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
- src/el - ์๋ํฐ๋ฅผ ์ด๋ฃจ๋ ์ฌ๋ฌ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ, UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ(sapa), ๊ฐ์ข
ํ์ ๋ฑ์ด ์์ต๋๋ค.
- editor
- commands - ์๋ํฐ ๋ด๋ถ์์ ์ฌ์ฉ๋๋ command ๋ฆฌ์คํธ ๋ชจ์
- icon - ์์ด์ฝ ๋ฆฌ์คํธ ๋ชจ์
- items - ๋ด๋ถ ์์ดํ ์๋ฃํ
- layout-engine - ๋ ์ด์์ ์์ง ๋ชจ์,
- manager - ์๋ํฐ์์ ์ฌ์ฉ๋ ๊ณต์ฉ Storage ๋ชจ์
- menus - dropdown toolbar ๋ฉ๋ด๋ฅผ ์ง์ ํฉ๋๋ค.
- model - ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ณธ ๋ชจ๋ธ ๋ชจ์
- parser - ํจ์ค ๊ด๋ จ๋ ํ์ ๋ชจ์
- preset - box-shadow, clip-path ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์์ ๋ชจ์
- property-parser - css ์์ฑ ๊ด๋ จ๋ ํ์ ๋ชจ์
- shortcuts - ๋จ์ถํค ๋ชจ์
- types - ํ์ ์ ์๋ฅผ ์ํ ํด๋์ค ๋ชจ์
- ui - sapa ๋ก ๋ง๋ ๊ธฐ๋ณธ UI ๋ชจ์
- unit
- util - ์๋ํฐ ๊ธฐ๋ณธ ํจ์๋ค ๋ชจ์
- sapa - ๊ธฐ๋ณธ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- utils - ์์, ์ํ, ํ๋ ฌ, ์ถฉ๋ ๊ด๋ จ ์ฌ๋ฌ๊ฐ์ง ํจ์ ๋ชจ์
- editor
- src/export-library - npm ์ผ๋ก ๋ฐฐํฌ ๋ ๋ ์ธ๋ถ๋ก ์คํํ ํด๋์ค, ํจ์ ๋ฑ์ ์ง์ ํ๋ ํ์ผ์ ๋๋ค.
- src/plugins - ์๋ํฐ์ ๊ธฐ๋ฅ์ ์ด๋ฃจ๋ ์ฌ๋ฌ๊ฐ์ง ํ๋ฌ๊ทธ์ธ๋ค์ด ์์ต๋๋ค.
- src/scss - ์๋ํฐ์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ style ์ ์ง์ ํฉ๋๋ค.
๊ฐ๋ฐ์๋ฒ, ๋น๋๋ vite ๋ฅผ ํตํด์ ์ด๋ฃจ์ด์ง๋๋ค.
git clone https://github.com/easylogic/editor
cd editor
npm install && npm run dev
ํ ์คํธ ์ฝ๋๋ vitest ๋ฅผ ํตํด์ ์ํ๋์ด ์ง๋๋ค.
npm test
๋์์ธํด์์ ๊ด์ฌ์๋ ์ฃผ์ ๋ ๊ตฌํํด๋ณด๊ณ ์ถ์ ๊ธฐ๋ฅ, ์ฌ์ฉํ์๋ค๊ฐ ์ด์ํ ์ ์ด ์์ผ์๋ฉด ์ด์๋ก ์ฌ๋ ค์ฃผ์ธ์.
๊ด์ฌ ์๋ ์ด์์ assign ์ ํ ๋นํ๊ณ PR ์ ๋ง๋ค์ด์ฃผ์ธ์.
- ๊ด์ฌ์๋ ์ด์๋ฅผ ์ ํํ๊ฑฐ๋ ํ์ํ ์ด์๋ฅผ ์์ฑํฉ๋๋ค.
- ํ๋ก์ ํธ๋ฅผ fork ํด์ ์๋ก์ด ๋ ํ์งํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค์
- ํด๋น ์ฌํญ์ ๊ณ ์น๊ณ PR์ ๋ณด๋ ๋๋ค.
- PR ์ ๋ณด๋ผ ๋๋ develop ๋ธ๋์น๋ก ๋ณด๋ด์ฃผ์ธ์.
PR ์์๋ ์๋์ ๊ฐ์ ๋ด์ฉ์ด ์ ํ ์์ผ๋ฉด ์ข์ต๋๋ค.
- ํด๊ฒฐํ๊ธฐ ์ํ ๋ฌธ์ ์ค๋ช
- ์ถ๊ฐ๋ ๊ธฐ๋ฅ ์ค๋ช
- ์ญ์ ๋ ๊ธฐ๋ฅ ์ค๋ช
- ํ ์คํธ ๋ฐฉ๋ฒ
์ถํ๋๋ฆฝ๋๋ค. ์ด์ ๋ถํฐ ์ง์ ์ปจํธ๋ฆฌ๋ทฐํฐ๊ฐ ๋ฉ๋๋ค.
- ๋ณด๋ด์ฃผ์ PR์ ๋ช๊ฐ์ง ํ ์คํธ๋ฅผ ๊ฑฐ์นํ ๋ณํฉ๋ฉ๋๋ค.
- PR ์ด ๋ณํฉ์ด ๋๋ฉด contributor ๊ฐ ๋ฉ๋๋ค.
- ๋ด๋ถ์ ์ผ๋ก k-opensource ์ฌ์ฉํ๊ธฐ ์ด๋์ ํ๊ณ ์์ต๋๋ค.
- ๊ด์ฐฎ์ k-opensource ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฉด ๊ฐ์ด ํฌํจํด์ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
- ํ์ฌ ์๋์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ณผ๋ ค๊ณ ํฉ๋๋ค.
- @entityjs/entityjs
- array-organizer
- open-color
- yorkie-js-sdk
- adorable-css