Skip to Content
์†Œ๊ฐœ

Inkio

React ๊ธฐ๋ฐ˜์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์น˜ ํ…์ŠคํŠธ ์—๋””ํ„ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐ŸŽจ Headless ๋””์ž์ธ - ์™„์ „ํ•œ ์Šคํƒ€์ผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
  • ๐Ÿ“ ํ’๋ถ€ํ•œ ํฌ๋งทํŒ… - Bold, Italic, Underline, Highlight, Link ๋“ฑ
  • ๐Ÿ–ผ๏ธ ๊ณ ๊ธ‰ ์ด๋ฏธ์ง€ ํŽธ์ง‘ - ๋“œ๋ž˜๊ทธ์•ค๋“œ๋กญ, ๋ฆฌ์‚ฌ์ด์ฆˆ, Crop, ๋งˆํฌ์—…
  • ๐Ÿ’ฌ Callout ๋ธ”๋ก - Info, Warning, Tip, Danger ํƒ€์ž… ์ง€์›
  • ๐Ÿ”— ์œ„ํ‚ค ๋งํฌ - [[ํŽ˜์ด์ง€]] ํ˜•์‹์˜ ๋‚ด๋ถ€ ๋งํฌ
  • ๐Ÿ‘ค ๋ฉ˜์…˜ ์‹œ์Šคํ…œ - @์‚ฌ์šฉ์ž ํƒœ๊ทธ ์ง€์›
  • #๏ธโƒฃ ํ•ด์‹œํƒœ๊ทธ - #ํƒœ๊ทธ ์ง€์›
  • โŒจ๏ธ ์Šฌ๋ž˜์‹œ ์ปค๋งจ๋“œ - / ์ž…๋ ฅ์œผ๋กœ ๋น ๋ฅธ ๋ธ”๋ก ์‚ฝ์ž…
  • ๐Ÿ“‹ ํƒœ์Šคํฌ ๋ฆฌ์ŠคํŠธ - ์ฒดํฌ๋ฐ•์Šค ๊ธฐ๋ฐ˜ ํ• ์ผ ๋ชฉ๋ก
  • ๐ŸŽฏ Tree-shakable - ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ๋ฒˆ๋“ค๋ง

๋น ๋ฅธ ์‹œ์ž‘

npm install @inkio/editor @inkio/extension react react-dom

@inkio/extension๋Š” @inkio/editor, react, react-dom๋งŒ peer๋กœ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. Tiptap ๋Ÿฐํƒ€์ž„๊ณผ katex, konva, react-konva๋Š” @inkio/extension ๋‚ด๋ถ€ ์˜์กด์„ฑ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

import { Editor, getDefaultCoreExtensions } from '@inkio/editor'; import '@inkio/editor/style.css'; function MyEditor() { return ( <Editor extensions={getDefaultCoreExtensions()} onUpdate={(json) => console.log(json)} /> ); }

๋ฐ๋ชจ

ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์—์„œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ง์ ‘ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”.

์˜ˆ์ œ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

AI์™€ ํ•จ๊ป˜ ๋ถ™์ด๊ฑฐ๋‚˜ ๋น ๋ฅด๊ฒŒ ํ†ตํ•ฉํ•˜๋ ค๋ฉด ์„ค๋ช…ํ˜• ๋ฌธ์„œ๋ณด๋‹ค ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์˜ˆ์ œ๋ฅผ ๋จผ์ € ๋ณด๋Š” ํŽธ์ด ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

  • ๋ ˆ์‹œํ”ผ์—์„œ ๋Ÿฐํƒ€์ž„๋ณ„ ์‹œ์ž‘์ ์„ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ ˆํฌ์—์„œ๋Š” examples/basic-react, examples/next-app-router๋ฅผ ๊ธฐ์ค€ ์˜ˆ์ œ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • AI์—๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋งก๊ธธ ๋•Œ๋Š” ๋ฃจํŠธ์˜ AI_CONTEXT.md๋ฅผ ์˜ˆ์ œ ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ์ฃผ๋Š” ๋ฐฉ์‹์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ

Last updated on