Commit Graph

40 Commits

Author SHA1 Message Date
Rostislav Wolny
47a4871600 Remove unused SettingsController::convertStylesToString method
[MAILPOET-5798]
2024-04-18 12:45:15 +02:00
Mike Jolley
b25335c2cb Update spacing tests 2024-04-10 11:42:50 +02:00
Mike Jolley
560495c40d Restore testItCallsPreprocessorsProperly test 2024-04-10 11:42:50 +02:00
Mike Jolley
e0d27db790 Remove top level processor in favour of wrapping column in template, fix column padding 2024-04-10 11:42:50 +02:00
Jan Lysý
5ceef236bf Use the same format for styles as it is in theme.json
This should be the first step to using theme.json format in DB and merging more style configurations to the final one.
[MAILPOET-5640]
2024-03-15 16:57:41 +01:00
Rostislav Wolny
4071175178 Move ContentRenderer to the Renderer/ContentRenderer namespace
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
8faaa174bc Add post processor for replacing CSS variables with values
[MAILPOET-5918]
2024-03-05 16:03:49 +01:00
Jan Lysý
db8dac03d2 Prepare styles in store for sidebar
[MAILPOET-5638]
2024-03-01 16:36:52 +01:00
Jan Lysý
3a2573bb5b Fix column and columns width when border is set
[MAILPOET-5821]
2024-02-29 11:05:55 +01:00
Jan Lysý
2636bc1055 Update BlocksWidthPreprocessor to calculate with borders
[MAILPOET-5821]
2024-02-29 11:05:55 +01:00
Rostislav Wolny
b724ef4ac2 Extract Theme related methods from SettingsController as ThemeController
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]
2024-02-28 09:01:20 +01:00
Jan Lysý
dc96fa2b1c Add postprocessor for replacing mark tag to span
[MAILPOET-5809]
2024-02-19 11:18:58 +01:00
Jan Lysý
9b54217049 Rename PreprocessManager class to ProcessManager
As we want to add rendering postprocessing, it's better to use a different name for this class.
[MAILPOET-5809]
2024-02-19 11:18:58 +01:00
Jan Lysý
436349a980 Remove skipping core/columns in spacing preprocessor
[MAILPOET-5816]
2024-01-24 15:38:13 +01:00
Jan Lysý
48b4388992 Add block spacing preprocessing
[MAILPOET-5816]
2024-01-24 15:38:13 +01:00
Jan Lysý
6ccbf84cdf Use gap size as email layout padding
[MAILPOET-5816]
2024-01-24 15:38:13 +01:00
Rostislav Wolny
a472df257a Replace font size slugs with values in typography preprocessor
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
c4586d60e9 Move the default font family and font size settings to the theme.json
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
e8bb1b5ac0 Refactor font family rendering using CSS inlining
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]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
a7aaf97070 Improve typography preprocessor to get font family value from slugs
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
890050fdc8 Fix font-family processing in the typography preprocessor.
The font-family property is not included under styles but at the top level
of block attributes.
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
7cbc130893 Pass default font-size in email attrs in TypographyPreprocessor
It is convenient to always know font-size in nested blocks so that we don't
have to read it from the settings controller.
[MAILPOET-5644]
2024-01-08 09:21:16 +01:00
Rostislav Wolny
327a23ca81 Improve typography preprocessor to distribute font color from theme.json
[MAILPOET-5644]
2024-01-08 09:21:16 +01:00
Rostislav Wolny
b626252b39 Add support for text decoration to typography preprocessor 2024-01-08 09:21:16 +01:00
Jan Lysý
28a3d40bda Fix column with calculation when missing
In specific cases could defining padding for columns without width looked differently in preview.
[MAILPOET-5739]
2024-01-05 11:17:46 +01:00
Jan Lysý
6aca73ff2e Remove exception in width block width calculation
[MAILPOET-5642]
2024-01-05 10:17:23 +01:00
Jan Lysý
52e8fc3a12 Add exception for subtracting padding for full-width blocks
[MAILPOET-5688]
2023-12-21 13:04:10 +01:00
Jan Lysý
1b94347bb4 Add wrapping full-width blocks into core/column block
[MAILPOET-5688]
2023-12-21 13:04:10 +01:00
Jan Lysý
328fcfa260 Move method for composing styles to SettingsController
To avoid repetition I decided to move this method to better place.
[MAILPOET-5705]
2023-11-27 12:54:30 +01:00
Jan Lysý
5800830d71 Improve columns width calculation
Because there exist more variants when the column width is not defined, we needed to improve this behavior.
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
2b0d1ea5c1 Update unit test after updating codeception/verify
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
1626cf2ad9 Add TypographyPreprocessor
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
1250d81670 Refactor BlocksWidth preprocessor to set string including units
I added pixels to calculated width for easier work with it in block rendering.
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
2b69acf0d5 Add preprocessor for calculating block width
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
fe5eabfe49 Add Preprocessor for removing unwanted blocks
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
c1768fd0b2 Refactor Preprocessor to more classes
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Rodrigo Primo
9b56fdc688 Replace expect()->count() with verify()->arrayCount()
codeception/verify 2.1 removed support for expect()->count() so we need
to replace it with verify()->arrayCount().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
e4136fee8c Replace expect()->isEmpty() with verify()->empty()
codeception/verify 2.1 removed support for expect()->isEmpty() so we need
to replace it with verify()->empty().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
afe378ba22 Replace expect()->equals() with verify()->equals()
codeception/verify 2.1 removed support for expect()->equals() so we need
to replace it with verify()->equals().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rostislav Wolny
968ff6754e Add blocks preprocessor
Currently, we need to wrap top-level non-column blocks into a single
column. This is done in the preprocessor.

[MAILPOET-5540]
2023-09-21 14:20:35 +02:00