");
40 |
41 | cardContent.addClass("d-flex justify-content-between align-items-center");
42 |
43 | const btnGroup = $("
");
44 |
45 | btnGroup.addClass("btn-group");
46 |
47 | const btn = $("
");
48 |
49 | btn.addClass("btn btn-sm btn-outline-secondary");
50 | btn.text("View");
51 | btn.attr({
52 | href: item.url,
53 | target: "_blank",
54 | });
55 |
56 | btnGroup.append(btn);
57 |
58 | cardContent.append(btnGroup);
59 |
60 | cardBody.append(cardContent);
61 |
62 | card.append(cardBody);
63 |
64 | page.append(card);
65 |
66 | pages.append(page);
67 | });
68 | });
69 | });
70 |
--------------------------------------------------------------------------------
/links/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Links | tsParticles 404
25 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
Oops!
51 | 404 - The Page can't be found
52 |
53 |
Go TO Homepage
54 |
55 |
56 |
57 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/links/js/404.js:
--------------------------------------------------------------------------------
1 | const particles = {
2 | background: {
3 | color: {
4 | value: "#0d47a1",
5 | },
6 | },
7 | fpsLimit: 60,
8 | particles: {
9 | color: {
10 | value: "#ffffff",
11 | },
12 | links: {
13 | color: "#ffffff",
14 | distance: 150,
15 | enable: true,
16 | opacity: 0.5,
17 | width: 1,
18 | },
19 | collisions: {
20 | enable: true,
21 | },
22 | move: {
23 | direction: "none",
24 | enable: true,
25 | outMode: "bounce",
26 | random: false,
27 | speed: 3,
28 | straight: false,
29 | },
30 | number: {
31 | density: {
32 | enable: true,
33 | area: 800,
34 | },
35 | value: 80,
36 | },
37 | opacity: {
38 | value: 0.5,
39 | },
40 | shape: {
41 | type: "circle",
42 | },
43 | size: {
44 | random: true,
45 | value: 5,
46 | },
47 | },
48 | detectRetina: true,
49 | };
50 |
51 | tsParticles.load("tsparticles", particles);
52 |
--------------------------------------------------------------------------------
/masked/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 | Masked | tsParticles 404
21 |
22 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
404
37 |
38 |
39 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/masked/css/404.css:
--------------------------------------------------------------------------------
1 | /* ---- reset ---- */
2 | html,
3 | body {
4 | height: 100%;
5 | overflow: hidden;
6 | }
7 |
8 | body {
9 | margin: 0;
10 | }
11 |
12 | /* ---- tsparticles container ---- */
13 | #tsparticles {
14 | position: fixed;
15 | width: 100%;
16 | height: 100%;
17 | filter: blur(30px);
18 | }
19 |
20 | h1 {
21 | width: 100%;
22 | text-align: center;
23 | font-family: "Nerko One", cursive;
24 | position: relative;
25 | color: black;
26 | margin: 0;
27 | padding: 0;
28 | overflow: hidden;
29 | background: white;
30 | }
31 |
32 | @media (max-aspect-ratio: 10/5) {
33 | h1 {
34 | font-size: 50vw !important;
35 | letter-spacing: 10px !important;
36 | }
37 | }
38 |
39 | @media (min-aspect-ratio: 10/5) {
40 | h1 {
41 | font-size: 100vh !important;
42 | letter-spacing: 100px !important;
43 | }
44 | }
45 |
46 | #container {
47 | align-items: center;
48 | justify-content: center;
49 | display: flex;
50 | position: fixed;
51 | top: 0;
52 | left: 0;
53 | width: 100%;
54 | height: 100%;
55 | z-index: 10;
56 | mix-blend-mode: screen;
57 | background: white;
58 | }
59 |
--------------------------------------------------------------------------------
/masked/images/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/masked/images/background.jpg
--------------------------------------------------------------------------------
/masked/js/404.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | background: {
3 | color: "#fff",
4 | },
5 | fpsLimit: 60,
6 | interactivity: {
7 | detectsOn: "window",
8 | events: {
9 | resize: true,
10 | onHover: {
11 | enable: true,
12 | mode: "bubble",
13 | },
14 | },
15 | modes: {
16 | bubble: {
17 | distance: 300,
18 | opacity: 0.8,
19 | size: 100,
20 | },
21 | },
22 | },
23 | particles: {
24 | color: {
25 | value: ["#f00", "#0f0", "#00f", "#ff0", "#0ff", "#f0f"],
26 | animation: {
27 | enable: true,
28 | speed: 40,
29 | sync: false,
30 | },
31 | },
32 | move: {
33 | direction: "none",
34 | enable: true,
35 | outModes: {
36 | default: "bounce",
37 | },
38 | random: false,
39 | speed: 5,
40 | straight: false,
41 | },
42 | number: {
43 | density: {
44 | enable: true,
45 | area: 800,
46 | },
47 | value: 160,
48 | },
49 | opacity: {
50 | random: {
51 | enable: true,
52 | minimumValue: 0.2,
53 | },
54 | value: 0.8,
55 | },
56 | shape: {
57 | type: "circle",
58 | },
59 | stroke: {
60 | color: "#ff0000",
61 | width: 0,
62 | },
63 | size: {
64 | random: {
65 | enable: true,
66 | minimumValue: 25,
67 | },
68 | value: 50,
69 | },
70 | },
71 | detectRetina: true,
72 | });
73 |
--------------------------------------------------------------------------------
/matrix-revolutions/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 | 404
21 |
22 |
23 |
24 |
25 |
404
26 | This page does not exist
27 | But The Matrix does
28 |
29 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/matrix-revolutions/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Roboto+Mono");
2 | .text-center {
3 | position: absolute;
4 | width: 40%;
5 | top: 10%;
6 | text-align: center;
7 | left: calc((100% - 40%) / 2);
8 | color: white;
9 | }
10 | .text-center h1 {
11 | font-size: 11em;
12 | font-family: "Roboto Mono", sans-serif;
13 | margin: 2rem;
14 | }
15 | .text-center h2 {
16 | font-family: "Roboto Mono", sans-serif;
17 | font-size: 2rem;
18 | margin: 0%;
19 | }
20 |
--------------------------------------------------------------------------------
/matrix-revolutions/js/404.js:
--------------------------------------------------------------------------------
1 | (async () => {
2 | await tsParticles.load("tsparticles", {
3 | particles: {
4 | color: {
5 | value: "#00FF00",
6 | },
7 | move: {
8 | direction: "bottom",
9 | enable: true,
10 | outModes: {
11 | default: "destroy",
12 | },
13 | random: true,
14 | speed: 20,
15 | straight: true,
16 | trail: {
17 | fillColor: "#000",
18 | length: 15,
19 | enable: true,
20 | },
21 | },
22 | number: {
23 | limit: 40,
24 | },
25 | },
26 | background: {
27 | color: "#000",
28 | },
29 | fullScreen: {
30 | zIndex: -1,
31 | },
32 | emitters: [
33 | {
34 | direction: "bottom",
35 | size: {
36 | width: 100,
37 | height: 0,
38 | },
39 | position: {
40 | x: 50,
41 | y: 0,
42 | },
43 | },
44 | ],
45 | });
46 | })();
47 |
--------------------------------------------------------------------------------
/matrix/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 | 404 Not Found
21 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
404
32 | This page does not exist.
33 |
34 |
39 |
40 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/matrix/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Roboto+Mono");
2 | .text-center {
3 | position: absolute;
4 | width: 30%;
5 | border-radius: 2rem;
6 | height: calc(30%);
7 | top: calc((100% - 30%) / 2);
8 | text-align: center;
9 | left: calc((100% - 30%) / 2);
10 | color: white;
11 | }
12 | .text-center h1 {
13 | font-size: 11em;
14 | font-family: "Roboto Mono", sans-serif;
15 | }
16 | .text-center h2 {
17 | font-family: "Roboto Mono", sans-serif;
18 | font-size: 2rem;
19 | margin: 0%;
20 | }
21 |
--------------------------------------------------------------------------------
/matrix/js/404.js:
--------------------------------------------------------------------------------
1 | (async () => {
2 | await loadPolygonPath(tsParticles);
3 |
4 | await tsParticles.load({
5 | particles: {
6 | color: {
7 | value: "#FFFF00",
8 | animation: {
9 | enable: true,
10 | speed: 10,
11 | },
12 | },
13 | move: {
14 | attract: {
15 | enable: true,
16 | rotate: {
17 | distance: 100,
18 | x: 2000,
19 | y: 2000,
20 | },
21 | },
22 | direction: "none",
23 | enable: true,
24 | outModes: {
25 | default: "destroy",
26 | },
27 | path: {
28 | clamp: true,
29 | enable: true,
30 | delay: {
31 | value: 0,
32 | },
33 | generator: "polygonPathGenerator",
34 | options: {
35 | sides: 4,
36 | turnSteps: 30,
37 | angle: 0,
38 | },
39 | },
40 | random: true,
41 | speed: 15,
42 | straight: true,
43 | trail: {
44 | fillColor: "#000",
45 | length: 10,
46 | enable: true,
47 | },
48 | },
49 | number: {
50 | density: {
51 | enable: true,
52 | area: 800,
53 | },
54 | value: 0,
55 | },
56 | opacity: {
57 | value: 1,
58 | },
59 | shape: {
60 | type: "square",
61 | },
62 | size: {
63 | value: 4,
64 | },
65 | },
66 | background: {
67 | color: "#000",
68 | },
69 | fullScreen: {
70 | zIndex: -1,
71 | },
72 | emitters: [
73 | {
74 | direction: "none",
75 | rate: {
76 | quantity: 10,
77 | delay: 0.25,
78 | },
79 | size: {
80 | width: 0,
81 | height: 0,
82 | },
83 | position: {
84 | x: 0,
85 | y: 0,
86 | },
87 | },
88 | {
89 | direction: "none",
90 | rate: {
91 | quantity: 10,
92 | delay: 0.25,
93 | },
94 | size: {
95 | width: 0,
96 | height: 0,
97 | },
98 | position: {
99 | x: 100,
100 | y: 100,
101 | },
102 | },
103 | {
104 | direction: "none",
105 | rate: {
106 | quantity: 10,
107 | delay: 0.25,
108 | },
109 | size: {
110 | width: 0,
111 | height: 0,
112 | },
113 | position: {
114 | x: 0,
115 | y: 100,
116 | },
117 | },
118 | {
119 | direction: "none",
120 | rate: {
121 | quantity: 10,
122 | delay: 0.25,
123 | },
124 | size: {
125 | width: 0,
126 | height: 0,
127 | },
128 | position: {
129 | x: 100,
130 | y: 0,
131 | },
132 | },
133 | ],
134 | });
135 | })();
136 |
--------------------------------------------------------------------------------
/nord/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 |
21 |
22 | Nord | tsParticles 404
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
48 |
49 |

