Class: Inkcite::Renderer::InBrowser
- Defined in:
- lib/inkcite/renderer/in_browser.rb
Constant Summary
Constants inherited from Base
Base::BACKGROUND_COLOR, Base::BACKGROUND_GRADIENT, Base::BACKGROUND_IMAGE, Base::BACKGROUND_POSITION, Base::BACKGROUND_REPEAT, Base::BACKGROUND_SIZE, Base::BORDER_BOTTOM, Base::BORDER_COLLAPSE, Base::BORDER_LEFT, Base::BORDER_RADIUS, Base::BORDER_RIGHT, Base::BORDER_SPACING, Base::BORDER_TOP, Base::BOX_SHADOW, Base::DIMENSIONS, Base::DIRECTIONS, Base::FONT_FAMILY, Base::FONT_SIZE, Base::FONT_WEIGHT, Base::LETTER_SPACING, Base::LINE_HEIGHT, Base::LINK_COLOR, Base::MARGIN, Base::MARGIN_BOTTOM, Base::MARGIN_LEFT, Base::MARGIN_RIGHT, Base::MARGIN_TOP, Base::MAX_WIDTH, Base::NONE, Base::PADDING_X, Base::PADDING_Y, Base::POUND_SIGN, Base::TEXT_ALIGN, Base::TEXT_DECORATION, Base::TEXT_SHADOW, Base::TEXT_SHADOW_BLUR, Base::TEXT_SHADOW_OFFSET, Base::VERTICAL_ALIGN, Base::WEBKIT_ANIMATION, Base::WHITE_SPACE, Base::ZERO_WIDTH_NON_BREAKING_SPACE, Base::ZERO_WIDTH_SPACE
Instance Method Summary collapse
Instance Method Details
#render(tag, opt, ctx) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/inkcite/renderer/in_browser.rb', line 6 def render tag, opt, ctx # You can only view in-browser if we're viewing an email. return nil unless ctx.email? url = ctx[Inkcite::Email::VIEW_IN_BROWSER_URL] return nil if url.blank? browser_view = ctx.email.view(ctx.environment, :browser, ctx.version) # Make sure we're converting any embedded values in the host URL url = Renderer.render(url, browser_view) # Optional link override color. color = opt[:color] # Optional call-to-action override - otherwise defaults to view in browser. cta = opt[:cta] || ctx.production?? 'View in Browser' : 'Preview in Browser' id = opt[:id] || 'in-browser' html = "{a id=\"#{id}\" href=\"#{url}\"" html << " color=\"#{color}\"" unless color.blank? html << '}' html << cta html << '{/a}' html end |