aboutsummaryrefslogtreecommitdiff
path: root/haunt/pages
diff options
context:
space:
mode:
authorJakob L. Kreuze2024-07-13 18:04:05 -0400
committerJakob L. Kreuze2024-07-13 18:11:42 -0400
commit81c4d517735983a5afd6e9dc800257c761598527 (patch)
tree6b924707914d385126e6d330d2c628fd26f23a27 /haunt/pages
parent7f37518e4792f040a753a5d8d68d51e76cc0b2be (diff)
The `org' directory is no longer necessary
Diffstat (limited to 'haunt/pages')
-rw-r--r--haunt/pages/about-complete.sxml32
-rw-r--r--haunt/pages/about.sxml60
-rw-r--r--haunt/pages/changelog.sxml32
-rw-r--r--haunt/pages/status-400.sxml76
-rw-r--r--haunt/pages/status-403.sxml68
-rw-r--r--haunt/pages/status-404.sxml76
-rw-r--r--haunt/pages/status-429.sxml46
-rw-r--r--haunt/pages/status-500.sxml50
-rw-r--r--haunt/pages/weblabels.sxml67
9 files changed, 0 insertions, 507 deletions
diff --git a/haunt/pages/about-complete.sxml b/haunt/pages/about-complete.sxml
deleted file mode 100644
index f6cd8e2..0000000
--- a/haunt/pages/about-complete.sxml
+++ /dev/null
@@ -1,32 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (ice-9 match)
- (ice-9 rdelim)
- (jakob theme)
- (jakob utils sxml)
- (sxml simple))
-
-`((title . "About me")
- (content
- . ,(call-with-input-file "pages/about-complete.html"
- (lambda (port)
- (read-line port)
- `(div (@ (data-pagefind-body #t))
- ,@(cdr (rewrite-absolute-urls-as-relative
- (xml->sxml port))))))))
diff --git a/haunt/pages/about.sxml b/haunt/pages/about.sxml
deleted file mode 100644
index e5e8592..0000000
--- a/haunt/pages/about.sxml
+++ /dev/null
@@ -1,60 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml)
- (srfi srfi-1)
- (srfi srfi-19))
-
-`((title . "About")
- (content
- . ((ul (@ (class "horizontal-list"))
- (li "Email: " (strong "zerodaysfordays at ‌​‌‌‌​‌‌‍‌​‌‌​​​​‍‌​‌‌​​​‌‍‌‌​‌‌​​​‍‌​‌​‌​‌‌‍‌‌​‌‌‌‌‌‍‌​‌‌‌​​‌‍‌​‌​‌​‌​‍‌​‌‌‌‌​​‍‌​‌‌​‌​​‍‌​‌‌​‌‌​‍‌​‌‌​​​‌‍‌​‌‌‌​​​‍‌‌​‌‌‌‌‌‍‌​‌​‌‌​​‍‌​‌​‌‌‌‌‍‌​‌‌‌‌‌​‍‌​‌‌​​‌​‍‌‌​‌‌‌‌‌‍‌​‌‌​​‌​‍‌​‌‌‌​‌​sdf.org"))
- (li "XMPP¹: " (strong "jakob at ‌​‌‌‌​‌‌‍‌​‌‌​​​​‍‌​‌‌​​​‌‍‌‌​‌‌​​​‍‌​‌​‌​‌‌‍‌‌​‌‌‌‌‌‍‌​‌‌‌​​‌‍‌​‌​‌​‌​‍‌​‌‌‌‌​​‍‌​‌‌​‌​​‍‌​‌‌​‌‌​‍‌​‌‌​​​‌‍‌​‌‌‌​​​‍‌‌​‌‌‌‌‌‍‌​‌​‌‌​​‍‌​‌​‌‌‌‌‍‌​‌‌‌‌‌​‍‌​‌‌​​‌​‍‌‌​‌‌‌‌‌‍‌​‌‌​​‌​‍‌​‌‌‌​‌​xmpp.is"))
- (li "IRC: " (strong "tsarfox on irc.libera.chat.")))
- (ul (@ (class "horizontal-list"))
- (li "GPG: " ,(hyperlink "/static/gpg.txt" "6581 A4FC 404F 6434 AEA3 008C 45ED 4DC3 05BA DA33")))
- (ul (@ (class "horizontal-list"))
- (li ,(hyperlink "https://git.sr.ht/~jakob" "git"))
- (li ,(hyperlink "https://social.jakob.space/jakob" "fedi"))
- (li ,(hyperlink "https://en.wikipedia.org/wiki/User:ZeroDaysForDays" "wiki"))
- (li ,(hyperlink "https://lobste.rs/u/jakob" "lobste.rs")))
- (main (@ (class "overline"))
- (div (@ (class "portrait"))
- ,(image "portrait.png" "A portrait of myself, done by @scolastiko on Twitter."))
- (p "My name's Jakob, and I'm a self-taught "
- ,(hyperlink "https://www.gnu.org/philosophy/free-sw.html" "free software")
- ,(hyperlink "https://en.wikipedia.org/wiki/Hacker_culture#Definition" " hacker")
- ". I'm into computer security, software verification, functional programming, and lifting
-weights.")
- (p "That's the short version. I have a longer biography available " ,(hyperlink "/pages/about-complete.html" "here") ".")
- (p "If you've sent an email to an address of mine
-ending in 'sdf.lonestar.org' between January 2nd, 2020 and now, I have not
-received it. SDF has discontinued mail service on that domain. Accordingly, "
- ,(hyperlink "https://paste.sr.ht/%7Ejakob/18c048600c26d125d6d743e6d5b44db852573242" "I have a new PGP key."))
- (p "To the best of my knowledge, access to this website is not being blocked by any
-foreign government. Should this change, I maintain mirrors on "
- ,(hyperlink "http://jakobyallfrbd3herebyee7hug3hxs2ma6aflmmllk35d7dyiwp3adid.onion/" "Tor")
- " and "
- ,(hyperlink "http://mtgqjdrqqpovyhx7tortulrnvakbptsi3w5yintmo6lqapdd3hnq.b32.i2p" "i2p")
- ".")
- (p "1: I'll just ask that you reach out to me through other channels before
-sending me an invitation on Jabber. My address ended up on the XSender list, so I
-have a script to block messages from anyone not on my roster.")))))
-
-
diff --git a/haunt/pages/changelog.sxml b/haunt/pages/changelog.sxml
deleted file mode 100644
index 0fe5341..0000000
--- a/haunt/pages/changelog.sxml
+++ /dev/null
@@ -1,32 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (ice-9 match)
- (ice-9 rdelim)
- (jakob theme)
- (jakob utils sxml)
- (sxml simple))
-
-`((title . "Changelog")
- (content
- . ,(call-with-input-file "pages/changelog.html"
- (lambda (port)
- (read-line port)
- `(div (@ (data-pagefind-body #t))
- ,@(cdr (rewrite-absolute-urls-as-relative
- (xml->sxml port))))))))
diff --git a/haunt/pages/status-400.sxml b/haunt/pages/status-400.sxml
deleted file mode 100644
index 0bbf2b7..0000000
--- a/haunt/pages/status-400.sxml
+++ /dev/null
@@ -1,76 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "Bad Request")
- (content
- . ((p "Server responded with a status of 400: Bad Request.")
- (hr)
- (p "Status code 400, that's what you sent"
- (br)
- "Bad request, it looks like you didn't read"
- (br)
- "The instructions on how to send a request"
- (br)
- "What's up, HTTP? Why you trippin'?"
- (br)
- "You should know better than to send a 400"
- (br)
- "Bad request, that's not even a real request"
- (br)
- "It's like trying to buy a plane with a check"
- (br)
- "What the hell is wrong with you, HTTP?"
- (br)
- "I sent you an HTML file, just like I said"
- (br)
- "But instead of responding with a 200, you gave me 400"
- (br)
- "Bad request, that's not even close to being cool"
- (br)
- "It's like trying to play a game with a console that's not hooked up"
- (br)
- "What the hell is wrong with you, HTTP?"
- (br)
- "You know how important this is, right?"
- (br)
- "I need information, and you're the only one who can give it to me"
- (br)
- "But instead of responding with what I need, you're just being stubborn"
- (br)
- "Bad request, that's not going to work"
- (br)
- "It's like trying to buy a shirt without any money"
- (br)
- "What the hell is wrong with you, HTTP?"
- (br)
- "I hope you know that you're messing with the boss"
- (br)
- "Status code 400, that's what you got"
- (br)
- "Bad request, it looks like you're going to lose"
- (br)
- "Yo, listen up, I got a message for you"
- (br)
- "Status code 400, that's what you sent"
- (br)
- "Bad request, it looks like you didn't read"
- (br)
- "The instructions on how to send a request."))))
diff --git a/haunt/pages/status-403.sxml b/haunt/pages/status-403.sxml
deleted file mode 100644
index 47db444..0000000
--- a/haunt/pages/status-403.sxml
+++ /dev/null
@@ -1,68 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "Forbidden")
- (content
- . ((p "Server responded with a status of 403: Forbidden.")
- (hr)
- (p "Yo, listen up, I got some news for you"
- (br)
- "About this 403 error message, it's all over the place"
- (br)
- "It means that your request has been denied"
- (br)
- "And you can't access the page anymore"
- (br)
- "It's like a red light, telling you to stop"
- (br)
- "But you keep on going, and that's not good"
- (br)
- "You're getting a 403, it's forbidden"
- (br)
- "No access allowed, it's plain and simple"
- (br)
- "Don't even try to argue with me"
- (br)
- "I'm the HTTP status code, and I know what I'm talking about"
- (br)
- "You can't just keep on hitting refresh"
- (br)
- "Thinking that you'll get a different result"
- (br)
- "It's time to face the facts, and accept your fate"
- (br)
- "403 means forbidden, it's not a joke"
- (br)
- "So why don't you take my advice"
- (br)
- "And find another route, or change your tactics"
- (br)
- "Don't keep on pushing, you'll end up in frustration"
- (br)
- "Just like the person who keeps on trying to get into the restricted area"
- (br)
- "But let me remind you, it's not a game"
- (br)
- "This 403 error message is not just some minor pain"
- (br)
- "It means that you're not supposed to be there"
- (br)
- "So why don't you just go away?"))))
diff --git a/haunt/pages/status-404.sxml b/haunt/pages/status-404.sxml
deleted file mode 100644
index 244bde2..0000000
--- a/haunt/pages/status-404.sxml
+++ /dev/null
@@ -1,76 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "Page Not Found")
- (content
- . ((p "Server responded with a status of 404: Not Found.")
- (p "Whatever you're looking for, it's not here... anymore, at least.")
- (p "That could be due to link rot. Perhaps the "
- ,(hyperlink "https://web.archive.org/" "Wayback Machine")
- " has it?")
- (hr)
- (p "Yo, listen up, I got a new one"
- (br)
- "Status code 404, that's what it means"
- (br)
- "When a website can't find what you're looking for"
- (br)
- "It's like a missed connection, a lost opportunity"
- (br)
- "But don't worry, it's not the end of the world"
- (br)
- "Just hit refresh and try again, maybe it'll turn up"
- (br)
- "Or you could always ask the website administrator"
- (br)
- "Maybe they'll have some insights on where to find what you need"
- (br)
- "Either way, 404 ain't no joke"
- (br)
- "It's a warning sign that something's off"
- (br)
- "But hey, it's not the end of the world"
- (br)
- "Just keep searching, and don't give up the fight"
- (br)
- "Yo, listen up, I got a new one"
- (br)
- "Status code 404, that's what it means"
- (br)
- "When a website can't find what you're looking for"
- (br)
- "It's like a missed connection, a lost opportunity"
- (br)
- "But don't worry, it's not the end of the world"
- (br)
- "Just hit refresh and try again, maybe it'll turn up"
- (br)
- "Or you could always ask the website administrator"
- (br)
- "Maybe they'll have some insights on where to find what you need"
- (br)
- "Either way, 404 ain't no joke"
- (br)
- "It's a warning sign that something's off"
- (br)
- "But hey, it's not the end of the world"
- (br)
- "Just keep searching, and don't give up the fight."))))
diff --git a/haunt/pages/status-429.sxml b/haunt/pages/status-429.sxml
deleted file mode 100644
index 6503bec..0000000
--- a/haunt/pages/status-429.sxml
+++ /dev/null
@@ -1,46 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "Too Many Requests")
- (content
- . ((p "Server responded with a status of 429: Too Many Requests.")
- (hr)
- (p "Yo, listen up, I got a message for you"
- (br)
- "About this HTTP status code, you should know"
- (br)
- "It's 429, that's right, Too Many Requests"
- (br)
- "You're making too many requests, and it's causing errors"
- (br)
- "Your website's performance is suffering, and it's time to fix it"
- (br)
- "So reduce the number of requests, and your users will be happy"
- (br)
- "They'll thank you for improving their browsing experience"
- (br)
- "And hey, while we're on the topic, don't forget about caching"
- (br)
- "It can help reduce the number of requests, and speed up your site"
- (br)
- "So implement it, and your visitors will love you"
- (br)
- "For making your website faster, and more responsive too"))))
diff --git a/haunt/pages/status-500.sxml b/haunt/pages/status-500.sxml
deleted file mode 100644
index 62f2305..0000000
--- a/haunt/pages/status-500.sxml
+++ /dev/null
@@ -1,50 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2023 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "Internal Server Error")
- (content
- . ((p "Server responded with a status of 500: Internal Server Error.")
- (hr)
- (p "Yo, listen up, I got a problem with my server"
- (br)
- "It's giving me an error, won't let me serve no more"
- (br)
- "I think it's 'cause I'm overloaded, too many requests"
- (br)
- "But I tried to fix it, I even upgraded my plans"
- (br)
- "Still not working, it's like a curse"
- (br)
- "I'm sorry for the inconvenience, but I'm trying my best"
- (br)
- "To get this fixed, I'll keep on messing with the code"
- (br)
- "Until it works properly, I won't give up the fight"
- (br)
- "500 error, it's an internal server mistake"
- (br)
- "I know it's frustrating, but please be patient, it's not my fault"
- (br)
- "I'm working on it, I promise you that much"
- (br)
- "So just keep on hitting that refresh button, and soon enough"
- (br)
- "My server will be back to its old self"))))
diff --git a/haunt/pages/weblabels.sxml b/haunt/pages/weblabels.sxml
deleted file mode 100644
index 9c2c4fc..0000000
--- a/haunt/pages/weblabels.sxml
+++ /dev/null
@@ -1,67 +0,0 @@
-;;; -*- scheme -*-
-
-;;; Copyright © 2019 - 2020 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program is free software; you can redistribute it and/or
-;;; modify it under the terms of the GNU General Public License as
-;;; published by the Free Software Foundation; either version 3 of the
-;;; License, or (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;;; General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(use-modules (jakob theme)
- (jakob utils sxml))
-
-`((title . "JavaScript Web Labels")
- (content
- . ((h2 "JavaScript Web Labels")
- (table (@ (id "jslicense-labels1"))
- (tr (td ,(hyperlink "/static/js/dynamic-comment-form.js"
- `(p "/static/js/dynamic-comment-form.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/dynamic-comment-form.js"
- `(p "/static/js/dynamic-comment-form.js"))))
- (tr (td ,(hyperlink "/static/js/proof-of-work.js"
- `(p "/static/js/proof-of-work.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/proof-of-work.js"
- `(p "/static/js/proof-of-work.js"))))
- (tr (td ,(hyperlink "/static/js/webmention.js"
- `(p "/static/js/webmention.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/webmention.js"
- `(p "/static/js/webmention.js"))))
- (tr (td ,(hyperlink "/static/js/comment-reactions.js"
- `(p "/static/js/comment-reactions.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/comment-reactions.js"
- `(p "/static/js/comment-reactions.js"))))
- (tr (td ,(hyperlink "/static/js/section-folds.js"
- `(p "/static/js/section-folds.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/section-folds.js"
- `(p "/static/js/section-folds.js"))))
- (tr (td ,(hyperlink "/static/js/rsvp.js"
- `(p "/static/js/rsvp.js")))
- (td ,(hyperlink "http://www.gnu.org/licenses/gpl-3.0.html"
- `(p "GNU General Public License 3.0 or later")))
- (td ,(hyperlink "/static/js/rsvp.js"
- `(p "/static/js/rsvp.js"))))
- (tr (td ,(hyperlink "/static/js/oneko.js"
- `(p "/static/js/oneko.js")))
- (td ,(hyperlink "http://www.jclark.com/xml/copying.txt"
- `(p "Expat License")))
- (td ,(hyperlink "/static/js/oneko.js"
- `(p "/static/js/oneko.js"))))))))

© 2015 - 2026 Jakob L. Kreuze