simple-ampify
Version:
A simple plain HTML to AMP converter for personal use
3 lines (2 loc) • 3.2 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Ampify=e()}(this,function(){return function(t,e){t=t.replace(/<html/gi,"<html ⚡");var a,i,n,s="",r=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/<style[^>]*data-vue-ssr[^>]*>(.*?)?<\/style>/gi,function(t,e){return s+=e,""})).replace(/<style\>(.*?)?<\/style>/gi,function(t,e){return s=e+s,""})).replace(/<link[^>]*rel="(?:preload|prefetch)?"[^>]*>/gi,"")).replace(/<link[^>]*rel="(?:amphtml)?"[^>]*>/gi,"")).replace(/<img([^>]*)>/gi,function(t,e){return"<amp-img "+e+" layout=responsive></amp-img>"})).replace(/\s*data-(v|n)-(?:[^=>]*="[^"]*"|[^=>\s]*)/gi,"")).replace(/javascript:void\(0\)/gi,"#")).replace(/<div[^>]*name=(?:[^=>]*="[^"]*"|[^=>\s]*)/gi,function(t){return t.replace(/name/gi,"data-name")})).replace(/<a[^>]*source="[a-z|-]*"/gi,function(t){return t.replace(/source=/gi,"data-source=")})).replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,function(t){return/application\/ld\+json/gi.test(t)?t:""})).includes("amp-accordion");return t=(t=t.replace("</head>",(a=Boolean(e&&e.analytics),i=Boolean(e&&e.adsense),n='<script async src="https://cdn.ampproject.org/v0.js"><\/script>',a&&(n+='<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"><\/script>'),i&&(n+='<script async custom-element="amp-auto-ads" src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"><\/script>'),r&&(n+='<script async custom-element="amp-accordion" src="https://cdn.ampproject.org/v0/amp-accordion-0.1.js"><\/script>'),n+"</head>"))).replace("</head>","\n\t<style amp-custom>\n\t\t"+s.replace(/\[data-v-[a-z|\d|\s]*]/gi,"").replace(/!important/gi,"")+"\n\t</style>\n\n\t<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}} -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>\n\n\t</head>"),e&&e.analytics&&e.analytics.id&&(t=t.replace("</body>",'\n\t\t\t<amp-analytics type=\'googleanalytics\'>\n\t\t\t<script type=\'application/json\'>\n\t\t\t\t{\n\t\t\t\t\t"vars": {\n\t\t\t\t\t\t"account": "'+e.analytics.id+'"\n\t\t\t\t\t},\n\t\t\t\t\t"triggers": {\n\t\t\t\t\t\t"trackPageview": {\n\t\t\t\t\t\t\t"on": "visible",\n\t\t\t\t\t\t\t"request": "pageview"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t<\/script>\n\t\t</amp-analytics>\n\t</body>')),e&&e.adsense&&e.adsense.id&&(t=t.replace("</body>",'\n\t\t\t<amp-auto-ads type="adsense" data-ad-client="'+e.adsense.id+'"></amp-auto-ads>\n\t</body>')),t}});
//# sourceMappingURL=ampify.umd.js.map