54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/nord/assets/compass.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/nord/assets/routes.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/nord/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --gray-color: #4c566a;
3 | --gray-dark-color: #2e3440;
4 | --blue-1-color: #81a1c1;
5 | --blue-2-color: #88c0d0;
6 | --bg-color: #ffffff;
7 |
8 | --sm-font-size: 1.6rem;
9 | --lg-font-size: 2.4rem;
10 | --sm-title-size: 4.8rem;
11 | --lg-title-size: 9.6rem;
12 |
13 | --sm-compass-size: 5rem;
14 | --lg-compass-size: 9rem;
15 | --sm-routes-size: 15rem;
16 | --lg-routes-size: 30rem;
17 |
18 | --border-radius: 1rem;
19 | }
20 |
21 | /* Globals */
22 | *,
23 | *:before,
24 | *:after {
25 | box-sizing: inherit;
26 | }
27 | html {
28 | box-sizing: border-box;
29 | font-size: 62.5%;
30 | }
31 | body {
32 | font-size: var(--sm-font-size);
33 | font-family:
34 | system-ui,
35 | -apple-system,
36 | BlinkMacSystemFont,
37 | "Segoe UI",
38 | Roboto,
39 | Oxygen,
40 | Ubuntu,
41 | Cantarell,
42 | "Open Sans",
43 | "Helvetica Neue",
44 | sans-serif;
45 | background-color: var(--bg-color);
46 | color: var(--gray-color);
47 | display: flex;
48 | justify-content: stretch;
49 | align-items: stretch;
50 | }
51 | @media (min-width: 768px) {
52 | body {
53 | font-size: var(--lg-font-size);
54 | }
55 | }
56 | a {
57 | text-decoration: none;
58 | color: inherit;
59 | }
60 | img {
61 | width: 100%;
62 | max-width: 100%;
63 | }
64 | body,
65 | h1,
66 | h2,
67 | h3,
68 | p,
69 | a {
70 | margin: 0;
71 | }
72 |
73 | /* Container */
74 | .container {
75 | height: 100vh;
76 | width: 100vw;
77 | z-index: 1;
78 | display: flex;
79 | justify-content: center;
80 | align-items: center;
81 | }
82 | .content {
83 | max-width: min(108rem, 85%);
84 | margin: 0 auto;
85 | display: flex;
86 | justify-content: center;
87 | align-items: center;
88 | flex-direction: column;
89 | }
90 | @media (min-width: 768px) {
91 | .content {
92 | flex-direction: row;
93 | gap: 14rem;
94 | }
95 | }
96 |
97 | /* Header */
98 | .header {
99 | display: flex;
100 | justify-content: center;
101 | align-items: center;
102 | flex-direction: column;
103 | text-align: center;
104 | gap: 4rem;
105 | }
106 | .header__title {
107 | display: flex;
108 | justify-content: center;
109 | align-items: center;
110 | gap: 3rem;
111 | }
112 | .header__h1 {
113 | font-size: var(--sm-title-size);
114 | color: var(--gray-dark-color);
115 | font-weight: bold;
116 | }
117 | @media (min-width: 780px) {
118 | .header__h1 {
119 | font-size: var(--lg-title-size);
120 | }
121 | }
122 | .header__ilustration {
123 | width: var(--sm-compass-size);
124 | }
125 | @media (min-width: 768px) {
126 | .header__ilustration {
127 | width: var(--lg-compass-size);
128 | }
129 | }
130 | .header__button {
131 | padding: 1.3rem 2.6rem;
132 | background-color: var(--blue-2-color);
133 | border-radius: var(--border-radius);
134 | font-weight: bold;
135 | transition: opacity 300ms ease;
136 | }
137 | .header__button:hover {
138 | opacity: 0.75;
139 | }
140 |
141 | /* 404 page */
142 | .ilustration-container {
143 | margin-top: 4rem;
144 | display: flex;
145 | justify-content: center;
146 | align-items: center;
147 | }
148 | .ilustration {
149 | width: var(--sm-routes-size);
150 | margin: 0 auto;
151 | }
152 | @media (min-width: 1080px) {
153 | .ilustration {
154 | width: var(--lg-routes-size);
155 | }
156 | }
157 |
--------------------------------------------------------------------------------
/nord/index.js:
--------------------------------------------------------------------------------
1 | (async () => {
2 | await tsParticles.load("tsparticles", {
3 | preset: "fountain",
4 | });
5 | })();
6 |
--------------------------------------------------------------------------------
/ocean/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 |
21 |
22 | Ocean | tsParticles 404
23 |
24 | 404
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
404
33 |
We've gone too deep.
34 |
35 |
36 |
37 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/ocean/images/underwater.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/ocean/images/underwater.jpg
--------------------------------------------------------------------------------
/ocean/scripts/particles.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | fpsLimit: 60,
3 | particles: {
4 | number: {
5 | value: 2800,
6 | density: {
7 | enable: true,
8 | area: 1000,
9 | },
10 | },
11 | color: {
12 | value: "#ffffff",
13 | },
14 | shape: {
15 | type: "circle",
16 | },
17 | opacity: {
18 | value: 1,
19 | random: {
20 | enable: true,
21 | minimumValue: 0.6,
22 | },
23 | animation: {
24 | enable: true,
25 | speed: 2,
26 | minimumValue: 0,
27 | sync: false,
28 | },
29 | },
30 | size: {
31 | value: 5,
32 | random: {
33 | enable: true,
34 | minimumValue: 1,
35 | },
36 | },
37 | move: {
38 | enable: true,
39 | speed: 0.9,
40 | direction: "none",
41 | random: true,
42 | straight: false,
43 | outModes: {
44 | default: "out",
45 | },
46 | },
47 | },
48 | detectRetina: true,
49 | });
50 |
--------------------------------------------------------------------------------
/ocean/styles/404.css:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.bunny.net/css?family=bigelow-rules:400|work-sans:400);
2 |
3 | #tsparticles {
4 | position: fixed !important;
5 | opacity: 0.5;
6 | height: 100vh;
7 | }
8 |
9 | body {
10 | margin: 0;
11 | font-family: "Work Sans", apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
12 | Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
13 | }
14 |
15 | h3 {
16 | text-shadow: white 1px 0 10px;
17 | }
18 |
19 | .container {
20 | display: flex;
21 | justify-content: center;
22 | align-items: center;
23 | height: 100vh;
24 | opacity: 0.95;
25 | background-image: url("../images/underwater.jpg");
26 | background-size: cover;
27 | background-position: center;
28 | background-repeat: no-repeat;
29 | }
30 |
31 | .container a {
32 | text-decoration: none;
33 | }
34 |
35 | .wrapper {
36 | max-width: 390px;
37 | width: 100%;
38 | height: 390px;
39 | display: block;
40 | margin: 0 auto;
41 | position: relative;
42 | margin-top: 8vh;
43 | }
44 |
45 | .container h1 {
46 | color: #fff;
47 | margin-bottom: 0px;
48 | font-weight: 800;
49 | font-family: "Bigelow Rules", display;
50 | font-size: 8rem;
51 | text-align: center;
52 | text-shadow:
53 | 1px 1px 0px #eb452b,
54 | 3px 3px 0px #efa032,
55 | 4px 4px 0px #fff,
56 | white 1px 0 10px;
57 | }
58 |
59 | .container h3 {
60 | text-align: center;
61 | color: #fff;
62 | font-size: 19px;
63 | line-height: 23px;
64 | max-width: 330px;
65 | margin: 0px auto 30px auto;
66 | font-weight: 400;
67 | }
68 |
69 | .container h3 span {
70 | position: relative;
71 | width: 65px;
72 | display: inline-block;
73 | }
74 |
75 | .container h3 span:after {
76 | content: "";
77 | border-bottom: 2px solid #efa032;
78 | position: absolute;
79 | }
80 |
81 | button {
82 | font-family: inherit;
83 | }
84 |
85 | .link {
86 | background: none;
87 | padding: 12px 0px 10px 0px;
88 | border: 1px solid #fff;
89 | outline: 0.3px solid white;
90 | width: 150px;
91 | font-size: 15px;
92 | text-align: center;
93 | margin: 0 auto;
94 | display: block;
95 | margin-bottom: 40px;
96 | margin-top: 25px;
97 | font-weight: 700;
98 | margin: auto;
99 | color: #fff;
100 | top: 0;
101 | bottom: 0;
102 | left: 0;
103 | right: 0;
104 | cursor: pointer;
105 | overflow: hidden;
106 | border-radius: 5px;
107 | box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.5);
108 | }
109 |
110 | .link:hover {
111 | color: #ffbb39;
112 | border-color: #ffbb39;
113 | cursor: pointer;
114 | opacity: 1;
115 | }
116 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "404-templates",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "tsParticles 404 templates",
6 | "keywords": [
7 | "404",
8 | "templates"
9 | ],
10 | "author": "Matteo Bruni",
11 | "license": "ISC",
12 | "scripts": {
13 | "lint": "eslint --ext .js,.html . --fix",
14 | "lint:ci": "eslint --ext .js,.html .",
15 | "prettier": "prettier --write \"**/*.{js,ts,json,css,scss,html,md}\"",
16 | "prettier:ci": "prettier --check \"**/*.{js,ts,json,css,scss,html,md}\"",
17 | "build": "npm run prettier && npm run lint",
18 | "build:ci": "npm run prettier:ci && npm run lint:ci"
19 | },
20 | "devDependencies": {
21 | "eslint": "^8.52.0",
22 | "eslint-config-prettier": "^9.0.0",
23 | "eslint-config-standard": "^17.1.0",
24 | "eslint-plugin-html": "^7.1.0",
25 | "eslint-plugin-import": "^2.29.0",
26 | "eslint-plugin-n": "^16.2.0",
27 | "eslint-plugin-prettier": "^5.0.1",
28 | "eslint-plugin-promise": "^6.1.1",
29 | "prettier": "^3.0.3"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/party/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Party | tsParticles 404
5 |
6 |
10 |
11 |
12 |
13 |
14 |
15 | 404
16 |
17 |
18 | OOPS! Wrong Door
19 |
20 | You can either Join Them or
21 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
40 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/party/images/Dance-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/party/images/Dance-1.gif
--------------------------------------------------------------------------------
/party/images/Dance-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/party/images/Dance-2.gif
--------------------------------------------------------------------------------
/party/images/Dance-3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/party/images/Dance-3.gif
--------------------------------------------------------------------------------
/party/images/Dance-4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/party/images/Dance-4.gif
--------------------------------------------------------------------------------
/party/style.css:
--------------------------------------------------------------------------------
1 | html {
2 | height: 100%;
3 | overflow: hidden;
4 | }
5 |
6 | body {
7 | background-color: #262327;
8 | height: 500px;
9 | background-position: center;
10 | background-repeat: no-repeat;
11 | background-size: cover;
12 | position: relative;
13 | font-family: "Varela", sans-serif;
14 | height: calc(100%);
15 | }
16 |
17 | #tsparticles {
18 | width: 100%;
19 | height: 100%;
20 | position: absolute;
21 | z-index: -1;
22 | }
23 |
24 | #heading {
25 | align-items: center;
26 | text-align: center;
27 | font-family: "Gemunu Libre", sans-serif;
28 | color: orange;
29 | animation: animate 4s infinite;
30 | font-size: 150px;
31 | }
32 |
33 | #subheading {
34 | bottom: 20%;
35 | position: relative;
36 | color: rgb(255, 7, 106);
37 | align-items: center;
38 | text-align: center;
39 | font-family: "Noto Serif Gujarati", serif;
40 | font-size: 45px;
41 | }
42 |
43 | #subheading1 {
44 | bottom: 19%;
45 | position: relative;
46 | color: rgb(3, 241, 209);
47 | align-items: center;
48 | text-align: center;
49 | font-family: "Noto Serif Gujarati", serif;
50 | }
51 |
52 | .img3 {
53 | position: absolute;
54 | top: 355px;
55 | left: 1%;
56 | height: 300px;
57 | width: auto;
58 | }
59 |
60 | .img2 {
61 | position: absolute;
62 | top: 355px;
63 | left: 29%;
64 | height: 315px;
65 | width: auto;
66 | }
67 |
68 | .img1 {
69 | position: absolute;
70 | top: 355px;
71 | left: 53%;
72 | height: 315px;
73 | width: auto;
74 | }
75 |
76 | .img4 {
77 | position: absolute;
78 | top: 360px;
79 | left: 78%;
80 | height: 300px;
81 | width: auto;
82 | }
83 |
84 | .button-88 {
85 | font-family: "Noto Serif Gujarati", serif;
86 | font-weight: 650;
87 | font-size: 27px;
88 | color: white;
89 | background: #ad5389;
90 | background: linear-gradient(0deg, rgb(170, 6, 192) 0%, rgb(173, 1, 253) 100%);
91 | border: none;
92 | box-shadow: 0 0.7em 1.5em -0.5em #14a73e98;
93 | border-radius: 10em;
94 | cursor: pointer;
95 | user-select: none;
96 | -webkit-user-select: none;
97 | touch-action: manipulation;
98 | }
99 |
100 | .button-88:hover {
101 | box-shadow: 0 0.5em 1.5em -0.5em #14a73e98;
102 | }
103 |
104 | .button-88:active {
105 | box-shadow: 0 0.3em 1em -0.5em #14a73e98;
106 | }
107 |
--------------------------------------------------------------------------------
/playful/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 | Playful | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 4
30 | 0
31 | 4
32 |
33 |
34 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/playful/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Catamaran:400,800");
2 |
3 | #tsparticles {
4 | position: fixed;
5 | width: 100%;
6 | height: 100%;
7 | top: 0;
8 | left: 0;
9 | margin: 0;
10 | }
11 | /* https://codepen.io/ricardpriet/pen/MOKEam */
12 | .error-container {
13 | color: rgba(0, 0, 0, 0.2);
14 | -webkit-text-stroke: 2px white;
15 | text-align: center;
16 | font-size: 300px;
17 | font-family: "Catamaran", sans-serif;
18 | font-weight: 800;
19 | margin-top: 10%;
20 | }
21 | .error-container > span {
22 | display: inline-block;
23 | line-height: 0.7;
24 | position: relative;
25 | }
26 | .error-container > span > span {
27 | display: inline-block;
28 | position: relative;
29 | }
30 | .error-container > span:nth-of-type(1) {
31 | perspective: 1000px;
32 | perspective-origin: 500% 50%;
33 | }
34 | .error-container > span:nth-of-type(1) > span {
35 | transform-origin: 50% 100% 0px;
36 | transform: rotateX(0);
37 | animation: easyoutelastic 8s infinite;
38 | }
39 |
40 | .error-container > span:nth-of-type(3) {
41 | perspective: none;
42 | perspective-origin: 50% 50%;
43 | }
44 | .error-container > span:nth-of-type(3) > span {
45 | transform-origin: 100% 100% 0px;
46 | transform: rotate(0deg);
47 | animation: rotatedrop 8s infinite;
48 | }
49 | @keyframes easyoutelastic {
50 | 0% {
51 | transform: rotateX(0);
52 | }
53 | 9% {
54 | transform: rotateX(210deg);
55 | }
56 | 13% {
57 | transform: rotateX(150deg);
58 | }
59 | 16% {
60 | transform: rotateX(200deg);
61 | }
62 | 18% {
63 | transform: rotateX(170deg);
64 | }
65 | 20% {
66 | transform: rotateX(180deg);
67 | }
68 | 60% {
69 | transform: rotateX(180deg);
70 | }
71 | 80% {
72 | transform: rotateX(0);
73 | }
74 | 100% {
75 | transform: rotateX(0);
76 | }
77 | }
78 |
79 | @keyframes rotatedrop {
80 | 0% {
81 | transform: rotate(0);
82 | }
83 | 10% {
84 | transform: rotate(30deg);
85 | }
86 | 15% {
87 | transform: rotate(90deg);
88 | }
89 | 70% {
90 | transform: rotate(90deg);
91 | }
92 | 80% {
93 | transform: rotate(0);
94 | }
95 | 100% {
96 | transform: rotateX(0);
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/pole/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 | Pole | tsParticles 404
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | Sorry, The page you're looking for doesn't exist.
28 |
29 |

30 |

31 |
32 |
33 |
34 |
35 |
36 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/pole/css/404.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | box-sizing: border-box;
5 | }
6 |
7 | .container {
8 | overflow: hidden;
9 | }
10 |
11 | .wrapper {
12 | position: relative;
13 | height: 60vh;
14 | width: 100vw;
15 | background: #10d0f1;
16 | font-family: cursive;
17 | text-align: center;
18 | }
19 |
20 | .wrapper .header {
21 | font-size: 30vh;
22 | color: #ffde55;
23 | }
24 |
25 | .wrapper .description {
26 | color: #ffd735;
27 | }
28 |
29 | .wrapper .sun {
30 | width: 10%;
31 | position: absolute;
32 | top: 5%;
33 | right: 15%;
34 | }
35 |
36 | .wrapper .truck {
37 | width: 100px;
38 | margin-bottom: 3px;
39 | position: absolute;
40 | bottom: -30px;
41 | left: 2%;
42 | transform: translateX(0);
43 | transition: 7s;
44 | }
45 |
46 | .wrapper .truck.gone {
47 | transform: translateX(110vw);
48 | }
49 |
50 | #tsparticles {
51 | position: relative;
52 | width: 100vw;
53 | height: 40vh;
54 | overflow: hidden;
55 | background: linear-gradient(#00cbfd, #0050e4, #0011ac, #000288);
56 | }
57 |
58 | #tsparticles:before {
59 | content: "";
60 | position: absolute;
61 | top: 0;
62 | left: 0;
63 | width: 100%;
64 | height: 20px;
65 | background: linear-gradient(#f1f1f1, #00cbfd);
66 | }
67 |
68 | #tsparticles .bottle {
69 | position: absolute;
70 | top: 55%;
71 | left: 50%;
72 | transform: translate(-50%, -50%) rotate(300deg);
73 | width: 130px;
74 | height: 50px;
75 | border-radius: 10px 15px 15px 10px;
76 | background: #9cf0ff46;
77 | backdrop-filter: blur(1px);
78 | border: 2px solid #00cbfd;
79 | outline: 0;
80 | color: #f1f1f1;
81 | cursor: pointer;
82 | animation: move 5s linear infinite;
83 | box-shadow: 0 0 10px #f1f1f1 inset;
84 | transition: 0.5s;
85 | }
86 |
87 | #tsparticles .bottle:before {
88 | content: "";
89 | position: absolute;
90 | width: 25px;
91 | height: 20px;
92 | background: rgb(175, 128, 66);
93 | border-radius: 0px 5px 5px 0px;
94 | right: -27px;
95 | top: 50%;
96 | transform: translateY(-50%);
97 | }
98 |
99 | #tsparticles .bottle:after {
100 | content: "";
101 | position: absolute;
102 | width: 7px;
103 | height: 7px;
104 | border-radius: 50%;
105 | background: rgba(255, 255, 255, 0.726);
106 | top: 5px;
107 | right: 5px;
108 | transform: skew(10deg, 10deg);
109 | }
110 |
111 | @keyframes move {
112 | 0% {
113 | transform: translate(-50%, -50%) rotate(300deg);
114 | }
115 | 50% {
116 | transform: translate(-40%, -50%) rotate(300deg);
117 | }
118 | 100% {
119 | transform: translate(-50%, -50%) rotate(300deg);
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (1).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (11).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (13).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (2).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
31 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (3).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
47 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (4).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
56 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com (6).svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
64 |
--------------------------------------------------------------------------------
/pole/image/fish-svgrepo-com.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pole/image/sun-svgrepo-com.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pole/js/404.js:
--------------------------------------------------------------------------------
1 | const truck = document.querySelector(".truck");
2 | const bottle = document.querySelector(".bottle");
3 |
4 | tsParticles.load("tsparticles", {
5 | fullScreen: {
6 | enable: true,
7 | zIndex: 1,
8 | },
9 | detectRetina: true,
10 | particles: {
11 | move: {
12 | bounce: false,
13 | direction: "right",
14 | enable: true,
15 | outMode: "out",
16 | random: false,
17 | speed: 0.2,
18 | straight: true,
19 | },
20 | number: {
21 | density: {
22 | enable: true,
23 | area: 800,
24 | },
25 | limit: 0,
26 | value: 80,
27 | },
28 | shape: {
29 | character: {
30 | fill: false,
31 | font: "Verdana",
32 | style: "",
33 | value: "*",
34 | weight: "400",
35 | },
36 | image: [
37 | {
38 | src: "./image/fish-svgrepo-com.svg",
39 | width: 32,
40 | height: 32,
41 | },
42 | {
43 | src: "./image/fish-svgrepo-com (1).svg",
44 | width: 32,
45 | height: 32,
46 | },
47 | {
48 | src: "./image/fish-svgrepo-com (2).svg",
49 | width: 32,
50 | height: 32,
51 | },
52 | {
53 | src: "./image/fish-svgrepo-com (3).svg",
54 | width: 32,
55 | height: 32,
56 | },
57 | {
58 | src: "./image/fish-svgrepo-com (4).svg",
59 | width: 32,
60 | height: 32,
61 | },
62 | {
63 | src: "./image/fish-svgrepo-com (5).svg",
64 | width: 32,
65 | height: 32,
66 | },
67 | {
68 | src: "./image/fish-svgrepo-com (6).svg",
69 | width: 32,
70 | height: 32,
71 | },
72 | {
73 | src: "./image/fish-svgrepo-com (7).svg",
74 | width: 32,
75 | height: 32,
76 | },
77 | {
78 | src: "./image/fish-svgrepo-com (8).svg",
79 | width: 32,
80 | height: 32,
81 | },
82 | {
83 | src: "./image/fish-svgrepo-com (9).svg",
84 | width: 32,
85 | height: 32,
86 | },
87 | {
88 | src: "./image/fish-svgrepo-com (10).svg",
89 | width: 32,
90 | height: 32,
91 | },
92 | {
93 | src: "./image/fish-svgrepo-com (11).svg",
94 | width: 32,
95 | height: 32,
96 | },
97 | {
98 | src: "./image/fish-svgrepo-com (12).svg",
99 | width: 32,
100 | height: 32,
101 | },
102 | {
103 | src: "./image/fish-svgrepo-com (13).svg",
104 | width: 32,
105 | height: 32,
106 | },
107 | {
108 | src: "./image/fish-svgrepo-com (14).svg",
109 | width: 32,
110 | height: 32,
111 | },
112 | ],
113 | type: "image",
114 | },
115 | size: {
116 | random: true,
117 | value: 18,
118 | },
119 | },
120 | });
121 |
122 | bottle.addEventListener("click", () => {
123 | truck.classList.add("gone");
124 | });
125 |
--------------------------------------------------------------------------------
/polygon/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 | Polygon | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/polygon/css/404.css:
--------------------------------------------------------------------------------
1 | /* ---- reset ---- */
2 | html,
3 | body {
4 | height: 100%;
5 | overflow: hidden;
6 | }
7 |
8 | body {
9 | margin: 0;
10 | }
11 |
12 | /* ---- tsparticles container ---- */
13 | #tsparticles {
14 | position: fixed;
15 | width: 100%;
16 | height: 100%;
17 | }
18 |
--------------------------------------------------------------------------------
/polygon/images/404.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/polygon/js/404.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | background: {
3 | color: "#000",
4 | },
5 | detectRetina: false,
6 | fpsLimit: 60,
7 | interactivity: {
8 | events: {
9 | onHover: {
10 | enable: true,
11 | mode: "bubble",
12 | },
13 | resize: true,
14 | },
15 | modes: {
16 | bubble: {
17 | distance: 40,
18 | duration: 2,
19 | opacity: 8,
20 | size: 10,
21 | },
22 | },
23 | },
24 | particles: {
25 | color: {
26 | value: ["#ff0000", "#00ff00", "#0000ff"],
27 | animation: {
28 | enable: true,
29 | speed: 20,
30 | sync: false,
31 | },
32 | },
33 | links: {
34 | blink: false,
35 | color: "random",
36 | consent: false,
37 | distance: 75,
38 | enable: true,
39 | opacity: 0.3,
40 | width: 0.5,
41 | },
42 | move: {
43 | direction: "none",
44 | enable: true,
45 | outModes: {
46 | default: "bounce",
47 | },
48 | random: false,
49 | speed: { min: 0.5, max: 1 },
50 | straight: false,
51 | },
52 | number: {
53 | limit: 0,
54 | value: 400,
55 | },
56 | opacity: {
57 | animation: {
58 | enable: true,
59 | minimumValue: 0.05,
60 | speed: 2,
61 | sync: false,
62 | },
63 | value: 1,
64 | },
65 | shape: {
66 | type: "circle",
67 | },
68 | size: {
69 | random: {
70 | enable: true,
71 | minimumValue: 3,
72 | },
73 | value: 5,
74 | },
75 | },
76 | polygon: {
77 | draw: {
78 | enable: true,
79 | lineColor: "rgba(255,255,255,0.2)",
80 | lineWidth: 0.3,
81 | },
82 | move: {
83 | radius: 10,
84 | },
85 | position: {
86 | y: 105,
87 | x: 130,
88 | },
89 | inline: {
90 | arrangement: "equidistant",
91 | },
92 | scale: 3,
93 | type: "inline",
94 | url: "images/404.svg",
95 | },
96 | });
97 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": ["config:base"]
4 | }
5 |
--------------------------------------------------------------------------------
/restriction/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
20 |
21 |
22 | 404 Not found
23 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
404
34 | This page does not exist.
35 |
36 |
37 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/restriction/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Roboto+Mono");
2 | body {
3 | margin: 0;
4 | font:
5 | normal 75% Arial,
6 | Helvetica,
7 | sans-serif;
8 | }
9 | canvas {
10 | display: block;
11 | }
12 | /* ---- tsparticles container ---- */
13 | #tsparticles {
14 | position: absolute;
15 | width: 100%;
16 | height: 100%;
17 | background-color: #000000;
18 | background-repeat: no-repeat;
19 | background-size: cover;
20 | background-position: 50% 50%;
21 | }
22 | .text-center {
23 | position: absolute;
24 | width: 30rem;
25 | border-radius: 2rem;
26 | height: 20rem;
27 | top: calc((100% - 20rem) / 2);
28 | text-align: center;
29 | border: 10px solid white;
30 | left: calc((100% - 30rem) / 2);
31 | color: white;
32 | padding: 1rem;
33 | background-color: #000000;
34 | }
35 | .text-center h1 {
36 | font-size: 11em;
37 | }
38 | .text-center h2 {
39 | font-family: "Roboto Mono", sans-serif;
40 | font-size: 2rem;
41 | margin: 0%;
42 | }
43 |
--------------------------------------------------------------------------------
/restriction/js/404.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | fpsLimit: 60,
3 | particles: {
4 | number: {
5 | value: 15,
6 | density: {
7 | enable: true,
8 | value_area: 800,
9 | },
10 | },
11 | color: {
12 | value: "#ffffff",
13 | },
14 | shape: {
15 | type: ["circle"],
16 | },
17 | opacity: {
18 | value: 1,
19 | },
20 | size: {
21 | value: 8,
22 | random: {
23 | enable: true,
24 | minimumValue: 4,
25 | },
26 | },
27 | rotate: {
28 | value: 20,
29 | direction: "clockwise",
30 | animation: {
31 | speed: 5,
32 | enable: true,
33 | },
34 | },
35 | move: {
36 | enable: true,
37 | speed: 6,
38 | direction: "none",
39 | out_mode: "out",
40 | trail: {
41 | enable: true,
42 | length: 25,
43 | },
44 | },
45 | },
46 | interactivity: {
47 | detectsOn: "canvas",
48 | events: {
49 | onDiv: {
50 | enable: true,
51 | mode: "bounce",
52 | selectors: "#givemelight",
53 | type: "rectangle",
54 | },
55 | resize: true,
56 | },
57 | modes: {
58 | light: {
59 | area: {
60 | gradient: {
61 | start: "3b5e98",
62 | stop: "#17163e",
63 | },
64 | },
65 | shadow: {
66 | color: "#17163e",
67 | },
68 | },
69 | },
70 | },
71 | detectRetina: true,
72 | background: {
73 | // image: "url('https://wallpaperaccess.com/full/1268171.jpg')",
74 | color: "#000000",
75 | },
76 | });
77 |
--------------------------------------------------------------------------------
/simple/400.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 | Simple | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
400
29 |
BAD REQUEST
30 |
31 |
32 |
33 | GO BACK
34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/simple/401.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 |
Simple | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
401
29 |
UNAUTHORIZED
30 |
31 |
32 |
33 |
GO BACK
34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/simple/403.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 |
Simple | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
403
29 |
FORBIDDEN
30 |
31 |
32 |
33 |
GO BACK
34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/simple/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 |
Simple | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
404
29 |
NOT FOUND
30 |
31 |
32 |
33 |
GO BACK
34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/simple/500.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 |
Simple | tsParticles 404
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
500
29 |
SERVER ERROR
30 |
31 |
32 |
33 |
GO BACK
34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/simple/css/errors.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | height: 100%;
4 | overflow: hidden;
5 | }
6 |
7 | .error-page {
8 | display: flex;
9 | align-items: center;
10 | justify-content: center;
11 | text-align: center;
12 | height: 100%;
13 | font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
14 | }
15 |
16 | .error-page h1 {
17 | font-size: 30vh;
18 | font-weight: bold;
19 | position: relative;
20 | margin: -8vh 0 0;
21 | padding: 0;
22 | }
23 |
24 | .error-page h1:after {
25 | content: attr(data-h1);
26 | position: absolute;
27 | top: 0;
28 | left: 0;
29 | right: 0;
30 | color: transparent;
31 | /* webkit only for graceful degradation to IE */
32 | background: -webkit-repeating-linear-gradient(
33 | -45deg,
34 | #71b7e6,
35 | #69a6ce,
36 | #b98acc,
37 | #ee8176,
38 | #b98acc,
39 | #69a6ce,
40 | #9b59b6
41 | );
42 | -webkit-background-clip: text;
43 | -webkit-text-fill-color: transparent;
44 | background-size: 400%;
45 | text-shadow: 1px 1px 2px transparentize(#fff, 0.75);
46 | animation: animateTextBackground 10s ease-in-out infinite;
47 | }
48 |
49 | .error-page h1 + p {
50 | color: #d6d6d6;
51 | font-size: 8vh;
52 | font-weight: bold;
53 | line-height: 10vh;
54 | max-width: 600px;
55 | position: relative;
56 | }
57 |
58 | .error-page h1 + p:after {
59 | content: attr(data-p);
60 | position: absolute;
61 | top: 0;
62 | left: 0;
63 | right: 0;
64 | color: transparent;
65 | text-shadow: 1px 1px 2px transparentize(#fff, 0.5);
66 | -webkit-background-clip: text;
67 | -moz-background-clip: text;
68 | background-clip: text;
69 | }
70 |
71 | #tsparticles {
72 | position: fixed;
73 | top: 0;
74 | right: 0;
75 | bottom: 0;
76 | left: 0;
77 | }
78 |
79 | @keyframes animateTextBackground {
80 | 0% {
81 | background-position: 0 0;
82 | }
83 |
84 | 25% {
85 | background-position: 100% 0;
86 | }
87 |
88 | 50% {
89 | background-position: 100% 100%;
90 | }
91 |
92 | 75% {
93 | background-position: 0 100%;
94 | }
95 |
96 | 100% {
97 | background-position: 0 0;
98 | }
99 | }
100 |
101 | @media (max-width: 767px) {
102 | .error-page h1 {
103 | font-size: 32vw;
104 | }
105 |
106 | .error-page h1 + p {
107 | font-size: 8vw;
108 | line-height: 10vw;
109 | max-width: 70vw;
110 | }
111 | }
112 |
113 | a.back {
114 | position: fixed;
115 | right: 40px;
116 | bottom: 40px;
117 | background: -webkit-repeating-linear-gradient(
118 | -45deg,
119 | #71b7e6,
120 | #69a6ce,
121 | #b98acc,
122 | #ee8176
123 | );
124 | border-radius: 5px;
125 | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
126 | color: #fff;
127 | font-size: 16px;
128 | font-weight: bold;
129 | line-height: 24px;
130 | padding: 15px 30px;
131 | text-decoration: none;
132 | transition: 0.25s all ease-in-out;
133 | }
134 |
135 | a.back:hover {
136 | box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
137 | }
138 |
--------------------------------------------------------------------------------
/simple/js/errors.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | fpsLimit: 60,
3 | particles: {
4 | number: {
5 | value: 5,
6 | density: {
7 | enable: true,
8 | area: 800,
9 | },
10 | },
11 | color: {
12 | value: "#fcfcfc",
13 | },
14 | shape: {
15 | type: "circle",
16 | },
17 | opacity: {
18 | value: 0.5,
19 | random: {
20 | enable: true,
21 | minimumValue: 0.1,
22 | },
23 | },
24 | size: {
25 | value: 140,
26 | random: {
27 | enable: true,
28 | minimumValue: 40,
29 | },
30 | animation: {
31 | enable: true,
32 | speed: 10,
33 | minimumValue: 40,
34 | sync: false,
35 | },
36 | },
37 | move: {
38 | enable: true,
39 | speed: 4,
40 | direction: "none",
41 | random: false,
42 | straight: false,
43 | outModes: {
44 | default: "out",
45 | },
46 | },
47 | },
48 | interactivity: {
49 | detectsOn: "canvas",
50 | events: {
51 | resize: true,
52 | },
53 | },
54 | detectRetina: true,
55 | });
56 |
--------------------------------------------------------------------------------
/snowfall/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
Snowfall | tsParticles 404
20 |
21 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |

