Content renderer - renders the content of the email post
Renderer - places the content into the email HTML template and generates text version
[MAILPOET-5798]
This commit adds a method that returns map of CSS variables and their values defined based on the theme.json
It is a preparation step for a postprocessor that will use this map to replace variables with values in final HTML.
There are many clients that don't support CSS variables
[MAILPOET-5918]
After we updated the oldest supported WP and PHP versions, we don't need this theme anymore.
When I checked recent builds, I notice we are getting:
Error: The 'twentynineteen' theme could not be found.
So it already works for some time without the theme being activated.
[MAILPOET-5925]
I want to avoid the SettingsController becoming some kind of a god class
so in this step, I extracted themejson-related stuff to an extra class.
In the future, we should also move methods for manipulating CSS to a helper.
[MAILPOET-5741]
Default background rendering has to be handled on the button renderer level
because of a specific markup for Outlook (bgcolor attribute). Default text color and paddings are
handled via CSS inlining. That's why they are tested in RendererTest
I used the same background color and font color as the one defined for the button
element in WP core theme.json, and I also used similar padding values
(In core they use "calc(0.667em + 2px) calc(1.333em + 2px)")
[MAILPOET-5814]
Add basic font families. For now, we use know-how from the current editor
and we use the same list of fonts as were used in the current editor
[MAILPOET-5740]
We don't reset font family on any level, so there is no need to
bubble the setting using a preprocessor and render the inline styles
explicitly in every block.
In this commit, I change how font-family settings are distributed/rendered
in the email renderer. In the new approach, we rely on class names defining font-family
and a generated CSS sheet with font-family definitions.
We apply the font-family CSS by inlining CSS rules for families in the later phase of
rendering after all individual blocks are processed.
[MAILPOET-5740]
codeception/verify 2.1 removed support for expect()->stringContainsString() so we need
to replace it with verify()->stringContainsString().
[MAILPOET-5664]
I envision the StylesController as the source of information about
styles settings in both the editor and renderer.
We will add email styles settings and these will be accessed in PHP via this service.
[MAILPOET-5540]