aboutsummaryrefslogtreecommitdiff
path: root/content/sphoronix_benchmarks/phoronix_benchmarks.js
diff options
context:
space:
mode:
Diffstat (limited to 'content/sphoronix_benchmarks/phoronix_benchmarks.js')
-rw-r--r--content/sphoronix_benchmarks/phoronix_benchmarks.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/content/sphoronix_benchmarks/phoronix_benchmarks.js b/content/sphoronix_benchmarks/phoronix_benchmarks.js
new file mode 100644
index 0000000..264545f
--- /dev/null
+++ b/content/sphoronix_benchmarks/phoronix_benchmarks.js
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2021 Wojtek Kosior
+ *
+ * Available under the terms of Creative Commons Zero.
+ */
+
+/* Use with https://www.phoronix.com/*** */
+
+/*
+ * Phoronix normally includes scripts that call document.write() to inject
+ * <img> tags. The most obvious way o code a fix would then be do download and
+ * parse the contents of those scripts. CORS, however, doesn't allow this.
+ * Instead, we notice that the openbenchmarking embed script url is related to
+ * the actual image url we need, so we can create <img>'s from it straight away.
+ */
+for (const script of document.scripts) {
+ const match = /openbenchmarking.org\/+(embed.php\?.*)p=0$/.exec(script.src);
+ if (!match) continue;
+
+ const img = document.createElement("img");
+ img.src = `https://openbenchmarking.org/${match[1]}p=2`;
+ img.setAttribute("type", "image/svg+xml");
+ img.setAttribute("width", "100%");
+ img.setAttribute("height", "auto");
+
+ script.parentElement.insertBefore(img, script);
+}