Redactor: Redactor๊ฐ€ ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ฃผ๋ฌธํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2020๋…„ 04์›” 12์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: craftcms/redactor

์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” ์ผ๋ถ€ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ฒฝ์šฐ Redactor์— addButtonBefore ๋˜๋Š” addButtonAfter ๋‹ค๋ฅธ ํŠน์ • ๋ฒ„ํŠผ์„ ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค...

Craft ํ”Œ๋Ÿฌ๊ทธ์ธ์ด Redactor ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ‘œ์‹œ๋˜๋Š” ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” JSON ํŒŒ์ผ์— ๋‚˜์—ด๋œ ์ˆœ์„œ๋Œ€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  "buttons": [
    "bold",
    "italic",
    "underline",
    "link",
    "lists"
  ],
  "plugins": [
    "alignment",
    "table"   <--- Table is at the end
  ],

ฮฉ 2020-04-11 at 3 33 56 PM

Craft ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด ์‚ฌ์šฉ์ž ์ง€์ • ๋„๊ตฌ ๋ชจ์Œ์—์„œ ์ด์ƒํ•œ ๋™์ž‘์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ(์˜ˆ table )์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋„๊ตฌ ๋ชจ์Œ์˜ _ํŠน์ •_ ์œ„์น˜์— ์ž๋™์œผ๋กœ ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„ํŠผ์ด ๋‚ด๊ฐ€ ๋ฐฐ์น˜ํ•œ ์œ„์น˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค .

์‚ฌ์ „ ์„ค์ •๋œ ์ฃผ๋ฌธ ๊ธฐ๋ณธ ์„ค์ •์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์–ด๋–ป๊ฒŒ ๋“  ๊ทธ๊ฒƒ๋“ค์„ ์žฌ์ •์˜ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ช‡ ๋‹ฌ์ด ๊ฑธ๋ ธ์ง€๋งŒ ๋งˆ์นจ๋‚ด ์ƒˆ๋กœ์šด enforceButtonOrder Redactor ๊ตฌ์„ฑ ์˜ต์…˜์˜ ํ˜•ํƒœ๋กœ ์†”๋ฃจ์…˜์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

๋ชจ๋“  10 ๋Œ“๊ธ€

์ด๊ฒƒ๋“ค์€ Redactor์—์„œ ์ œ๊ณตํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋ฏ€๋กœ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ํ˜„๋ช…ํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ—ˆ, ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹จ์ง€ Craft๊ฐ€ ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. Redactor๊ฐ€ ํ•ด๋‹น ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋˜๋Š” ์œ„์น˜์— ๋Œ€ํ•ด ๊ทธ๋ ‡๊ฒŒ ์—„๊ฒฉํ•˜๋‹ค๋Š” ๊ฒƒ์€ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค... Redactor์˜ ์ „์ฒด ์š”์ ์€ ์œ ์—ฐ์„ฑ์ด ์•„๋‹Œ๊ฐ€์š”?

๊ทธ๊ฒƒ์„ ์žฌ์ •์˜ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํ…Œ์ด๋ธ” ๋ฒ„ํŠผ์ด _๋ฐ˜๋“œ์‹œ_ ๋งํฌ ๋ฒ„ํŠผ ์˜†์— ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋ฏฟ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์˜ˆ์™ธ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๐Ÿ˜•

์ผ๋ถ€ JS ์ฝ”๋“œ๋กœ ์ด๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•ฉ์‹œ๋‹ค.

ํ…Œ์ด๋ธ” ๋ฒ„ํŠผ์„ ์ค‘๊ฐ„์— ์‚ฝ์ž…ํ•˜๊ธฐ๋ฅผ _์›ํ•˜์‹œ๋ฉด_ ๊ตฌ์„ฑ์—์„œ ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

ํ ... ์ข‹์€ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. Redactor๋Š” ์ด๋ฏธ ๋‹จ์ถ”๋ฅผ ๋ฐฐ์—ดํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ถ„์ฃผํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด์ƒ์ ์œผ๋กœ๋Š” before ๋ฐ after ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์œ„์น˜์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://imperavi.com/redactor/docs/settings/button/#s -buttonsaddafter

๊ทธ๋Ÿฌ๋‚˜ ์ตœ์•…์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” plugins ๋ฐฐ์—ด์— ๋„ฃ์€ ์œ„์น˜์— ์ •ํ™•ํžˆ ์ฐฉ๋ฅ™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค...

  "plugins": [
    "alignment",
    "fontcolor",
    "table",   <--- Table should be in the middle
    "fullscreen",
    "clips"
  ]

@lindseydiloreto ๋‚ด๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณผ๋“œ์ฒด์™€ ์ดํƒค๋ฆญ์ฒด ๋ฒ„ํŠผ ์‚ฌ์ด์— ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

"์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋ฌป๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋งˆ๋„ ์ด๋Ÿฐ ์ผ์ด...

  "buttonsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Places the plugin button
  },
  "plugins": [
    "table" // Loads the plugin
  ],

... ๋˜๋Š” ์•„๋งˆ๋„ ์ด์™€ ๊ฐ™์ด ...

  "pluginsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Loads & places the button
  },

Redactor ๋ฐ/๋˜๋Š” Craft ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด๋ฏธ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์ž‘์—…์„ ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์ปค๋ฐ‹ ์„ ๋ณด๋ฉด Craft ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋•Œ๋•Œ๋กœ Redactor์™€ ํ•จ๊ป˜ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์˜ ์ƒ๊ฐ์„ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ ์งˆ๋ฌธ์„ ์™„์ „ํžˆ ์ž˜๋ชป ์ดํ•ดํ–ˆ๋‹ค๋ฉด! ๐Ÿ˜„

ํŽธ์ง‘์ž๊ฐ€ ๋ฐฐ์—ด์— ์ •์˜๋œ ๋ฒ„ํŠผ์„ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ์ด์ƒํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์„ ์ •์˜ํ•  ๋•Œ ์˜ˆ์ƒ๋˜๋Š” ๊ธฐ๋ณธ ๋™์ž‘์ž…๋‹ˆ๋‹ค. redactor๊ฐ€ ์œ ๋ฃŒ ๋„๊ตฌ๋ผ๋Š” ์ ์„ ๊ณ ๋ คํ•  ๋•Œ ๋” ๋งŽ์€ ์œ ์—ฐ์„ฑ๊ณผ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

๋ช‡ ๋‹ฌ์ด ๊ฑธ๋ ธ์ง€๋งŒ ๋งˆ์นจ๋‚ด ์ƒˆ๋กœ์šด enforceButtonOrder Redactor ๊ตฌ์„ฑ ์˜ต์…˜์˜ ํ˜•ํƒœ๋กœ ์†”๋ฃจ์…˜์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

(๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์™€ ํ•จ๊ป˜)

์•„, ๋ฉ‹์ง„ @andris-sevcenko! ๊ทธ๊ฒƒ์„ ์ž˜ ์ •๋ฆฌํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ œ OCD๋Š” ํ›จ์”ฌ ๋” ํ–‰๋ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜„

ํšŒ์ „์„ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์—†์–ด! ๐Ÿบ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