head.ejs 5.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <head>
  2. <meta charset="utf-8">
  3. <title><% if (page.title){ %><%= page.title %> | <% } %><%= config.title %></title>
  4. <% var description, title, twitter_description, image %>
  5. <% if(page.canonical_path == 'index.html') { %>
  6. <% title = "James Peret Website" %>
  7. <% description = "Website of James Peret, a designer, programmer and filmmaker from São Paulo, Brazil." %>
  8. <% twitter_description = description %>
  9. <% } else if(page.canonical_path == 'projects/index.html') { %>
  10. <% title = "James Peret Portfolio" %>
  11. <% description = "Portfolio of James Peret. Checkout his games, videos and software." %>
  12. <% twitter_description = description %>
  13. <% } else if(page.canonical_path == 'blog/index.html') { %>
  14. <% title = "J1X Blog" %>
  15. <% description = "J1X Blog. Technical writings by James Peret." %>
  16. <% twitter_description = "Technical writings by James Peret." %>
  17. <% } else if(page.canonical_path == 'about/index.html') { %>
  18. <% title = "About James Peret." %>
  19. <% description = "Read more about James Peret." %>
  20. <% twitter_description = description %>
  21. <% } else if(page.layout == 'project') { %>
  22. <% title = page.title %>
  23. <% description = page.description %>
  24. <% twitter_description = description %>
  25. <% image = `http://jamesperet.com/projects/${page.folder}/${page.cover_image}` %>
  26. <% } else if(page.layout == 'post') { %>
  27. <% title = page.title %>
  28. <% description = page.excerpt %>
  29. <% twitter_description = description %>
  30. <% image = `http://jamesperet.com/blog/${page.slug}/${page.cover_image}` %>
  31. <% } %>
  32. <meta name="description" content="<%= description %>">
  33. <meta name="twitter:card" content="summary" />
  34. <meta name="twitter:title" content="<%= title %>" />
  35. <meta name="twitter:description" content="<%= description %>" />
  36. <% if(image != undefined) { %>
  37. <meta name="twitter:image" content="<%= image %>" />
  38. <meta property="og:image" content="https://example.com/image.png" />
  39. <% } %>
  40. <meta name="twitter:creator" content="@jamesperet" />
  41. <meta name="twitter:site" content="@jamesperet" />
  42. <meta property="og:title" content="<%= title %>" />
  43. <meta property="og:description" content="<%= description %>" />
  44. <meta property="og:url" content="http://jamesperet.com/<%= page.canonical_path %>" />
  45. <meta property="og:type" content="article" />
  46. <meta property="og:site_name" content="James Peret Website" />
  47. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  48. <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
  49. <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
  50. <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
  51. <link rel="icon" type="image/png" href="/favicon-128.png" sizes="128x128">
  52. <link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196">
  53. <%- css('css/style') %>
  54. <script type="text/javascript">(function(c,a){if(!a.__SV){var b=window;try{var d,m,j,k=b.location,f=k.hash;d=function(a,b){return(m=a.match(RegExp(b+"=([^&]*)")))?m[1]:null};f&&d(f,"state")&&(j=JSON.parse(decodeURIComponent(d(f,"state"))),"mpeditor"===j.action&&(b.sessionStorage.setItem("_mpcehash",f),history.replaceState(j.desiredHash||"",c.title,k.pathname+k.search)))}catch(n){}var l,h;window.mixpanel=a;a._i=[];a.init=function(b,d,g){function c(b,i){var a=i.split(".");2==a.length&&(b=b[a[0]],i=a[1]);b[i]=function(){b.push([i].concat(Array.prototype.slice.call(arguments,
  55. 0)))}}var e=a;"undefined"!==typeof g?e=a[g]=[]:g="mixpanel";e.people=e.people||[];e.toString=function(b){var a="mixpanel";"mixpanel"!==g&&(a+="."+g);b||(a+=" (stub)");return a};e.people.toString=function(){return e.toString(1)+".people (stub)"};l="disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split(" ");
  56. for(h=0;h<l.length;h++)c(e,l[h]);var f="set set_once union unset remove delete".split(" ");e.get_group=function(){function a(c){b[c]=function(){call2_args=arguments;call2=[c].concat(Array.prototype.slice.call(call2_args,0));e.push([d,call2])}}for(var b={},d=["get_group"].concat(Array.prototype.slice.call(arguments,0)),c=0;c<f.length;c++)a(f[c]);return b};a._i.push([b,d,g])};a.__SV=1.2;b=c.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?
  57. MIXPANEL_CUSTOM_LIB_URL:"file:"===c.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";d=c.getElementsByTagName("script")[0];d.parentNode.insertBefore(b,d)}})(document,window.mixpanel||[]);
  58. mixpanel.init("<%- config.mixpanel_token %>");</script>
  59. </head>