32 |

33 |
34 |
35 |
36 | 404.
37 | Sorry, Wrong Door.
38 |
39 |
40 |
41 | Don't worry, sometimes even we make mistakes. You can find plenty of
42 | other things on our homepage.
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/snowfall/css/app.css:
--------------------------------------------------------------------------------
1 | html {
2 | height: 100%;
3 | overflow: hidden;
4 | }
5 |
6 | body {
7 | background: #999999;
8 | font-family: "Varela", sans-serif;
9 | height: calc(100%);
10 | overflow: auto;
11 | position: relative;
12 | }
13 |
14 | #tsparticles {
15 | width: 100%;
16 | height: 100%;
17 | position: absolute;
18 | z-index: -1;
19 | }
20 | .images {
21 | text-align: center;
22 | width: 50%;
23 | height: auto;
24 | margin-top: 20%;
25 | opacity: 80%;
26 | }
27 | #cup {
28 | width: 125px;
29 | height: auto;
30 | margin-bottom: 5%;
31 | }
32 |
33 | #cat {
34 | width: 300px;
35 | height: auto;
36 | }
37 | .para {
38 | text-align: center;
39 | width: 50%;
40 | height: auto;
41 | }
42 | h2 {
43 | font-size: 100px;
44 | opacity: 40%;
45 | }
46 |
47 | h3 {
48 | font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
49 | font-size: 40px;
50 | opacity: 60%;
51 | }
52 | p {
53 | font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
54 | font-size: 24px;
55 | }
56 |
57 | button {
58 | opacity: 50%;
59 | font-size: 17px;
60 | background-color: #cccccc;
61 | padding: 3%;
62 | margin-top: 5%;
63 | font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
64 | }
65 |
--------------------------------------------------------------------------------
/snowfall/images/starburst_white_300_drop_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/snowfall/images/starburst_white_300_drop_2.png
--------------------------------------------------------------------------------
/snowfall/js/app.js:
--------------------------------------------------------------------------------
1 | tsParticles.load("tsparticles", {
2 | particles: {
3 | number: {
4 | value: 350,
5 | density: {
6 | enable: true,
7 | value_area: 600,
8 | },
9 | },
10 | color: {
11 | value: "#ffffff",
12 | },
13 | shape: {
14 | type: "image",
15 | stroke: {
16 | width: 2,
17 | color: "#fff",
18 | },
19 | polygon: {
20 | nb_sides: 6,
21 | },
22 | image: {
23 | src: "images/starburst_white_300_drop_2.png",
24 | width: 10,
25 | height: 10,
26 | },
27 | },
28 | opacity: {
29 | value: 0.5,
30 | random: false,
31 | anim: {
32 | enable: false,
33 | speed: 2,
34 | opacity_min: 0.2,
35 | sync: false,
36 | },
37 | },
38 | size: {
39 | value: 5,
40 | random: true,
41 | anim: {
42 | enable: false,
43 | speed: 20,
44 | size_min: 0.1,
45 | sync: false,
46 | },
47 | },
48 | line_linked: {
49 | enable: false,
50 | distance: 50,
51 | color: "#ffffff",
52 | opacity: 0.5,
53 | width: 1,
54 | },
55 | move: {
56 | enable: true,
57 | speed: { min: 1, max: 3 },
58 | direction: "bottom",
59 | straight: false,
60 | out_mode: "out",
61 | bounce: false,
62 | },
63 | },
64 | interactivity: {
65 | detect_on: "canvas",
66 | events: {
67 | onhover: {
68 | enable: true,
69 | mode: "bubble",
70 | },
71 | onclick: {
72 | enable: true,
73 | mode: "repulse",
74 | },
75 | resize: true,
76 | },
77 | modes: {
78 | grab: {
79 | distance: 125,
80 | line_linked: {
81 | opacity: 1,
82 | },
83 | },
84 | bubble: {
85 | distance: 200,
86 | size: 33,
87 | duration: 2,
88 | opacity: 6,
89 | speed: 2,
90 | },
91 | repulse: {
92 | distance: 200,
93 | duration: 0.25,
94 | },
95 | push: {
96 | particles_nb: 4,
97 | },
98 | remove: {
99 | particles_nb: 2,
100 | },
101 | },
102 | },
103 | retina_detect: true,
104 | });
105 |
--------------------------------------------------------------------------------
/space/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
Space | tsParticles 404
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
404
28 |
29 | LOST IN SPACE App-Name? Hmm, looks like that page doesn't
30 | exist.
31 |
32 |

