Class: Jekyll::AttendeasePlugin::AnalyticsFacebookPixelTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/jekyll/attendease_plugin/tags.rb

Instance Method Summary collapse

Instance Method Details

#render(context) ⇒ Object



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/jekyll/attendease_plugin/tags.rb', line 343

def render(context)
  site_settings = context.registers[:site].data['site_settings'].clone
  analytics = site_settings['analytics']

  return '' if analytics.nil? \
    || analytics['facebookPixelId'].nil? \
    || analytics['facebookPixelId'].empty?
  script = <<_EOT
<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', '#{analytics['facebookPixelId']}');
  fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
  src="https://www.facebook.com/tr?id=#{analytics['facebookPixelId']}&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
_EOT
  script
end