zulip/templates/zerver
Daniil Fadeev 2f203f4de1 emails: Inline CSS in emails in build_email.
Previously, we had an architecture where CSS inlining for emails was
done at provision time in inline_email_css.py. This was necessary
because the library we were using for this, Premailer, was extremely
slow, and doing the inlining for every outgoing email would have been
prohibitively expensive.

Now that we've migrated to a more modern library that inlines the
small amount of CSS we have into emails nearly instantly, we are able
to remove the complex architecture built to work around Premailer
being slow and just do the CSS inlining as the final step in sending
each individual email.

This has several significant benefits:

* Removes a fiddly provisioning step that made the edit/refresh cycle
  for modifying email templates confusing; there's no longer a CSS
  inlining step that, if you forget to do it, results in your testing a
  stale variant of the email templates.
* Fixes internationalization problems related to translators working
  with pre-CSS-inlined emails, and then Django trying to apply the
  translators to the post-CSS-inlined version.
* Makes the send_custom_email pipeline simpler and easier to improve.

Signed-off-by: Daniil Fadeev <fadeevd@zulip.com>
2023-04-05 12:22:29 -07:00
..
app templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
authentication_backends templates: Convert config errors to HTML. 2023-02-28 16:54:15 -08:00
development emails: Inline CSS in emails in build_email. 2023-04-05 12:22:29 -07:00
emails emails: Inline CSS in emails in build_email. 2023-04-05 12:22:29 -07:00
include
integrations integrations: Add documentation for Mastodon via public RSS feeds. 2023-03-30 09:36:16 -07:00
policies_absent portico: Use /help/ style pages for displaying policies. 2021-12-10 17:56:12 -08:00
tests/markdown markdown/tabbed_sections: Raise exception for missing tab name. 2021-10-01 16:25:17 -07:00
accounts_accept_terms.html web: Save two 301 redirects from /terms to /terms/ to /policies/terms. 2023-03-24 14:51:01 -07:00
accounts_home.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
accounts_send_confirm.html portico_signin: Wrap long email names to next line. 2023-02-01 13:14:08 -08:00
auth_subdomain.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
base.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
billing_nav.html
close_window.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
compare-education.html core_docs: Update translated language count and help center links. 2022-03-24 14:49:30 -07:00
config_error.html templates: Convert config errors to HTML. 2023-02-28 16:54:15 -08:00
confirm_continue_registration.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
create_realm.html templates: Add realm information fields in create_realm.html. 2023-03-27 15:44:42 -07:00
deactivated.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
desktop_login.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
desktop_redirect.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
dev_env_email_access_details.html
digest_base.html emails: Inline CSS in emails in build_email. 2023-04-05 12:22:29 -07:00
documentation_main.html markdown: Fix use of pure_markdown for non-pure markdown rendering. 2023-03-17 08:46:25 -07:00
email.html
find_account.html templates: Update text on /accounts/find. 2023-03-30 09:06:14 -07:00
footer.html web: Save a 301 redirect from /help to /help/. 2023-03-24 14:51:01 -07:00
gradients.html
insecure_desktop_app.html web: Save a needless 301 redirect from /apps to /apps/. 2023-03-24 14:51:01 -07:00
invalid_email.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
invalid_realm.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
landing_nav.html css: Integrate newly designed header. 2023-03-29 17:59:00 -07:00
log_into_subdomain_token_invalid.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
login.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
meta_tags.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
no_spare_licenses.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
portico-header-dropdown.html landing_page: Restructure top-level navigation. 2021-07-15 10:56:47 -07:00
portico-header.html web: Save a 301 redirect from /new to /new/. 2023-03-24 14:51:01 -07:00
portico-help.html
portico.html linters: Rewrite check-templates. 2021-11-23 15:55:54 -08:00
portico_signup.html
rate_limit_exceeded.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
realm_creation_disabled.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
realm_creation_form.html register: Update the user-registration form for realm creation. 2023-03-27 15:44:42 -07:00
realm_creation_link_invalid.html templates: Use static() helper to generate /static/ URLs. 2023-02-14 17:17:06 -05:00
realm_reactivation.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
realm_reactivation_link_error.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
realm_redirect.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
register.html register: Update the user-registration form for realm creation. 2023-03-27 15:44:42 -07:00
reset.html reset: Tag "forgot password" text for translation. 2023-02-21 09:16:22 -08:00
reset_confirm.html portico: Remove form-horizontal class from some portico pages. 2023-01-19 17:24:14 -08:00
reset_done.html templates: Update `reset_done.html` page text and title. 2023-02-28 11:45:01 -08:00
reset_emailed.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
social_auth_select_email.html social_auth_select_email: Remove form-horizontal class. 2023-01-19 17:24:14 -08:00
unsubscribe_link_error.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
unsubscribe_success.html templates: Add HTML title element to templates that extend base/portico. 2022-09-19 20:17:17 -07:00
unsupported_browser.html web: Save a needless 301 redirect from /apps to /apps/. 2023-03-24 14:51:01 -07:00