๐๏ธ Custom block
What is a custom block๏ผCustom block is composed of one or more basic blocks.
๐๏ธ Prebuilt block
"Prebuilt block" refers to preconfigured standard elements, such as setting up a two-column text and image. Once configured in the editor, we can place the code into a category.
๐๏ธ Universal block
A "Universal block" is a way to save basic elements for reuse. For example, if you use a header or footer in all email templates, you can save it to avoid starting from scratch for each new email.
๐๏ธ Widget block(Block Studio)
"Widget block" is an advanced element that can aggregate and control the properties of basic elements, turning them into a cohesive entity while concealing the editing of sub-elements. Most importantly, there is no need to write any code; elements and configuration panels can be generated through drag-and-drop editing.
๐๏ธ Frozen Block
Sometimes, we need to fix elements at the head and bottom of the template and not allow users to modify or delete them.
๐๏ธ Config hovering toolbar
๐๏ธ Custom theme
Make a duplicate in https://arco.design/themes/design/8505/setting/base/Color,
๐๏ธ Inject dynamic data
There are two important props:
๐๏ธ Overwrite component
To facilitate users in customizing their components and functionalities, we have exported a significant number of components, mainly divided into three major blocks:
๐๏ธ TemplateEngine
In most cases, if you only use browser rendering and inject data, there is no need to override the TemplateEngine. EasyEmailPro uses liquidjs, which already supports many syntaxes. Only when you need server-side rendering and your template engine is not SolidJS, you need it. For new projects, we still highly recommend liquidjs because of its excellent performance.
๐๏ธ Hot keys
๐๏ธ Server side render
Register plugins (If you need these plugins)
๐๏ธ AI assistant
Integrating an AI assistant can provide intelligent conversations, personalized recommendations, and enhanced customer experience for your application or website.
๐๏ธ Form
When editing email templates, we will use a large number of form components. In order to facilitate customization needs, our form components are shared.