https://nishijima-suguru.github.io/assets/js/publication-metrics.js?f5d220205aa90f38a4146651eaf0b185
1!function(){"use strict";function e(e){return e?String(e).trim().toLowerCase().replace(/^https?:\/\/(dx\.)?doi\.org\//,""):""}function t(e,t){for(var n=[],o=0;o<e.length;o+=t)n.push(e.slice(o,o+t));return n}function n(e,t,n){var o=document.createElement(e);return t&&(o.className=t),null!=n&&(o.textContent=n),o}function o(e){var t=l+"?filter=doi:"+e.map(encodeURIComponent).join("|")+"&per-page="+e.length+"&select="+u+(a.mailto?"&mailto="+encodeURIComponent(a.mailto):"");return fetch(t,{headers:{Accept:"application/json"}}).then((function(e){if(!e.ok)throw new Error("OpenAlex responded "+e.status);return e.json()}))}function r(e,t){var o=n("span","metric");return t&&(o.title=t),o.appendChild(n("span","metric-label",e)),o}function i(e,t){var n=document.createDocumentFragment(),o=t.citation_normalized_percentile;if(o&&"number"==typeof o.value&&o.value>=p){var i=Math.max(1,Math.round(100*(1-o.value))),a=r((c.top_pct||"Top %{n}%").replace("%{n}",i),c.percentile_title||"");a.classList.add("metric-highlight"),n.appendChild(a)}n.childNodes.length&&(e.appendChild(n),e.classList.add("is-loaded"))}var a=window.__pubMetrics||{},c=a.strings||{},l="https://api.openalex.org/works",s=40,u=["doi","citation_normalized_percentile"].join(","),p=.9,d=Array.prototype.slice.call(document.querySelectorAll("[data-metrics-for]"));if(d.length){var h=[],f={};d.forEach((function(t){var n=e(t.getAttribute("data-metrics-for"));n&&(f[n]||(f[n]=[],h.push(n)),f[n].push(t))})),h.length&&Promise.all(t(h,s).map(o)).then((function(t){t.forEach((function(t){(t.results||[]).forEach((function(t){var n=e(t.doi);(f[n]||[]).forEach((function(e){i(e,t)}))}))}))})).catch((function(){window.console&&console.warn}))}}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.