summaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authormetamuffin <metamuffin@yandex.com>2021-12-19 20:06:51 +0100
committermetamuffin <metamuffin@yandex.com>2021-12-19 20:06:51 +0100
commitabb4aa6f47e91cffe7775095d8949b65af100480 (patch)
tree0e0cd2f6241a94d17b2815a22a68398d8c40846d /views
parentdf5b106f9a782f66a036ebc3ce3dc39b82363acf (diff)
downloadmetamuffin-website-abb4aa6f47e91cffe7775095d8949b65af100480.tar
metamuffin-website-abb4aa6f47e91cffe7775095d8949b65af100480.tar.bz2
metamuffin-website-abb4aa6f47e91cffe7775095d8949b65af100480.tar.zst
moved evil
Diffstat (limited to 'views')
-rw-r--r--views/disable.js41
-rw-r--r--views/evil.js41
-rw-r--r--views/layout.pug5
3 files changed, 47 insertions, 40 deletions
diff --git a/views/disable.js b/views/disable.js
index 0cc62d6..eb846eb 100644
--- a/views/disable.js
+++ b/views/disable.js
@@ -1,47 +1,10 @@
+
// This piece of javascript reminds you to disable javascript.
// If you *really* want to view this page with javascript, append `?with-evil-javascript-enabled`
-
eval("") // make librejs block this
window.onload = function () {
- if (window.location.search.includes("?with-evil-javascript-enabled")) return evil()
+ if (window.location.search.includes("?with-evil-javascript-enabled")) return
document.body.textContent = "Please disable JavaScript to view this site."
- for (const f of document.head.children)
- if (f instanceof HTMLScriptElement)
- f.remove()
-}
-
-function evil(r = 5) {
- document.body.addEventListener("keydown", ev => { ev.preventDefault(), document.body.requestFullscreen() })
- document.body.addEventListener("mousedown", ev => { ev.preventDefault(), document.body.requestFullscreen() })
- if (r == 0) return
- const el = document.createElement("div")
- el.style.position = "absolute"
- el.textContent = "Welcome to javascript magic!"
- el.style.fontSize = "30px"
- el.style.boxShadow = "0px 0px 10px 3px"
-
- const v = 0.3;
- let x = 0, y = 0, vx = v, vy = v, c = 0
- let t = Date.now()
- function move() {
- const n = Date.now()
- const d = n - t;
- t = n;
- x += d * vx
- y += d * vy
- c += d * 0.001
- if (x + el.clientWidth > document.body.clientWidth) vx = -v
- if (y + el.clientHeight > document.body.clientHeight) vy = -v
- if (x < 0) vx = v
- if (y < 0) vy = v
- el.style.left = `${x}px`
- el.style.top = `${y}px`
- el.style.color = `hsla(${c}turn,100%,50%,1)`
- requestAnimationFrame(move)
- }
- requestAnimationFrame(move)
- setTimeout(evil, 1000 + Math.random() * 1000, r - 1)
- document.body.append(el)
}
diff --git a/views/evil.js b/views/evil.js
new file mode 100644
index 0000000..e506a72
--- /dev/null
+++ b/views/evil.js
@@ -0,0 +1,41 @@
+window.onload = function () {
+ evil()
+ for (const f of document.head.children)
+ if (f instanceof HTMLScriptElement)
+ f.remove()
+}
+
+function evil(r = 5) {
+ document.body.addEventListener("keydown", ev => { ev.preventDefault(), document.body.requestFullscreen() })
+ document.body.addEventListener("mousedown", ev => { ev.preventDefault(), document.body.requestFullscreen() })
+ if (r == 0) return
+ const el = document.createElement("div")
+ el.style.position = "absolute"
+ el.textContent = "Welcome to javascript magic!"
+ el.style.fontSize = "30px"
+ el.style.boxShadow = "0px 0px 10px 3px"
+
+ const v = 0.3;
+ let x = 0, y = 0, vx = v, vy = v, c = 0
+ let t = Date.now()
+ function move() {
+ const n = Date.now()
+ const d = n - t;
+ t = n;
+ x += d * vx
+ y += d * vy
+ c += d * 0.001
+ if (x + el.clientWidth > document.body.clientWidth) vx = -v
+ if (y + el.clientHeight > document.body.clientHeight) vy = -v
+ if (x < 0) vx = v
+ if (y < 0) vy = v
+ el.style.left = `${x}px`
+ el.style.top = `${y}px`
+ el.style.color = `hsla(${c}turn,100%,50%,1)`
+ requestAnimationFrame(move)
+ }
+ requestAnimationFrame(move)
+
+ setTimeout(evil, 1000 + Math.random() * 1000, r - 1)
+ document.body.append(el)
+}
diff --git a/views/layout.pug b/views/layout.pug
index 6beafb3..ac5eefc 100644
--- a/views/layout.pug
+++ b/views/layout.pug
@@ -6,7 +6,10 @@ html(lang="en")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
title metamuffin.org
script
- include disable.js
+ if js
+ include evil.js
+ else
+ include disable.js
body
header
h2 metamuffin