mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 07:38:01 +08:00
9656a21fdb
This feature adds the ability to customize the HTML part of all emails using a custom HTML template and optionally some CSS to style it. The CSS will be parsed and converted into inline styles because CSS is poorly supported by email clients. When writing the custom HTML and CSS, be aware of what email clients support. Keep customizations very simple. Customizations can be added and edited in Admin > Customize > Email Style. Since the summary email is already heavily styled, there is a setting to disable custom styles for summary emails called "apply custom styles to digest" found in Admin > Settings > Email. As part of this work, RTL locales are now rendered correctly for all emails.
226 lines
5.8 KiB
Ruby
226 lines
5.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
source 'https://rubygems.org'
|
|
# if there is a super emergency and rubygems is playing up, try
|
|
#source 'http://production.cf.rubygems.org'
|
|
|
|
gem 'bootsnap', require: false, platform: :mri
|
|
|
|
def rails_master?
|
|
ENV["RAILS_MASTER"] == '1'
|
|
end
|
|
|
|
if rails_master?
|
|
gem 'arel', git: 'https://github.com/rails/arel.git'
|
|
gem 'rails', git: 'https://github.com/rails/rails.git'
|
|
else
|
|
# until rubygems gives us optional dependencies we are stuck with this
|
|
# bundle update actionmailer actionpack actionview activemodel activerecord activesupport railties
|
|
gem 'actionmailer', '5.2.3'
|
|
gem 'actionpack', '5.2.3'
|
|
gem 'actionview', '5.2.3'
|
|
gem 'activemodel', '5.2.3'
|
|
gem 'activerecord', '5.2.3'
|
|
gem 'activesupport', '5.2.3'
|
|
gem 'railties', '5.2.3'
|
|
gem 'sprockets-rails'
|
|
end
|
|
|
|
gem 'seed-fu'
|
|
|
|
gem 'mail', require: false
|
|
gem 'mini_mime'
|
|
gem 'mini_suffix'
|
|
|
|
gem 'hiredis'
|
|
|
|
# holding off redis upgrade temporarily as it is having issues with our current
|
|
# freedom patch, we will follow this up.
|
|
#
|
|
# FrozenError: can't modify frozen Hash
|
|
# /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/redis-4.1.0/lib/redis/client.rb:93:in `delete'
|
|
# /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/redis-4.1.0/lib/redis/client.rb:93:in `initialize'
|
|
# /var/www/discourse/lib/freedom_patches/redis.rb:7:in `initialize'
|
|
gem 'redis', '4.0.1', require: ["redis", "redis/connection/hiredis"]
|
|
gem 'redis-namespace'
|
|
|
|
gem 'active_model_serializers', '~> 0.8.3'
|
|
|
|
gem 'onebox', '1.9.6'
|
|
|
|
gem 'http_accept_language', '~>2.0.5', require: false
|
|
|
|
gem 'ember-rails', '0.18.5'
|
|
gem 'discourse-ember-source', '~> 3.10.0'
|
|
gem 'ember-handlebars-template', '0.8.0'
|
|
gem 'barber'
|
|
|
|
gem 'message_bus'
|
|
|
|
gem 'rails_multisite'
|
|
|
|
gem 'fast_xs', platform: :mri
|
|
|
|
# may move to xorcist post: https://github.com/fny/xorcist/issues/4
|
|
gem 'fast_xor', platform: :mri
|
|
|
|
gem 'fastimage'
|
|
|
|
gem 'aws-sdk-s3', require: false
|
|
gem 'aws-sdk-sns', require: false
|
|
gem 'excon', require: false
|
|
gem 'unf', require: false
|
|
|
|
gem 'email_reply_trimmer', '~> 0.1'
|
|
|
|
# Forked until https://github.com/toy/image_optim/pull/162 is merged
|
|
gem 'discourse_image_optim', require: 'image_optim'
|
|
gem 'multi_json'
|
|
gem 'mustache'
|
|
gem 'nokogiri'
|
|
gem 'css_parser', require: false
|
|
|
|
gem 'omniauth'
|
|
gem 'omniauth-openid'
|
|
gem 'openid-redis-store'
|
|
gem 'omniauth-facebook'
|
|
gem 'omniauth-twitter'
|
|
gem 'omniauth-instagram'
|
|
gem 'omniauth-github'
|
|
|
|
gem 'omniauth-oauth2', require: false
|
|
|
|
gem 'omniauth-google-oauth2'
|
|
|
|
gem 'oj'
|
|
gem 'pg'
|
|
gem 'mini_sql'
|
|
gem 'pry-rails', require: false
|
|
gem 'r2', '~> 0.2.5', require: false
|
|
gem 'rake'
|
|
|
|
gem 'thor', require: false
|
|
gem 'diffy', require: false
|
|
gem 'rinku'
|
|
gem 'sanitize'
|
|
gem 'sidekiq'
|
|
gem 'mini_scheduler'
|
|
|
|
# for sidekiq web
|
|
gem 'tilt', require: false
|
|
|
|
gem 'execjs', require: false
|
|
gem 'mini_racer'
|
|
gem 'highline', '~> 1.7.0', require: false
|
|
gem 'rack-protection' # security
|
|
|
|
# Gems used only for assets and not required in production environments by default.
|
|
# Allow everywhere for now cause we are allowing asset debugging in production
|
|
group :assets do
|
|
gem 'uglifier'
|
|
gem 'rtlit', require: false # for css rtling
|
|
end
|
|
|
|
group :test do
|
|
gem 'webmock', require: false
|
|
gem 'fakeweb', '~> 1.3.0', require: false
|
|
gem 'minitest', require: false
|
|
gem 'simplecov', require: false
|
|
gem "test-prof"
|
|
end
|
|
|
|
group :test, :development do
|
|
gem 'rspec'
|
|
gem 'mock_redis'
|
|
gem 'listen', require: false
|
|
gem 'certified', require: false
|
|
# later appears to break Fabricate(:topic, category: category)
|
|
gem 'fabrication', require: false
|
|
gem 'mocha', require: false
|
|
gem 'rb-fsevent', require: RUBY_PLATFORM =~ /darwin/i ? 'rb-fsevent' : false
|
|
gem 'rb-inotify', '~> 0.9', require: RUBY_PLATFORM =~ /linux/i ? 'rb-inotify' : false
|
|
gem 'rspec-rails', require: false
|
|
gem 'shoulda-matchers', '~> 3.1', '>= 3.1.3', require: false
|
|
gem 'rspec-html-matchers'
|
|
gem 'pry-nav'
|
|
gem 'byebug', require: ENV['RM_INFO'].nil?
|
|
gem 'rubocop', require: false
|
|
gem 'parallel_tests'
|
|
end
|
|
|
|
group :development do
|
|
gem 'ruby-prof', require: false
|
|
gem 'bullet', require: !!ENV['BULLET']
|
|
gem 'better_errors'
|
|
gem 'binding_of_caller'
|
|
gem 'yaml-lint'
|
|
|
|
# waiting on 2.7.5 per: https://github.com/ctran/annotate_models/pull/595
|
|
if rails_master?
|
|
gem 'annotate', git: 'https://github.com/ctran/annotate_models.git'
|
|
else
|
|
gem 'annotate'
|
|
end
|
|
end
|
|
|
|
# this is an optional gem, it provides a high performance replacement
|
|
# to String#blank? a method that is called quite frequently in current
|
|
# ActiveRecord, this may change in the future
|
|
gem 'fast_blank', platform: :mri
|
|
|
|
# this provides a very efficient lru cache
|
|
gem 'lru_redux'
|
|
|
|
gem 'htmlentities', require: false
|
|
|
|
# IMPORTANT: mini profiler monkey patches, so it better be required last
|
|
# If you want to amend mini profiler to do the monkey patches in the railties
|
|
# we are open to it. by deferring require to the initializer we can configure discourse installs without it
|
|
|
|
gem 'flamegraph', require: false
|
|
gem 'rack-mini-profiler', require: false
|
|
|
|
gem 'unicorn', require: false, platform: :mri
|
|
gem 'puma', require: false
|
|
gem 'rbtrace', require: false, platform: :mri
|
|
gem 'gc_tracer', require: false, platform: :mri
|
|
|
|
# required for feed importing and embedding
|
|
gem 'ruby-readability', require: false
|
|
|
|
gem 'stackprof', require: false, platform: :mri
|
|
gem 'memory_profiler', require: false, platform: :mri
|
|
|
|
gem 'cppjieba_rb', require: false
|
|
|
|
gem 'lograge', require: false
|
|
gem 'logstash-event', require: false
|
|
gem 'logstash-logger', require: false
|
|
gem 'logster'
|
|
|
|
gem 'sassc', require: false
|
|
gem "sassc-rails"
|
|
|
|
gem 'rotp'
|
|
gem 'rqrcode'
|
|
|
|
gem 'rubyzip', require: false
|
|
|
|
gem 'sshkey', require: false
|
|
|
|
gem 'rchardet', require: false
|
|
|
|
if ENV["IMPORT"] == "1"
|
|
gem 'mysql2'
|
|
gem 'redcarpet'
|
|
gem 'sqlite3', '~> 1.3', '>= 1.3.13'
|
|
gem 'ruby-bbcode-to-md', git: 'https://github.com/nlalonde/ruby-bbcode-to-md'
|
|
gem 'reverse_markdown'
|
|
gem 'tiny_tds'
|
|
gem 'csv', '~> 3.0'
|
|
end
|
|
|
|
gem 'webpush', require: false
|
|
gem 'colored2', require: false
|
|
gem 'maxminddb'
|