<% if (plugins.pagespeed) { %>
<%- meta.$ %> curl -<%= plugins.pagespeed.detailed ? "v" : "" %>I <%= plugins.pagespeed.url %>
<%# -%>
<%# -%> <% if (plugins.pagespeed.error) { -%> <%= plugins.pagespeed.error.message %><% } else { -%> User-Agent: Google PageSpeed API Location: <%= plugins.pagespeed.url %> <% for (const {score, title} of plugins.pagespeed.scores) { -%> <%= `X-${title.replace(/ /g, "-")}` %>: <%= !Number.isNaN(score) ? Math.round(score*100) : "-" %>% <% } -%> <% if (plugins.pagespeed.detailed) { for (const {name, score, suffix = "", threshold} of [ {name:"Time to interactive", score:plugins.pagespeed.metrics.interactive/1000, suffix:"s", threshold:[3.785, 7.3]}, {name:"Speed Index", score:plugins.pagespeed.metrics.speedIndex/1000, suffix:"s", threshold:[3.387, 5.8]}, {name:"Total Blocking Time", score:plugins.pagespeed.metrics.totalBlockingTime/1000, suffix:"s", threshold:[.287, .6]}, {name:"First Contentful Paint", score:plugins.pagespeed.metrics.firstContentfulPaint/1000, suffix:"s", threshold:[2.336, 4]}, {name:"Largest Contentful Paint", score:plugins.pagespeed.metrics.largestContentfulPaint/1000, suffix:"s", threshold:[2.5, 4]}, {name:"Cumulative Layout Shift", score:+plugins.pagespeed.metrics.cumulativeLayoutShift, threshold:[.1, .25]} ]) { -%> > <%= name %>: <%= !Number.isNaN(score) ? score : "-" %><%= suffix %> <% if (Number.isNaN(score)) { %><% } else if (score <= threshold[0]) { %>(ok +)<% } else if (score <= threshold[1]) { %>(ok)<% } else { %>(bad)<% } %> <% }}} -%>
<% } -%>