markerb is dead and isn't compatible with rails 6 anymore. Removing it
means adding separate templates for text and html, this sadly means some
code duplication, but also luckily the templates aren't that
complicated, so the duplication is also very minimal.
This new class replaces all existing server side message
rendering helpers and is the new global entry point for such
needs. All models with relevant fields now expose an instance
of MessageRenderer for those. MessageRenderer acts as
gateway between the existing processing solutions for markdown,
mentions and tags and provides a very flexible interface for
all output needs. This makes the API to obtain a message
in a certain format clear. As a result of centralizing the
processing a lot of duplication is eliminated. Centralizing
the message processing also makes it clear where to change
its behaviour, add new representations and what options
are already available.
* Throw away old system
* Add new system
* Add new example files
* Replace all calls
* add the most important docs
* Add Specs
* rename disable_ssl_requirement to require_ssl
* cloudfiles isn't used/called in our code
* since community_spotlight.list is only used as enable flag replace it with such one and remove all legacy and irelevant codepaths around it
* die if session secret is unset and on heroku
* First basic infrastructure for version information
Ideally, we'll probably want to add a layout for this email at some point,
but this simplifies it to the bare minimum and gets rid of the "click here
to change your notification settings" link.
fixes#3270
* Add markerb to the Gemfile
* Update mailer classes to send multipart text+html emails
* Simplify all email templates and convert to Markdown+ERB
This required stripping the CSS and images from the emails. All
Markdown templates are based on the original HTML version except
for the inviter, where it was much easier to work with the text
version (and the i18n contains the whole message anyway).
locally when Resque tried to constantize Jobs::Mail Object.const_get("Jobs") returned our Jobs module but when it tried to const_get("Mail") it returned the Mail gem.
added copyright