์ง๊ธ๊น์ง ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ํ๋กํ ํ์ ์ด ์์ต๋๋ค.
1- https://wordpress.github.io/gutenberg/tinymce-per-block/
2- https://wordpress.github.io/gutenberg/tinymce-single/ (๋จ์ผ TinyMCE, ์ ์ด๋์ง ์์, ๋ฌธ๋ฒ ์์, HTML ๊ตฌ๋ฌธ ๋ถ์)
tinymce.getContent
๋ฅผ ํธ์ถํ๋ ๋์ ๋ฌธ๋ฒ ์ฃผ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค.(์ฌ๊ธฐ์ ๋ค๋ฅธ ๊ธฐ์ ํ๋กํ ํ์ ์ ์์ ๋กญ๊ฒ ์ถ๊ฐํ์ญ์์ค)
์ฐ๋ฆฌ๊ฐ ๊ตฌํํ๊ธฐ๋ก ์ ํํ ์ ๊ทผ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋๋ก ๊ฐ ์ ๊ทผ ๋ฐฉ์์ ์ฅ๋จ์ ์ ๋น๊ตํ ์ ์๋๋ก ์ด ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค.
์ด ๋ ํ๋กํ ํ์ ์ ๋ํ ์ ๋๋์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฅ์ :
๋จ์ :
์ฅ์ :
๋จ์
์ด ์คํ์ ํ๋กํ ํ์ https://github.com/WordPress/gutenberg/pull/113์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ TinyMCE๋ฅผ ๋ํผ๋ก ์ฌ์ฉํ์ง๋ง ์ํ ๋ณ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝํ ์ธ ๋ฅผ ๋ค์ ๋ ๋๋งํ๋ ํผํฉ ์ ๊ทผ ๋ฐฉ์์ ์๋ํ์ต๋๋ค. ์ฝ๊ฐ์ ํ์ ํ์ ์ด ์ ๊ทผ ๋ฐฉ์์ DraftJS ๋๋ ProseMirror๋ฅผ ๋ค์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ TinyMCE๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ณ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ํฐ์ผ์ ๋ง๋ค์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋น๊ตํ ๋ #3๋ ์๊ฐํด์ผ ํฉ๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ ํํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
Prototype 2๊ฐ ๊ฐ ๊ธธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋น๋ก ๋ ๋ง์ TinyMCE ์์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ ๊ณ ํต์ค๋ฌ์ธ ์ ์์ง๋ง ๊ถ๊ทน์ ์ผ๋ก ํ์ฌ๋ก์๋ ๊ฐ์ฅ ์ข์ ์ ๊ทผ ๋ฐฉ์์ด ๋ ๊ฒ์ ๋๋ค.
ํธ์ง๊ธฐ ์ธ๋ถ์์ ๋ธ๋ก์ ์ฌ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๊น?
๋ธ๋ก ์ ํ ๋ฐ ์ ์ด ์ ํ์ ์ ์ํ๊ธฐ ์ํ API๊ฐ TinyMCE๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ ์ ์๋ ์ถฉ๋ถํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ํ Prototype 2์ ๋จ์ ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ณ ๋์ Custom TinyMCE ์ธ์คํด์ค๋ฅผ ๊ณต๊ธํ๋ ๋ฐ ์ฌ์ฉํ API๋ฅผ ์ ์ํ๋ ๋ธ๋ก ์ ํ/์ ์ด ์ ํ์ ๊ฐ๋ฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ธ๋ก ์ ํ/์ ์ด ์ ํ์ ๋ฐ์ดํฐ๋ ๋ฏธ๋์ ์ ์ฌ์ ์ผ๋ก ๋ค๋ฅธ ๊ฒ์ ๊ณต๊ธํ๋ ๋ฐ ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค.
๋ง์ด ์์ ์๋ ์์ง๋ง Prototype 2๋ WordPress๊ฐ ์ด๋ฏธ ์๋ํ๋ ๋ฐฉ์์ ๋๋ถ๋ถ ๋ฐ์ํ๊ณ TinyMCE๊ฐ ๋ง์ ์์ ์ ์ํํ๋ฏ๋ก ๋์๊ฒ ๋งค์ฐ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ ํ๋กํ ํ์ ์ ๋ํ ์ ๋๋์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ๋กํ ํ์ 1:
์ฅ์ :
๋จ์ :
ํ๋กํ ํ์ 2:
์ฅ์ :
๋จ์
์ด ์คํ์ ํ๋กํ ํ์ https://github.com/WordPress/gutenberg/pull/113์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ TinyMCE๋ฅผ ๋ํผ๋ก ์ฌ์ฉํ์ง๋ง ์ํ ๋ณ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝํ ์ธ ๋ฅผ ๋ค์ ๋ ๋๋งํ๋ ํผํฉ ์ ๊ทผ ๋ฐฉ์์ ์๋ํ์ต๋๋ค. ์ฝ๊ฐ์ ํ์ ํ์ ์ด ์ ๊ทผ ๋ฐฉ์์ DraftJS ๋๋ ProseMirror๋ฅผ ๋ค์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ TinyMCE๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ณ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.