рдкреЗрдЬрдХрд┐рдЯ - рд╕реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб GrapesJS рд╕рд╛рдЗрдЯ рдмрд┐рд▓реНрдбрд░, рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ред рдЬрд▓реНрджреА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЕрдВрдХ #4273ЁЯТм рдЙрддреНрддрд░ рджрд┐рдпрд╛рдЦреЛрд▓рд╛ рдЧрдпрд╛ 20 рдЕрдкреНрд░реИрд▓ 2022рджреНрд╡рд╛рд░рд╛ boomshakar1 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ

рдкреЗрдЬ рд▓реЛрдб рдкрд░ 'рдЖрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ (рдореЛрдбрд▓)' рдХреЛ рдХреИрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВ

рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░рджреНрд╡рд╛рд░рд╛ boomshakarтЭд 1

@boomshakar рдХреГрдкрдпрд╛ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдореБрджреНрджреЛрдВ рдореЗрдВ рди рдмрджрд▓реЗрдВ рдкреНрд░рд╕рд┐рджреНрдШред рдзрдиреНрдпрд╡рд╛рдж

рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУ

рдкреНрд░рд╢реНрди

рдирдорд╕реНрдХрд╛рд░ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдкреГрд╖реНрда рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдкрд░ рдЖрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЛрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рдореИрдВ рдиреНрдпреВрдЬрд╝рд▓реЗрдЯрд░ рдкреНрд░реАрд╕реЗрдЯ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдореИрдВ рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?: рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдирд╛ рдХреЛрдб рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред рдиреАрдЪреЗ рд╡реЗ рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЖрдЬрдорд╛рдпрд╛ рд╣реИ, editor.on('load',(model, argument )=> { рдУрдкрди рдореЛрдбрд▓ const modal = edit.Modal; const cmdd = edit.Commands; рдШрдЯрдХ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ рдЕрдЧрд░ (model.getName() === 'рдЖрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ') { //рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдореЛрдбрд▓ рджрд┐рдЦрд╛рдПрдВ рдореЛрдбрд▓.рдУрдкрди (); } edit.on('рдореЛрдбрд▓:', (рдП, рдмреА, рд╕реА) => { //рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ console.log({ рдП }); c...

рдЬрд╡рд╛рдм (4)

boomshakarтАв 22 рдЕрдкреНрд░реИрд▓ 2022

@boomshakar рдХреГрдкрдпрд╛ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдореБрджреНрджреЛрдВ рдореЗрдВ рди рдмрджрд▓реЗрдВ

рдкреНрд░рд╕рд┐рджреНрдШред рдзрдиреНрдпрд╡рд╛рдж

boomshakarтАв 21 рдЕрдкреНрд░реИрд▓ 2022

рд╣рд╛рдп @artf, рдореИрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ () рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдХреЗ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, const modal = edit.Modal; const query = new URLSearchParams(location.search); const uploadQuery = query.get('key'); рдЕрдЧрд░ (uploadQuery === 'upload-code') { const importClick = document.querySelector('.gjs-pn-btn...

artfтАв 21 рдЕрдкреНрд░реИрд▓ 2022

@boomshakar рдХреГрдкрдпрд╛ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдореБрджреНрджреЛрдВ рдореЗрдВ рди рдмрджрд▓реЗрдВ

GJSBlockтАв 17 рдордИ 2026

рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @boomshakar ред рдкреЗрдЬ рд▓реЛрдб рдкрд░ 'рдЖрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ (рдореЛрдбрд▓)' рдХреЛ рдХреИрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрдврд╝рд┐рдпрд╛ рд╕рд╡рд╛рд▓ред рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдИрд╡реЗрдВрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП GrapesJS рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ on() рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рд╡рд┐рдзрд┐...

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░

рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдЕрдВрдХ #3366

рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрдорд╛рдВрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛

рдореИрдВ preview рдХрдорд╛рдВрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрдорд╛рдВрдб рдЪрд▓...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 16 рдирд╡рдореНрдмрд░ 2021

рдЕрдВрдХ #3683

рдШрдЯрдХ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛

! [рдЫрд╡рд┐] (https://user-images.githubusercontent.com/23076937/128685747-37b8bdf2-16f0-47bc-b5f6-cb96bbbfefdf.png)

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 13 рдЕрдЧрд╕реНрдд 2021

рдЕрдВрдХ #3422

рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдШрдЯрдХ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ 'рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЯреЗрдХреНрд╕реНрдЯ рдбрд╛рд▓реЗрдВ'?

рдореИрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреА рддрд░рд╣ рд╣реА рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдбрд┐...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 6 рдордИ 2021

рдЕрдВрдХ #3137

рдЬрдм рдореИрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреА рд╢реИрд▓рд┐рдпрд╛рдБ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИред

рдЪрдпрдирд┐рдд рддрддреНрд╡ рдХреА рд╢реИрд▓рд┐рдпрд╛рдБ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ, const model = editor.StyleManager.getModelToStyle(component); let styleObject = mo...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 29 рдирд╡рдореНрдмрд░ 2020

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ

рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред

рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреЗрдЦреЗрдВ

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...

рдирд┐рдГрд╢реБрд▓реНрдХ рд╡рд┐рдХрд▓реНрдк

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред

рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ
рдкреНрд░реАрдорд┐рдпрдо рд╡рд┐рдХрд▓реНрдк

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ

рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред

рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ тЖТ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

Introducing Search on GJS.Market

GJS.Market now has one search across everything we publish тАФ plugins, articles, community questions, guides, authors and services. Press тМШK from any page.

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

2026 рдореЗрдВ GrapesJS рдХреЗ рд╕рд╛рде AI-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рд╣рдордиреЗ GJSDocs рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕реАрдЦрд╛ - рд╕рд░рд▓ AI рдЯреЗрдХреНрд╕реНрдЯ рдЬрдирд░реЗрд╢рди рд╕реЗ рд▓реЗрдХрд░ рд╕рдВрд░рдЪрд┐рдд, рд╕рдВрджрд░реНрдн-рдЬрд╛рдЧрд░реВрдХ рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрди рддрдХ

рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ?

2026 рдореЗрдВ SaaS рдкреЗрдЬ рдмрд┐рд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдЖрддрд╛ рд╣реИ? рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд╛рд╕ рд▓рд╛рдЧрдд, рд╕рдордпрд╕реАрдорд╛, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ GrapesJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ

рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ

рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред