melonsoda 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.firebaserc +5 -0
- package/.github/workflows/build.yml +45 -0
- package/.github/workflows/links.yml +50 -0
- package/LICENCE +660 -0
- package/README.md +60 -0
- package/Web437_NEC_APC3_8x16.woff +0 -0
- package/build.py +131 -0
- package/darkmode.min.js +2 -0
- package/firebase.json +10 -0
- package/index.html +88 -0
- package/js/funstuff.js +77 -0
- package/js/games.js +159 -0
- package/js/home.js +80 -0
- package/js/links.js +17 -0
- package/js/main.js +64 -0
- package/js/official.js +119 -0
- package/js/unblockers.js +151 -0
- package/links.py +138 -0
- package/melon.png +0 -0
- package/offline/404.html +33 -0
- package/offline/index.html +898 -0
- package/offline/selfupdating (axios on cdn).html +75 -0
- package/offline/selfupdating-protected.html +301 -0
- package/offline/selfupdating.html +4487 -0
- package/package.json +20 -0
- package/requirements.txt +1 -0
- package/snowflake.css +51 -0
- package/star38.gif +0 -0
- package/style.css +70 -0
- package/urls.yaml +31 -0
- package/wrangler.jsonc +14 -0
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "melonsoda",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "unpkg publish of melonsoda (offline/selfupdating.html recommended)",
|
|
5
|
+
"main": "js/home.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/linuxfandudeguy/melonsoda.git"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [],
|
|
14
|
+
"author": "",
|
|
15
|
+
"license": "ISC",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/linuxfandudeguy/melonsoda/issues"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://durokotte.foo.ng/melonsoda"
|
|
20
|
+
}
|
package/requirements.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pyyaml>=6.0.3
|
package/snowflake.css
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* Snowflake fall animation */
|
|
2
|
+
@keyframes snowflakes-fall {
|
|
3
|
+
0% { top: -10%; }
|
|
4
|
+
100% { top: 100%; }
|
|
5
|
+
}
|
|
6
|
+
@keyframes snowflakes-shake {
|
|
7
|
+
0%,100% { transform: translateX(0); }
|
|
8
|
+
50% { transform: translateX(80px); }
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Webkit fallback */
|
|
12
|
+
@-webkit-keyframes snowflakes-fall { 0% { top: -10%; } 100% { top: 100%; } }
|
|
13
|
+
@-webkit-keyframes snowflakes-shake { 0%,100% {-webkit-transform:translateX(0);} 50% {-webkit-transform:translateX(80px);} }
|
|
14
|
+
|
|
15
|
+
.snowflake {
|
|
16
|
+
position: fixed;
|
|
17
|
+
top: -10%;
|
|
18
|
+
width: 60px; /* much bigger than favicon size */
|
|
19
|
+
height: auto; /* keeps aspect ratio */
|
|
20
|
+
z-index: 9999;
|
|
21
|
+
user-select: none;
|
|
22
|
+
-webkit-user-select: none;
|
|
23
|
+
-moz-user-select: none;
|
|
24
|
+
-ms-user-select: none;
|
|
25
|
+
animation-name: snowflakes-fall, snowflakes-shake;
|
|
26
|
+
animation-duration: 10s, 3s;
|
|
27
|
+
animation-timing-function: linear, ease-in-out;
|
|
28
|
+
animation-iteration-count: infinite, infinite;
|
|
29
|
+
animation-play-state: running, running;
|
|
30
|
+
-webkit-animation-name: snowflakes-fall, snowflakes-shake;
|
|
31
|
+
-webkit-animation-duration: 10s, 3s;
|
|
32
|
+
-webkit-animation-timing-function: linear, ease-in-out;
|
|
33
|
+
-webkit-animation-iteration-count: infinite, infinite;
|
|
34
|
+
-webkit-animation-play-state: running, running;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Snowflake positions and delays */
|
|
38
|
+
.snowflake:nth-of-type(1){ left:1%; animation-delay:0s,0s; -webkit-animation-delay:0s,0s; }
|
|
39
|
+
.snowflake:nth-of-type(2){ left:10%; animation-delay:1s,1s; -webkit-animation-delay:1s,1s; }
|
|
40
|
+
.snowflake:nth-of-type(3){ left:20%; animation-delay:6s,0.5s; -webkit-animation-delay:6s,0.5s; }
|
|
41
|
+
.snowflake:nth-of-type(4){ left:30%; animation-delay:4s,2s; -webkit-animation-delay:4s,2s; }
|
|
42
|
+
.snowflake:nth-of-type(5){ left:40%; animation-delay:2s,2s; -webkit-animation-delay:2s,2s; }
|
|
43
|
+
.snowflake:nth-of-type(6){ left:50%; animation-delay:8s,3s; -webkit-animation-delay:8s,3s; }
|
|
44
|
+
.snowflake:nth-of-type(7){ left:60%; animation-delay:6s,2s; -webkit-animation-delay:6s,2s; }
|
|
45
|
+
.snowflake:nth-of-type(8){ left:70%; animation-delay:2.5s,1s; -webkit-animation-delay:2.5s,1s; }
|
|
46
|
+
.snowflake:nth-of-type(9){ left:80%; animation-delay:1s,0s; -webkit-animation-delay:1s,0s; }
|
|
47
|
+
.snowflake:nth-of-type(10){ left:90%; animation-delay:3s,1.5s; -webkit-animation-delay:3s,1.5s; }
|
|
48
|
+
.snowflake:nth-of-type(11){ left:25%; animation-delay:2s,0s; -webkit-animation-delay:2s,0s; }
|
|
49
|
+
.snowflake:nth-of-type(12){ left:65%; animation-delay:4s,2.5s; -webkit-animation-delay:4s,2.5s; }
|
|
50
|
+
|
|
51
|
+
.snowflake img { width:20px; }
|
package/star38.gif
ADDED
|
Binary file
|
package/style.css
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/* Custom Font */
|
|
2
|
+
@font-face {
|
|
3
|
+
font-family: "thisisafont";
|
|
4
|
+
src: url("./Web437_NEC_APC3_8x16.woff") format("woff");
|
|
5
|
+
font-weight: normal;
|
|
6
|
+
font-style: normal;
|
|
7
|
+
font-display: swap;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Reset and body styling */
|
|
11
|
+
body {
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
font-family: "thisisafont", monospace, sans-serif; /* Use custom font */
|
|
15
|
+
color: #fff;
|
|
16
|
+
overflow-x: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Container for content */
|
|
20
|
+
.container {
|
|
21
|
+
min-height: 100vh;
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
align-items: center;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
text-align: center;
|
|
27
|
+
padding: 50px;
|
|
28
|
+
transition: all 0.5s ease;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Navigation bar */
|
|
32
|
+
nav {
|
|
33
|
+
position: fixed;
|
|
34
|
+
top: 0;
|
|
35
|
+
width: 100%;
|
|
36
|
+
background: rgba(0, 0, 0, 0.8);
|
|
37
|
+
padding: 10px 0;
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
gap: 20px;
|
|
41
|
+
z-index: 999;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
nav a {
|
|
45
|
+
color: #0ff;
|
|
46
|
+
text-decoration: none;
|
|
47
|
+
font-weight: bold;
|
|
48
|
+
transition: color 0.3s ease;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
nav a:hover {
|
|
52
|
+
color: #ff0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Buttons */
|
|
56
|
+
button {
|
|
57
|
+
font-family: "thisisafont", monospace, sans-serif; /* Use custom font */
|
|
58
|
+
background: #0ff;
|
|
59
|
+
color: #000;
|
|
60
|
+
border: none;
|
|
61
|
+
padding: 10px 20px;
|
|
62
|
+
cursor: pointer;
|
|
63
|
+
margin-top: 20px;
|
|
64
|
+
transition: background 0.3s ease, color 0.3s ease;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
button:hover {
|
|
68
|
+
background: #ff0;
|
|
69
|
+
color: #000;
|
|
70
|
+
}
|
package/urls.yaml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
- name: "the main melon"
|
|
2
|
+
url: "https://durokotte.foo.ng/melonsoda/"
|
|
3
|
+
comment: "this is the main page"
|
|
4
|
+
|
|
5
|
+
- name: "netlify melon"
|
|
6
|
+
url: "https://meronsooda.netlify.app/"
|
|
7
|
+
comment: "netlify mirror"
|
|
8
|
+
|
|
9
|
+
- name: "totally legit githack"
|
|
10
|
+
url: "https://raw.githack.com/linuxfandudeguy/melonsoda/main/"
|
|
11
|
+
comment: "not hosted by me but i personally use it so it passes"
|
|
12
|
+
|
|
13
|
+
- name: "f r e n c h"
|
|
14
|
+
url: "https://learn-french-easy.wasmer.app/"
|
|
15
|
+
comment: "you can learn some very nice french words like le cul (also offline/selfupdating.html is the only page that updates)"
|
|
16
|
+
|
|
17
|
+
- name: "totally real algebra help"
|
|
18
|
+
url: "https://k12-algebra-tutoring-edu-us-resources.pages.dev/"
|
|
19
|
+
comment: "omg algebra tutoring!1!1!11"
|
|
20
|
+
|
|
21
|
+
- name: "very not sketchy edgeone deploy"
|
|
22
|
+
url: "https://educational-algebra-study-tutor.edgeone.app/"
|
|
23
|
+
comment: "had to use the sketchy tencent edge service as that wasn't blocked (offline/selfupdating.html is the one served)"
|
|
24
|
+
|
|
25
|
+
- name: "firebase classic"
|
|
26
|
+
url: "https://free-french-resources.web.app/"
|
|
27
|
+
comment: "firebase deploy (index page does not update but /selfupdating.html updates and also for some reason <br> the official website checking system says the site is not official but it is tho)"
|
|
28
|
+
|
|
29
|
+
- name: "firebase alt route"
|
|
30
|
+
url: "https://free-french-resources.firebaseapp.com/"
|
|
31
|
+
comment: "alternate firebase deploy"
|
package/wrangler.jsonc
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "node_modules/wrangler/config-schema.json",
|
|
3
|
+
"name": "k12-resources-for-french",
|
|
4
|
+
"compatibility_date": "2026-04-07",
|
|
5
|
+
"observability": {
|
|
6
|
+
"enabled": true
|
|
7
|
+
},
|
|
8
|
+
"assets": {
|
|
9
|
+
"directory": "."
|
|
10
|
+
},
|
|
11
|
+
"compatibility_flags": [
|
|
12
|
+
"nodejs_compat"
|
|
13
|
+
]
|
|
14
|
+
}
|