33 |

34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/space/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Dosis:300,400,700,800");
2 |
3 | /** Styles for the 403 Page **/
4 |
5 | .particle-error,
6 | .permission_denied,
7 | #tsparticles {
8 | width: 100%;
9 | height: 100%;
10 | margin: 0px !important;
11 | }
12 |
13 | #tsparticles {
14 | position: fixed !important;
15 | opacity: 0.23;
16 | }
17 |
18 | .permission_denied {
19 | background: #24344c !important;
20 | }
21 |
22 | .permission_denied a {
23 | text-decoration: none;
24 | }
25 |
26 | .denied__wrapper {
27 | max-width: 390px;
28 | width: 100%;
29 | height: 390px;
30 | display: block;
31 | margin: 0 auto;
32 | position: relative;
33 | margin-top: 8vh;
34 | }
35 |
36 | .permission_denied h1 {
37 | text-align: center;
38 | color: #fff;
39 | font-family: "Dosis", sans-serif;
40 | font-size: 100px;
41 | margin-bottom: 0px;
42 | font-weight: 800;
43 | }
44 |
45 | .permission_denied h3 {
46 | text-align: center;
47 | color: #fff;
48 | font-size: 19px;
49 | line-height: 23px;
50 | max-width: 330px;
51 | margin: 0px auto 30px auto;
52 | font-family: "Dosis", sans-serif;
53 | font-weight: 400;
54 | }
55 |
56 | .permission_denied h3 span {
57 | position: relative;
58 | width: 65px;
59 | display: inline-block;
60 | }
61 |
62 | .permission_denied h3 span:after {
63 | content: "";
64 | border-bottom: 3px solid #ffbb39;
65 | position: absolute;
66 | left: 0;
67 | top: 43%;
68 | width: 100%;
69 | }
70 |
71 | .denied__link {
72 | background: none;
73 | color: #fff;
74 | padding: 12px 0px 10px 0px;
75 | border: 1px solid #fff;
76 | outline: none;
77 | border-radius: 7px;
78 | width: 150px;
79 | font-size: 15px;
80 | text-align: center;
81 | margin: 0 auto;
82 | vertical-align: middle;
83 | display: block;
84 | margin-bottom: 40px;
85 | margin-top: 25px;
86 | font-family: "Dosis", sans-serif;
87 | font-weight: 400;
88 | }
89 |
90 | .denied__link:hover {
91 | color: #ffbb39;
92 | border-color: #ffbb39;
93 | cursor: pointer;
94 | opacity: 1;
95 | }
96 |
97 | .permission_denied .stars {
98 | animation: sparkle 1.6s infinite ease-in-out alternate;
99 | }
100 |
101 | @keyframes sparkle {
102 | 0% {
103 | opacity: 1;
104 | }
105 | 100% {
106 | opacity: 0.3;
107 | }
108 | }
109 |
110 | #astronaut {
111 | width: 43px;
112 | position: absolute;
113 | right: 20px;
114 | top: 210px;
115 | animation: spin 4.5s infinite linear;
116 | }
117 |
118 | @keyframes spin {
119 | 0% {
120 | transform: rotateZ(0deg);
121 | }
122 | 100% {
123 | transform: rotateZ(360deg);
124 | }
125 | }
126 |
127 | @media (max-width: 600px) {
128 | .permission_denied h1 {
129 | font-size: 75px;
130 | }
131 | .permission_denied h3 {
132 | font-size: 16px;
133 | width: 200px;
134 | margin: 0 auto;
135 | line-height: 23px;
136 | }
137 | .permission_denied h3 span {
138 | width: 60px;
139 | }
140 | #astronaut {
141 | width: 35px;
142 | right: 40px;
143 | top: 170px;
144 | }
145 | }
146 |
147 | .saturn,
148 | .saturn-2,
149 | .hover {
150 | animation: hover 2s infinite ease-in-out alternate;
151 | }
152 |
153 | @keyframes hover {
154 | 0% {
155 | transform: translateY(3px);
156 | }
157 | 100% {
158 | transform: translateY(-3px);
159 | }
160 | }
161 |
--------------------------------------------------------------------------------
/space/js/404.js:
--------------------------------------------------------------------------------
1 | const particles = {
2 | fpsLimit: 60,
3 | particles: {
4 | number: {
5 | value: 160,
6 | density: {
7 | enable: true,
8 | area: 800,
9 | },
10 | },
11 | color: {
12 | value: "#ffffff",
13 | },
14 | shape: {
15 | type: "circle",
16 | },
17 | opacity: {
18 | value: 1,
19 | random: {
20 | enable: true,
21 | minimumValue: 0.1,
22 | },
23 | animation: {
24 | enable: true,
25 | speed: 1,
26 | minimumValue: 0,
27 | sync: false,
28 | },
29 | },
30 | size: {
31 | value: 3,
32 | random: {
33 | enable: true,
34 | minimumValue: 1,
35 | },
36 | },
37 | move: {
38 | enable: true,
39 | speed: 0.17,
40 | direction: "none",
41 | random: true,
42 | straight: false,
43 | outModes: {
44 | default: "out",
45 | },
46 | },
47 | },
48 | interactivity: {
49 | detectsOn: "canvas",
50 | events: {
51 | resize: false,
52 | },
53 | },
54 | detectRetina: true,
55 | };
56 |
57 | tsParticles.load("tsparticles", particles);
58 |
--------------------------------------------------------------------------------
/spooky/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
19 |
20 |
Spooky | tsParticles 404
21 |
22 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
...and when the coffin was finally opened...
37 |
😱 they screamed! 😱
38 |
because there was
39 |
404 NOTHING
40 |
It was too late: the page has been eaten by some spooky creatures.
41 |
46 |
47 |
48 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/spooky/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Creepster");
2 |
3 | /** Styles for the 404 Page **/
4 |
5 | .particle-error,
6 | .black_coven,
7 | #tsparticles {
8 | width: 100%;
9 | height: 100%;
10 | background-color: black;
11 | margin: 0px !important;
12 | }
13 |
14 | #tsparticles {
15 | position: fixed !important;
16 | opacity: 0.33;
17 | }
18 |
19 | .spooky_message {
20 | color: #990909;
21 | max-width: 390px;
22 | width: 100%;
23 | height: 390px;
24 | display: block;
25 | margin: 0 auto;
26 | position: relative;
27 | margin-top: 8vh;
28 | font-family: "Creepster", sans-serif;
29 | }
30 |
31 | .spooky_message p {
32 | text-align: center;
33 | }
34 |
35 | .spooky_message h1,
36 | h2,
37 | h3,
38 | p {
39 | background-color: rgba(0, 0, 0, 0.4);
40 | border-radius: 0.2em;
41 | }
42 |
43 | .spooky_message h1 {
44 | text-align: center;
45 | color: #ff5733;
46 | font-weight: bolder;
47 | font-size: 6em;
48 | margin-bottom: 0px;
49 | margin-top: 0.2em;
50 | font-weight: 800;
51 | }
52 |
53 | .spooky_message h2 {
54 | text-align: center;
55 | text-decoration: double;
56 | font-style: italic;
57 | }
58 |
59 | .spooky_message h3 {
60 | text-align: center;
61 | font-size: 19px;
62 | line-height: 23px;
63 | max-width: 330px;
64 | margin: 0px auto 30px auto;
65 | font-weight: 400;
66 | }
67 |
68 | .spooky_link {
69 | background: none;
70 | color: #fff;
71 | padding: 12px 0px 10px 0px;
72 | outline: none;
73 | border-radius: 7px;
74 | width: 150px;
75 | font-size: 15px;
76 | text-align: center;
77 | margin: 0 auto;
78 | display: block;
79 | margin-bottom: 40px;
80 | margin-top: 25px;
81 | font-weight: 400;
82 | }
83 |
84 | .spooky_link:hover {
85 | color: #ffbb39;
86 | border-color: #ffbb39;
87 | cursor: pointer;
88 | opacity: 1;
89 | }
90 |
--------------------------------------------------------------------------------
/spooky/js/404.js:
--------------------------------------------------------------------------------
1 | const particles = {
2 | fpsLimit: 60,
3 |
4 | pauseOnBlur: true,
5 | particles: {
6 | number: {
7 | value: 33,
8 | density: {
9 | enable: true,
10 | area: 800,
11 | },
12 | },
13 | shape: {
14 | type: "character",
15 | character: {
16 | value: ["🦇", "💀", "👻", "🕸️", "🕷️"],
17 | },
18 | },
19 | size: {
20 | value: 30,
21 | random: {
22 | enable: true,
23 | minimumValue: 10,
24 | },
25 | },
26 | move: {
27 | enable: true,
28 | speed: 28.8,
29 | direction: "outside",
30 | straight: true,
31 | outModes: {
32 | default: "out",
33 | },
34 | },
35 | },
36 | detectRetina: true,
37 | };
38 |
39 | tsParticles.load("tsparticles", particles);
40 |
--------------------------------------------------------------------------------
/starwars/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
17 |
18 |
404 | Star Wars Error
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
404 WARS!
33 |
The Force is not with you
34 |
It seems the page you are looking for is lost in the galaxy...
35 |
Return to Home
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/starwars/css/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | padding: 0;
4 | overflow: hidden;
5 | background: #000;
6 | color: #fff;
7 | font-family: "Star Wars", sans-serif;
8 | }
9 |
10 | #tsparticles {
11 | position: fixed;
12 | top: 0;
13 | left: 0;
14 | width: 100%;
15 | height: 100%;
16 | z-index: -1;
17 | }
18 |
19 | .error-container {
20 | text-align: center;
21 | position: absolute;
22 | top: 50%;
23 | left: 50%;
24 | transform: translate(-50%, -50%);
25 | padding: 20px;
26 | }
27 |
28 | .error-container h1 {
29 | font-size: 10em;
30 | color: #ffcc00;
31 | margin: 0;
32 | text-shadow: 2px 2px 5px rgba(255, 255, 255, 0.8);
33 | }
34 |
35 | .error-container h2 {
36 | font-size: 2em;
37 | color: #ffffff;
38 | margin: 10px 0;
39 | text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.6);
40 | }
41 |
42 | .error-container p {
43 | font-size: 1.2em;
44 | color: #cccccc;
45 | margin: 20px 0;
46 | text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.4);
47 | }
48 |
49 | .home-button {
50 | display: inline-block;
51 | padding: 10px 20px;
52 | font-size: 1.2em;
53 | color: #fff;
54 | background-color: #ffcc00; /* Classic Star Wars yellow */
55 | text-decoration: none;
56 | border-radius: 5px;
57 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
58 | transition:
59 | background-color 0.3s,
60 | box-shadow 0.3s;
61 | }
62 |
63 | .home-button:hover {
64 | background-color: #e0b600;
65 | box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4);
66 | }
67 |
--------------------------------------------------------------------------------
/starwars/image/deadstar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/starwars/image/deadstar.png
--------------------------------------------------------------------------------
/starwars/image/ship1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/starwars/image/ship1.png
--------------------------------------------------------------------------------
/starwars/image/ship2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/starwars/image/ship2.png
--------------------------------------------------------------------------------
/starwars/image/ship3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsparticles/404-templates/866c699e70ecd20d314dc7c3f55a1fab2d36fd37/starwars/image/ship3.png
--------------------------------------------------------------------------------
/starwars/js/script.js:
--------------------------------------------------------------------------------
1 | const particles = {
2 | fpsLimit: 60,
3 | particles: {
4 | number: {
5 | value: 300,
6 | density: {
7 | enable: true,
8 | area: 800,
9 | },
10 | },
11 | color: {
12 | value: ["#ffffff", "#ffcc00", "#ff0000", "#00ff00", "#0000ff"],
13 | animation: {
14 | enable: true,
15 | speed: 20,
16 | sync: true,
17 | },
18 | },
19 | shape: {
20 | type: "image",
21 | image: [
22 | {
23 | src: "./image/deadstar.png",
24 | width: 100,
25 | height: 100,
26 | },
27 | {
28 | src: "./image/ship1.png",
29 | width: 100,
30 | height: 100,
31 | },
32 | {
33 | src: "./image/ship2.png",
34 | width: 100,
35 | height: 100,
36 | },
37 | {
38 | src: "./image/ship3.png",
39 | width: 100,
40 | height: 100,
41 | },
42 | ],
43 | },
44 | size: {
45 | value: 25,
46 | random: {
47 | enable: true,
48 | minimumValue: 3,
49 | },
50 | },
51 | move: {
52 | enable: true,
53 | speed: 1.5,
54 | direction: "none",
55 | outModes: {
56 | default: "out",
57 | },
58 | path: {
59 | delay: {
60 | value: 0.2,
61 | },
62 | generator: (particle, time) => {
63 | const angle = time / 1000;
64 | const radius = 200;
65 | return {
66 | x: Math.cos(angle) * radius,
67 | y: Math.sin(angle) * radius,
68 | };
69 | },
70 | },
71 | },
72 | opacity: {
73 | value: 0.8,
74 | random: {
75 | enable: true,
76 | minimumValue: 0.4,
77 | },
78 | },
79 | },
80 | detectRetina: true,
81 | };
82 |
83 | tsParticles.load("tsparticles", particles);
84 |
--------------------------------------------------------------------------------
/sweep.yaml:
--------------------------------------------------------------------------------
1 | # Sweep AI turns bugs & feature requests into code changes (https://sweep.dev)
2 | # For details on our config file, check out our docs at https://docs.sweep.dev/usage/config
3 |
4 | # This setting contains a list of rules that Sweep will check for. If any of these rules are broken in a new commit, Sweep will create an pull request to fix the broken rule.
5 | rules:
6 | - "All docstrings and comments should be up to date."
7 | - "There should be no instances of commented out code."
8 | - "All error logs should use traceback during exceptions."
9 | - "There should be no instances of `import pdb; pdb.set_trace()` in production code."
10 | - "There should be no debug log or print statements in production code."
11 | - "All CSS files should be linked using the `href` attribute."
12 |
13 | # This is the branch that Sweep will develop from and make pull requests to. Most people use 'main' or 'master' but some users also use 'dev' or 'staging'.
14 | branch: 'main'
15 |
16 | # By default Sweep will read the logs and outputs from your existing Github Actions. To disable this, set this to false.
17 | gha_enabled: True
18 |
19 | # This is the description of your project. It will be used by sweep when creating PRs. You can tell Sweep what's unique about your project, what frameworks you use, or anything else you want.
20 | #
21 | # Example:
22 | #
23 | # description: sweepai/sweep is a python project. The main api endpoints are in sweepai/api.py. Write code that adheres to PEP8.
24 | description: ''
25 |
26 | # This sets whether to create pull requests as drafts. If this is set to True, then all pull requests will be created as drafts and GitHub Actions will not be triggered.
27 | draft: False
28 |
29 | # This is a list of directories that Sweep will not be able to edit.
30 | blocked_dirs: []
31 |
32 | # This is a list of documentation links that Sweep will use to help it understand your code. You can add links to documentation for any packages you use here.
33 | #
34 | # Example:
35 | #
36 | # docs:
37 | # - PyGitHub: ["https://pygithub.readthedocs.io/en/latest/", "We use pygithub to interact with the GitHub API"]
38 | docs: []
39 |
40 | # Sandbox executes commands in a sandboxed environment to validate code changes after every edit to guarantee pristine code. For more details, see the [Sandbox](./sandbox) page.
41 | sandbox:
42 | install:
43 | - trunk init
44 | check:
45 | - trunk fmt {file_path}
46 | - trunk check --fix --print-failures {file_path}
47 |
--------------------------------------------------------------------------------
/traveller/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
Traveller | tsParticles 404
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
404
28 |
No worries traveller, this way.
29 |
30 |
31 |
32 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/traveller/css/404.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Silkscreen&display=swap");
2 | .particle-error,
3 | .wrapper,
4 | #tsparticles {
5 | width: 100%;
6 | height: 100%;
7 | margin: 0px;
8 | margin-top: -70px;
9 | }
10 |
11 | #tsparticles {
12 | position: fixed !important;
13 | opacity: 0.23;
14 | }
15 |
16 | .wrapper {
17 | background: #002c37 !important;
18 | }
19 |
20 | .wrapper a {
21 | text-decoration: none;
22 | }
23 |
24 | .denied__wrapper {
25 | width: 100%;
26 | display: block;
27 | margin: 0 auto;
28 | position: relative;
29 | margin-top: 8vh;
30 | }
31 |
32 | .wrapper h1 {
33 | text-align: center;
34 | color: #007ab8;
35 | font-family: "Silkscreen", sans-serif;
36 | font-size: 200px;
37 | margin-bottom: 0px;
38 | }
39 |
40 | .wrapper h3 {
41 | text-align: center;
42 | color: #f00a20;
43 | font-size: 19px;
44 | line-height: 23px;
45 | max-width: 530px;
46 | margin: 0px auto 30px auto;
47 | font-family: "Silkscreen", sans-serif;
48 | }
49 |
50 | .denied__link {
51 | background: none;
52 | color: #4d8800;
53 | padding: 12px 0px 10px 0px;
54 | border: 1px solid #4d8800;
55 | outline: none;
56 | border-radius: 7px;
57 | width: 250px;
58 | font-size: 15px;
59 | text-align: center;
60 | margin: 0 auto;
61 | vertical-align: middle;
62 | display: block;
63 | margin-bottom: 40px;
64 | margin-top: 25px;
65 | font-family: "Dosis", sans-serif;
66 | font-weight: 400;
67 | }
68 |
69 | .denied__link:hover {
70 | color: #ffbb39;
71 | border-color: #ffbb39;
72 | cursor: pointer;
73 | opacity: 1;
74 | }
75 |
76 | .wrapper .stars {
77 | animation: sparkle 1.6s infinite ease-in-out alternate;
78 | }
79 |
80 | @keyframes sparkle {
81 | 0% {
82 | opacity: 1;
83 | }
84 | 100% {
85 | opacity: 0.3;
86 | }
87 | }
88 |
89 | @keyframes spin {
90 | 0% {
91 | transform: rotateZ(0deg);
92 | }
93 | 100% {
94 | transform: rotateZ(360deg);
95 | }
96 | }
97 |
98 | @media (max-width: 600px) {
99 | .wrapper h1 {
100 | font-size: 75px;
101 | }
102 | .wrapper h3 {
103 | font-size: 16px;
104 | width: 200px;
105 | margin: 0 auto;
106 | line-height: 23px;
107 | }
108 | .wrapper h3 span {
109 | width: 60px;
110 | }
111 | }
112 |
113 | .hover {
114 | animation: hover 2s infinite ease-in-out alternate;
115 | }
116 |
117 | @keyframes hover {
118 | 0% {
119 | transform: translateY(3px);
120 | }
121 | 100% {
122 | transform: translateY(-3px);
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/traveller/js/404.js:
--------------------------------------------------------------------------------
1 | const particles = {
2 | fpsLimit: 120,
3 | particles: {
4 | number: {
5 | value: 3,
6 | density: {
7 | enable: true,
8 | area: 100,
9 | },
10 | },
11 | color: {
12 | value: "#008781",
13 | },
14 | shape: {
15 | type: "circle",
16 | },
17 | opacity: {
18 | value: 1,
19 | random: {
20 | enable: true,
21 | minimumValue: 0.1,
22 | },
23 | animation: {
24 | enable: true,
25 | speed: 1,
26 | minimumValue: 0,
27 | sync: false,
28 | },
29 | },
30 | size: {
31 | value: 50,
32 | random: {
33 | enable: true,
34 | minimumValue: 15,
35 | },
36 | },
37 | move: {
38 | enable: true,
39 | speed: 17,
40 | direction: "down",
41 | random: false,
42 | straight: true,
43 | outModes: {
44 | default: "out",
45 | },
46 | },
47 | },
48 | interactivity: {
49 | detectsOn: "canvas",
50 | events: {
51 | resize: false,
52 | },
53 | },
54 | detectRetina: true,
55 | };
56 |
57 | tsParticles.load("tsparticles", particles);
58 |
--------------------------------------------------------------------------------
/wholesome/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
18 |
19 |
Wholesome | tsParticles 404
20 |
21 |
22 |
23 |
24 |
25 |
26 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/wholesome/css/app.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Henny+Penny&display=swap");
2 | html {
3 | height: 100%;
4 | overflow: hidden;
5 | }
6 |
7 | body {
8 | background: #ffefa8;
9 | font-family: "Henny Penny", cursive;
10 | color: rgb(153, 100, 252);
11 | height: calc(100%);
12 | overflow: auto;
13 | position: relative;
14 | text-align: center;
15 | }
16 |
17 | #tsparticles {
18 | width: 100%;
19 | height: 100%;
20 | position: absolute;
21 | z-index: -1;
22 | }
23 |
24 | .cont {
25 | width: 100%;
26 | height: auto;
27 | /* margin-top: 4rem; */
28 | background-color: rgba(255, 255, 255, 0.767);
29 | width: max-content;
30 | margin: 2em auto;
31 | padding: 1.5em;
32 | font-size: 5vh;
33 | border-radius: 10%;
34 | backdrop-filter: blur(10px);
35 | }
36 |
37 | a {
38 | text-decoration: none;
39 | }
40 | .button {
41 | background-color: hsl(276, 97%, 61%);
42 | color: rgb(255, 255, 255);
43 | padding: 0.7em;
44 | border-radius: 1em;
45 | font-size: 3vh;
46 | border: none;
47 | text-align: center;
48 | margin: 0 auto;
49 | display: block;
50 | margin-bottom: 40px;
51 | margin-top: 25px;
52 | font-family: "Henny Penny", sans-serif;
53 | }
54 |
55 | .button:hover {
56 | cursor: pointer;
57 | opacity: 1;
58 | }
59 |
--------------------------------------------------------------------------------