mirror of
https://github.com/hyprwm/hyprland-website.git
synced 2024-12-22 10:19:49 +01:00
Improve Security of site + EJS work + few QoL updates (#20)
This commit is contained in:
parent
cd48a42ae9
commit
61930389a0
20 changed files with 2560 additions and 692 deletions
132
.gitignore
vendored
132
.gitignore
vendored
|
@ -1,4 +1,130 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
package-lock.json
|
||||
.vscode/
|
||||
.TODO
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
.stylelintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# vuepress v2.x temp and cache directory
|
||||
.temp
|
||||
.cache
|
||||
|
||||
# Docusaurus cache and generated files
|
||||
.docusaurus
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
24
index.js
24
index.js
|
@ -1,24 +0,0 @@
|
|||
const express = require("express");
|
||||
const path = require("path");
|
||||
const app = express();
|
||||
|
||||
app.use(express.static(path.join(__dirname, "public")));
|
||||
|
||||
app.set("view engine", "ejs");
|
||||
app.set("views", path.join(__dirname, "views"));
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.render("home")
|
||||
})
|
||||
|
||||
app.get("/rices", (req, res) => {
|
||||
res.render("rices")
|
||||
})
|
||||
|
||||
app.get("*", (req, res) => {
|
||||
res.render("404")
|
||||
})
|
||||
|
||||
app.listen(4000, () => {
|
||||
console.log("Listening to PORT: 4000");
|
||||
});
|
45
index.mjs
Normal file
45
index.mjs
Normal file
|
@ -0,0 +1,45 @@
|
|||
import express from "express";
|
||||
const app = express();
|
||||
|
||||
import { join, dirname } from "path";
|
||||
const __dirname = dirname(new URL(import.meta.url).pathname);
|
||||
|
||||
import compression from "compression";
|
||||
import expressEJSLayouts from "express-ejs-layouts";
|
||||
|
||||
app.disable('x-powered-by');
|
||||
|
||||
app.use(compression());
|
||||
app.use(express.static(join(__dirname, "public")));
|
||||
|
||||
app.set("view engine", "ejs");
|
||||
app.set("views", join(__dirname, "views"));
|
||||
|
||||
app.set("layout extractScripts", true);
|
||||
app.set("layout extractStyles", true);
|
||||
app.use(expressEJSLayouts);
|
||||
|
||||
app.use((req, res, next) => {
|
||||
// Security Headers - Refer to MDN and helmetjs docs
|
||||
res.set("Content-Security-Policy", `default-src 'self'; img-src 'self'; media-src 'self'; script-src 'unsafe-inline' 'self' https://cdn.jsdelivr.net https://code.jquery.com; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; font-src 'self'; object-src 'none'; child-src 'none'; frame-ancestors 'none'; frame-src 'none'; upgrade-insecure-requests`);
|
||||
res.set("Strict-Transport-Security", "max-age=15552000; includeSubDomains");
|
||||
res.set("X-Content-Type-Options", "nosniff");
|
||||
res.set("X-Frame-Options", "DENY");
|
||||
next();
|
||||
});
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
res.render("home");
|
||||
});
|
||||
|
||||
app.get("/rices", (req, res) => {
|
||||
res.render("rices");
|
||||
});
|
||||
|
||||
app.use((_, res) => {
|
||||
res.status(404).render("404");
|
||||
});
|
||||
|
||||
app.listen(process.env.PORT || 4000, () => {
|
||||
console.log("Listening to PORT: 4000");
|
||||
});
|
1296
package-lock.json
generated
Normal file
1296
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
32
package.json
32
package.json
|
@ -1,17 +1,33 @@
|
|||
{
|
||||
"name": "hyprland-site",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"name": "hyprland-website",
|
||||
"version": "1.1.0",
|
||||
"description": "Website for Hyprland - Hyprland - A wayland compositor that doesn't sacrifice on its looks!",
|
||||
"main": "index.mjs",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
"start": "NODE_ENV=production node index.mjs",
|
||||
"dev": "nodemon index.mjs"
|
||||
},
|
||||
"keywords": [],
|
||||
"keywords": [
|
||||
"hyprland"
|
||||
],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"compression": "^1.7.4",
|
||||
"ejs": "^3.1.8",
|
||||
"express": "^4.18.1",
|
||||
"nodemon": "^2.0.19"
|
||||
"express-ejs-layouts": "^2.5.1"
|
||||
},
|
||||
"repository": "github:hyprwm/hyprland-website",
|
||||
"private": "true",
|
||||
"os": [
|
||||
"darwin",
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.20"
|
||||
}
|
||||
}
|
||||
|
|
748
pnpm-lock.yaml
Normal file
748
pnpm-lock.yaml
Normal file
|
@ -0,0 +1,748 @@
|
|||
lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
compression: ^1.7.4
|
||||
ejs: ^3.1.8
|
||||
express: ^4.18.1
|
||||
express-ejs-layouts: ^2.5.1
|
||||
nodemon: ^2.0.20
|
||||
|
||||
dependencies:
|
||||
compression: 1.7.4
|
||||
ejs: 3.1.8
|
||||
express: 4.18.2
|
||||
express-ejs-layouts: 2.5.1
|
||||
|
||||
devDependencies:
|
||||
nodemon: 2.0.20
|
||||
|
||||
packages:
|
||||
|
||||
/abbrev/1.1.1:
|
||||
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
|
||||
dev: true
|
||||
|
||||
/accepts/1.3.8:
|
||||
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
mime-types: 2.1.35
|
||||
negotiator: 0.6.3
|
||||
dev: false
|
||||
|
||||
/ansi-styles/4.3.0:
|
||||
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
color-convert: 2.0.1
|
||||
dev: false
|
||||
|
||||
/anymatch/3.1.3:
|
||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/array-flatten/1.1.1:
|
||||
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
||||
dev: false
|
||||
|
||||
/async/3.2.4:
|
||||
resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
|
||||
dev: false
|
||||
|
||||
/balanced-match/1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
|
||||
/binary-extensions/2.2.0:
|
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/body-parser/1.20.1:
|
||||
resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
|
||||
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
|
||||
dependencies:
|
||||
bytes: 3.1.2
|
||||
content-type: 1.0.5
|
||||
debug: 2.6.9
|
||||
depd: 2.0.0
|
||||
destroy: 1.2.0
|
||||
http-errors: 2.0.0
|
||||
iconv-lite: 0.4.24
|
||||
on-finished: 2.4.1
|
||||
qs: 6.11.0
|
||||
raw-body: 2.5.1
|
||||
type-is: 1.6.18
|
||||
unpipe: 1.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/brace-expansion/1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
|
||||
/brace-expansion/2.0.1:
|
||||
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
dev: false
|
||||
|
||||
/braces/3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
dev: true
|
||||
|
||||
/bytes/3.0.0:
|
||||
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/bytes/3.1.2:
|
||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/call-bind/1.0.2:
|
||||
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
|
||||
dependencies:
|
||||
function-bind: 1.1.1
|
||||
get-intrinsic: 1.2.0
|
||||
dev: false
|
||||
|
||||
/chalk/4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
supports-color: 7.2.0
|
||||
dev: false
|
||||
|
||||
/chokidar/3.5.3:
|
||||
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
|
||||
engines: {node: '>= 8.10.0'}
|
||||
dependencies:
|
||||
anymatch: 3.1.3
|
||||
braces: 3.0.2
|
||||
glob-parent: 5.1.2
|
||||
is-binary-path: 2.1.0
|
||||
is-glob: 4.0.3
|
||||
normalize-path: 3.0.0
|
||||
readdirp: 3.6.0
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
dev: true
|
||||
|
||||
/color-convert/2.0.1:
|
||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||
engines: {node: '>=7.0.0'}
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
dev: false
|
||||
|
||||
/color-name/1.1.4:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
dev: false
|
||||
|
||||
/compressible/2.0.18:
|
||||
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
mime-db: 1.52.0
|
||||
dev: false
|
||||
|
||||
/compression/1.7.4:
|
||||
resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
accepts: 1.3.8
|
||||
bytes: 3.0.0
|
||||
compressible: 2.0.18
|
||||
debug: 2.6.9
|
||||
on-headers: 1.0.2
|
||||
safe-buffer: 5.1.2
|
||||
vary: 1.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/concat-map/0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
/content-disposition/0.5.4:
|
||||
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/content-type/1.0.5:
|
||||
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/cookie-signature/1.0.6:
|
||||
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
|
||||
dev: false
|
||||
|
||||
/cookie/0.5.0:
|
||||
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/debug/2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
/debug/3.2.7_supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
supports-color: 5.5.0
|
||||
dev: true
|
||||
|
||||
/depd/2.0.0:
|
||||
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/destroy/1.2.0:
|
||||
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
|
||||
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
|
||||
dev: false
|
||||
|
||||
/ee-first/1.1.1:
|
||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||
dev: false
|
||||
|
||||
/ejs/3.1.8:
|
||||
resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
jake: 10.8.5
|
||||
dev: false
|
||||
|
||||
/encodeurl/1.0.2:
|
||||
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/escape-html/1.0.3:
|
||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||
dev: false
|
||||
|
||||
/etag/1.8.1:
|
||||
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/express-ejs-layouts/2.5.1:
|
||||
resolution: {integrity: sha512-IXROv9n3xKga7FowT06n1Qn927JR8ZWDn5Dc9CJQoiiaaDqbhW5PDmWShzbpAa2wjWT1vJqaIM1S6vJwwX11gA==}
|
||||
dev: false
|
||||
|
||||
/express/4.18.2:
|
||||
resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
dependencies:
|
||||
accepts: 1.3.8
|
||||
array-flatten: 1.1.1
|
||||
body-parser: 1.20.1
|
||||
content-disposition: 0.5.4
|
||||
content-type: 1.0.5
|
||||
cookie: 0.5.0
|
||||
cookie-signature: 1.0.6
|
||||
debug: 2.6.9
|
||||
depd: 2.0.0
|
||||
encodeurl: 1.0.2
|
||||
escape-html: 1.0.3
|
||||
etag: 1.8.1
|
||||
finalhandler: 1.2.0
|
||||
fresh: 0.5.2
|
||||
http-errors: 2.0.0
|
||||
merge-descriptors: 1.0.1
|
||||
methods: 1.1.2
|
||||
on-finished: 2.4.1
|
||||
parseurl: 1.3.3
|
||||
path-to-regexp: 0.1.7
|
||||
proxy-addr: 2.0.7
|
||||
qs: 6.11.0
|
||||
range-parser: 1.2.1
|
||||
safe-buffer: 5.2.1
|
||||
send: 0.18.0
|
||||
serve-static: 1.15.0
|
||||
setprototypeof: 1.2.0
|
||||
statuses: 2.0.1
|
||||
type-is: 1.6.18
|
||||
utils-merge: 1.0.1
|
||||
vary: 1.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/filelist/1.0.4:
|
||||
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
|
||||
dependencies:
|
||||
minimatch: 5.1.6
|
||||
dev: false
|
||||
|
||||
/fill-range/7.0.1:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
dev: true
|
||||
|
||||
/finalhandler/1.2.0:
|
||||
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
encodeurl: 1.0.2
|
||||
escape-html: 1.0.3
|
||||
on-finished: 2.4.1
|
||||
parseurl: 1.3.3
|
||||
statuses: 2.0.1
|
||||
unpipe: 1.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/forwarded/0.2.0:
|
||||
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/fresh/0.5.2:
|
||||
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/fsevents/2.3.2:
|
||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/function-bind/1.1.1:
|
||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||
dev: false
|
||||
|
||||
/get-intrinsic/1.2.0:
|
||||
resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==}
|
||||
dependencies:
|
||||
function-bind: 1.1.1
|
||||
has: 1.0.3
|
||||
has-symbols: 1.0.3
|
||||
dev: false
|
||||
|
||||
/glob-parent/5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
dev: true
|
||||
|
||||
/has-flag/3.0.0:
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/has-flag/4.0.0:
|
||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/has-symbols/1.0.3:
|
||||
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: false
|
||||
|
||||
/has/1.0.3:
|
||||
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dependencies:
|
||||
function-bind: 1.1.1
|
||||
dev: false
|
||||
|
||||
/http-errors/2.0.0:
|
||||
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
depd: 2.0.0
|
||||
inherits: 2.0.4
|
||||
setprototypeof: 1.2.0
|
||||
statuses: 2.0.1
|
||||
toidentifier: 1.0.1
|
||||
dev: false
|
||||
|
||||
/iconv-lite/0.4.24:
|
||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
dev: false
|
||||
|
||||
/ignore-by-default/1.0.1:
|
||||
resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
|
||||
dev: true
|
||||
|
||||
/inherits/2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
dev: false
|
||||
|
||||
/ipaddr.js/1.9.1:
|
||||
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: false
|
||||
|
||||
/is-binary-path/2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
binary-extensions: 2.2.0
|
||||
dev: true
|
||||
|
||||
/is-extglob/2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-glob/4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
dev: true
|
||||
|
||||
/is-number/7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
dev: true
|
||||
|
||||
/jake/10.8.5:
|
||||
resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
async: 3.2.4
|
||||
chalk: 4.1.2
|
||||
filelist: 1.0.4
|
||||
minimatch: 3.1.2
|
||||
dev: false
|
||||
|
||||
/media-typer/0.3.0:
|
||||
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/merge-descriptors/1.0.1:
|
||||
resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
|
||||
dev: false
|
||||
|
||||
/methods/1.1.2:
|
||||
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/mime-db/1.52.0:
|
||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/mime-types/2.1.35:
|
||||
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
mime-db: 1.52.0
|
||||
dev: false
|
||||
|
||||
/mime/1.6.0:
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/minimatch/3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
|
||||
/minimatch/5.1.6:
|
||||
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
brace-expansion: 2.0.1
|
||||
dev: false
|
||||
|
||||
/ms/2.0.0:
|
||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||
dev: false
|
||||
|
||||
/ms/2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
/negotiator/0.6.3:
|
||||
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/nodemon/2.0.20:
|
||||
resolution: {integrity: sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chokidar: 3.5.3
|
||||
debug: 3.2.7_supports-color@5.5.0
|
||||
ignore-by-default: 1.0.1
|
||||
minimatch: 3.1.2
|
||||
pstree.remy: 1.1.8
|
||||
semver: 5.7.1
|
||||
simple-update-notifier: 1.1.0
|
||||
supports-color: 5.5.0
|
||||
touch: 3.1.0
|
||||
undefsafe: 2.0.5
|
||||
dev: true
|
||||
|
||||
/nopt/1.0.10:
|
||||
resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
abbrev: 1.1.1
|
||||
dev: true
|
||||
|
||||
/normalize-path/3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/object-inspect/1.12.3:
|
||||
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
|
||||
dev: false
|
||||
|
||||
/on-finished/2.4.1:
|
||||
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
ee-first: 1.1.1
|
||||
dev: false
|
||||
|
||||
/on-headers/1.0.2:
|
||||
resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/parseurl/1.3.3:
|
||||
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/path-to-regexp/0.1.7:
|
||||
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
|
||||
dev: false
|
||||
|
||||
/picomatch/2.3.1:
|
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||
engines: {node: '>=8.6'}
|
||||
dev: true
|
||||
|
||||
/proxy-addr/2.0.7:
|
||||
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dependencies:
|
||||
forwarded: 0.2.0
|
||||
ipaddr.js: 1.9.1
|
||||
dev: false
|
||||
|
||||
/pstree.remy/1.1.8:
|
||||
resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
|
||||
dev: true
|
||||
|
||||
/qs/6.11.0:
|
||||
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
||||
engines: {node: '>=0.6'}
|
||||
dependencies:
|
||||
side-channel: 1.0.4
|
||||
dev: false
|
||||
|
||||
/range-parser/1.2.1:
|
||||
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
|
||||
/raw-body/2.5.1:
|
||||
resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dependencies:
|
||||
bytes: 3.1.2
|
||||
http-errors: 2.0.0
|
||||
iconv-lite: 0.4.24
|
||||
unpipe: 1.0.0
|
||||
dev: false
|
||||
|
||||
/readdirp/3.6.0:
|
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/safe-buffer/5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
dev: false
|
||||
|
||||
/safe-buffer/5.2.1:
|
||||
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
||||
dev: false
|
||||
|
||||
/safer-buffer/2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
dev: false
|
||||
|
||||
/semver/5.7.1:
|
||||
resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/semver/7.0.0:
|
||||
resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/send/0.18.0:
|
||||
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
depd: 2.0.0
|
||||
destroy: 1.2.0
|
||||
encodeurl: 1.0.2
|
||||
escape-html: 1.0.3
|
||||
etag: 1.8.1
|
||||
fresh: 0.5.2
|
||||
http-errors: 2.0.0
|
||||
mime: 1.6.0
|
||||
ms: 2.1.3
|
||||
on-finished: 2.4.1
|
||||
range-parser: 1.2.1
|
||||
statuses: 2.0.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/serve-static/1.15.0:
|
||||
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
encodeurl: 1.0.2
|
||||
escape-html: 1.0.3
|
||||
parseurl: 1.3.3
|
||||
send: 0.18.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/setprototypeof/1.2.0:
|
||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||
dev: false
|
||||
|
||||
/side-channel/1.0.4:
|
||||
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
|
||||
dependencies:
|
||||
call-bind: 1.0.2
|
||||
get-intrinsic: 1.2.0
|
||||
object-inspect: 1.12.3
|
||||
dev: false
|
||||
|
||||
/simple-update-notifier/1.1.0:
|
||||
resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
semver: 7.0.0
|
||||
dev: true
|
||||
|
||||
/statuses/2.0.1:
|
||||
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/supports-color/5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
has-flag: 3.0.0
|
||||
dev: true
|
||||
|
||||
/supports-color/7.2.0:
|
||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
dev: false
|
||||
|
||||
/to-regex-range/5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
dev: true
|
||||
|
||||
/toidentifier/1.0.1:
|
||||
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
/touch/3.1.0:
|
||||
resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
nopt: 1.0.10
|
||||
dev: true
|
||||
|
||||
/type-is/1.6.18:
|
||||
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dependencies:
|
||||
media-typer: 0.3.0
|
||||
mime-types: 2.1.35
|
||||
dev: false
|
||||
|
||||
/undefsafe/2.0.5:
|
||||
resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
|
||||
dev: true
|
||||
|
||||
/unpipe/1.0.0:
|
||||
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/utils-merge/1.0.1:
|
||||
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dev: false
|
||||
|
||||
/vary/1.1.2:
|
||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
|
@ -41,4 +41,5 @@
|
|||
background-color: #1a1a2e;
|
||||
color: aquamarine;
|
||||
transform: scale(1.2);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
15
public/js/play-vid-on-focus.js
Normal file
15
public/js/play-vid-on-focus.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
$(document).ready(function () {
|
||||
$(".animatedVideo").each(function () {
|
||||
$(this).get(0).pause();
|
||||
});
|
||||
$(window).on("scroll", function () {
|
||||
$(".animatedVideo").each(function () {
|
||||
let scroll = $(window).scrollTop();
|
||||
let elementTop = $(this).offset().top;
|
||||
let elementHeight = $(this).height();
|
||||
if (scroll > elementTop - $(window).height() + elementHeight) {
|
||||
$(this).get(0).play();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
11
public/js/smooth-view.js
Normal file
11
public/js/smooth-view.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
const links = document.querySelectorAll(".like-this");
|
||||
|
||||
|
||||
links.forEach((link) => {
|
||||
link.addEventListener("click", (event) => {
|
||||
event.preventDefault();
|
||||
const targetId = link.getAttribute("href");
|
||||
const target = document.querySelector(targetId);
|
||||
target.scrollIntoView({ behavior: "smooth" });
|
||||
});
|
||||
});
|
108
views/404.ejs
108
views/404.ejs
|
@ -1,102 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<div class="con404">
|
||||
<img src="/imgs/404.png" alt="not found?">
|
||||
<h1>Page Not Found!</h1>
|
||||
<p>Look where you land, open seas and empty hands</p>
|
||||
<a href="/"><button>Return to Hyprland</button></a>
|
||||
</div>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="ico/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" href="css/home.css" />
|
||||
<link rel="stylesheet" href="css/404.css" />
|
||||
<meta name="darkreader-lock">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" />
|
||||
<title>Oops ...</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
|
||||
<a class="logo" href="https://hyprland.org"><img src="imgs/hyprland.png" alt="logo"></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<li><a href="https://hyprland.org">Hyprland</a></li>
|
||||
<li>
|
||||
<a class="nav-link" data-value="Wall of Fame" href="https://www.hyprland.org/rices">Wall of Fame</a>
|
||||
</li>
|
||||
<li><a class="nav-link" data-value="Get Started" href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a></li>
|
||||
<li><a class="nav-link" data-value="Wiki" href="https://wiki.hyprland.org/">Wiki</a></li>
|
||||
<li><a class="nav-link"data-value="FAQ" href="https://wiki.hyprland.org/FAQ/">FAQ</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<a class="cta" href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">Github</a>
|
||||
<p class="mob-menu">≡</p>
|
||||
</header>
|
||||
|
||||
<div class="con404">
|
||||
|
||||
<img src="imgs/404.png" alt="not found?">
|
||||
|
||||
<h1>Page Not Found!</h1>
|
||||
<p>Look where you land, open seas and empty hands</p>
|
||||
<a href="/"><button>Return to Hyprland</button></a>
|
||||
</div>
|
||||
|
||||
<hr style="color: #a3a3a3a5; margin: 0px 10%; height: 2px; border: none; background-color: #a3a3a3a5;" />
|
||||
<footer>
|
||||
<div class="footer-text">
|
||||
|
||||
<p style="margin-top: 10px">© Hyprland Development 2023</p>
|
||||
<div id="devs">
|
||||
<p>
|
||||
Developers -
|
||||
<a href="https://github.com/vaxerski" target="_blank" rel="noopener">Vaxerski (Lead Developer)</a>
|
||||
<span>,</span>
|
||||
<a class="site" href="https://github.com/System-x64" target="_blank" rel="noopener">
|
||||
System-x64 (Website Stuff)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/fufexan" target="_blank" rel="noopener">Fufexan (Supporting Developer)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/ThatOneCalculator" target="_blank" rel="noopener">
|
||||
ThatOneCalculator (Package Maintainer)</a>
|
||||
<span> and </span>
|
||||
<a href="https://github.com/hyprwm/Hyprland/graphs/contributors" target="_blank" rel="noopener">
|
||||
our fellow contributors</a>.
|
||||
</p>
|
||||
</div>
|
||||
<p style=" margin-top: 20px; margin-bottom: 10px;">Hyprland is licensed under the BSD 3-Clause "New" or "Revised"
|
||||
License.</p>
|
||||
</div>
|
||||
<div class="footer-icons">
|
||||
<a href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-github"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="https://discord.com/invite/hQ9XvMUjjr" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-discord"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
<div id="mobile__menu" class="overlay">
|
||||
<a id="close-id" class="close">×</a>
|
||||
<div class="overlay__content">
|
||||
<a href="https://hyprland.org">Hyprland</a>
|
||||
<a href="https://www.hyprland.org/rices">Wall Of Fame</a>
|
||||
<a href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a>
|
||||
<a href="https://wiki.hyprland.org">Wiki</a>
|
||||
<a href="https://wiki.hyprland.org/FAQ/">FAQ</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="js/mobile.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<link rel="stylesheet" href="/css/404.css"/>
|
37
views/components/footer.ejs
Normal file
37
views/components/footer.ejs
Normal file
|
@ -0,0 +1,37 @@
|
|||
<hr style="color: #a3a3a3a5; margin: 0px 10%; height: 2px; border: none; background-color: #a3a3a3a5;"/>
|
||||
<footer>
|
||||
<div class="footer-text">
|
||||
<p style="margin-top: 10px">© Hyprland Development 2023</p>
|
||||
<div id="devs">
|
||||
<p>
|
||||
Developers -
|
||||
<a href="https://github.com/vaxerski" target="_blank" rel="noopener">Vaxerski (Lead Developer)</a>
|
||||
<span>,</span>
|
||||
<a class="site" href="https://github.com/System-x64" target="_blank" rel="noopener">System-x64 (Website Stuff)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/fufexan" target="_blank" rel="noopener">Fufexan (Supporting Developer)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/ThatOneCalculator" target="_blank" rel="noopener">ThatOneCalculator (Package Maintainer)</a>
|
||||
<span> and </span>
|
||||
<a href="https://github.com/hyprwm/Hyprland/graphs/contributors" target="_blank" rel="noopener">our fellow contributors</a>.
|
||||
</p>
|
||||
</div>
|
||||
<p style="margin-top: 20px; margin-bottom: 10px;">Hyprland is licensed under the BSD 3-Clause "New" or "Revised" License.</p>
|
||||
</div>
|
||||
<div class="footer-icons">
|
||||
<a href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-github"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="https://discord.com/invite/hQ9XvMUjjr" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-discord"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
43
views/components/head.ejs
Normal file
43
views/components/head.ejs
Normal file
|
@ -0,0 +1,43 @@
|
|||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<link rel="icon" href="/favicon.ico" type="image/ico"/>
|
||||
<meta name="darkreader-lock"/>
|
||||
<link rel="icon" href="/ico/favicon-32x32.png" size="32x32" type="image/png"/>
|
||||
<link rel="icon" href="/ico/favicon-16x16.png" size="16x16" type="image/png"/>
|
||||
<title>Hyprland - A wayland compositor that doesn't sacrifice on its looks!</title>
|
||||
|
||||
<meta property="og:site_name" content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"/>
|
||||
<meta property="og:type" content="website"/>
|
||||
<meta property="og:url" content="https://www.hyprland.org/"/>
|
||||
<meta property="og:image" content="/imgs/wall_4k.png"/>
|
||||
|
||||
<meta name="twitter:card" content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"/>
|
||||
<meta name="twitter:title" content="Hyprland - A wayland compositor that doesn't sacrifice on its looks!"/>
|
||||
<meta name="twitter:image" content="/imgs/wall_4k.png"/>
|
||||
|
||||
<meta name="description" content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"/>
|
||||
<meta name="keywords" content="tiling wayland compositor, wayland compositor, wayland, hyprland, tiling window manager, linux, arch, twm, x11, sway, bspwm, dwm"/>
|
||||
<meta name="robots" content="Wiki, https://wiki.hyprland.org"/>
|
||||
<meta name="robots" content="Install, https://wiki.hyprland.org/Getting-Started/Installation/"/>
|
||||
<meta name="robots" content="Configure, https://wiki.hyprland.org/Configuring/Configuring-Hyprland/"/>
|
||||
<meta name="robots" content="FAQ, https://wiki.hyprland.org/FAQ/"/>
|
||||
<meta name="robots" content="Contribute, https://wiki.hyprland.org/Contributing-and-Debugging/"/>
|
||||
|
||||
<link rel="stylesheet" href="/css/home.css"/>
|
||||
<%- style %>
|
||||
<!--
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css"/>
|
||||
<link rel="stylesheet" href="css/rices.css"/>
|
||||
<link rel="stylesheet" href="css/404.css"/>
|
||||
-->
|
||||
|
||||
<script defer src="/js/mobile.js"></script>
|
||||
<%- script %>
|
||||
<!--
|
||||
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="js/smooth-view.js"></script>
|
||||
<script src="js/play-vid-on-focus.js"></script>
|
||||
<script src="js/github-logo.js"></script>
|
||||
-->
|
14
views/components/header.ejs
Normal file
14
views/components/header.ejs
Normal file
|
@ -0,0 +1,14 @@
|
|||
<header>
|
||||
<a class="logo" href="/"><img src="/imgs/hyprland.png" alt="logo"></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<li><a class="nav-link" data-value="Home" href="/">Hyprland</a></li>
|
||||
<li><a class="nav-link" data-value="Wall of Fame" href="/rices">Wall of Fame</a></li>
|
||||
<li><a class="nav-link" data-value="Get Started" href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a></li>
|
||||
<li><a class="nav-link" data-value="Wiki" href="https://wiki.hyprland.org/">Wiki</a></li>
|
||||
<li><a class="nav-link" data-value="FAQ" href="https://wiki.hyprland.org/FAQ/">FAQ</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<a class="cta" href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">Github</a>
|
||||
<p class="mob-menu">≡</p>
|
||||
</header>
|
10
views/components/mobile_menu.ejs
Normal file
10
views/components/mobile_menu.ejs
Normal file
|
@ -0,0 +1,10 @@
|
|||
<div id="mobile__menu" class="overlay">
|
||||
<a id="close-id" class="close">×</a>
|
||||
<div class="overlay__content">
|
||||
<a id="home" href="/">Hyprland</a>
|
||||
<a href="/rices">Wall Of Fame</a>
|
||||
<a href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a>
|
||||
<a href="https://wiki.hyprland.org">Wiki</a>
|
||||
<a href="https://wiki.hyprland.org/FAQ/">FAQ</a>
|
||||
</div>
|
||||
</div>
|
3
views/components/swiperjs.ejs
Normal file
3
views/components/swiperjs.ejs
Normal file
|
@ -0,0 +1,3 @@
|
|||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css"/>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script defer src="/js/swiper.js"></script>
|
540
views/home.ejs
540
views/home.ejs
|
@ -1,409 +1,165 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" href="ico/favicon.ico" type="image/ico" />
|
||||
<meta name="darkreader-lock" />
|
||||
<link
|
||||
rel="icon"
|
||||
href="ico/favicon-32x32.png"
|
||||
size="32x32"
|
||||
type="image/png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
href="ico/favicon-32x32.png"
|
||||
size="16x16"
|
||||
type="image/png"
|
||||
/>
|
||||
<link rel="stylesheet" href="css/home.css" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css"
|
||||
/>
|
||||
<title>
|
||||
Hyprland - A wayland compositor that doesn't sacrifice on its looks!
|
||||
</title>
|
||||
|
||||
<!--SEO-->
|
||||
<meta
|
||||
property="og:site_name"
|
||||
content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"
|
||||
/>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://www.hyprland.org/" />
|
||||
<meta property="og:image" content="imgs/wall_4k.png" />
|
||||
<meta
|
||||
name="twitter:card"
|
||||
content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"
|
||||
/>
|
||||
<meta
|
||||
name="twitter:title"
|
||||
content="Hyprland - A wayland compositor that doesn't sacrifice on its looks!"
|
||||
/>
|
||||
<meta name="twitter:image" content="imgs/wall_4k" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Hyprland is a dynamic tiling wayland compositor that offers unique features like smooth animations, dynamic tiling and rounded corners. Learn more by visiting this site!"
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="tiling wayland compositor, wayland compositor, wayland, hyprland, tiling window manager, linux, arch, twm, x11, sway, bspwm, dwm"
|
||||
/>
|
||||
<meta name="robots" content="Wiki, https://wiki.hyprland.org" />
|
||||
<meta
|
||||
name="robots"
|
||||
content="Install, https://wiki.hyprland.org/Getting-Started/Installation/"
|
||||
/>
|
||||
<meta
|
||||
name="robots"
|
||||
content="Configure, https://wiki.hyprland.org/Configuring/Configuring-Hyprland/"
|
||||
/>
|
||||
<meta name="robots" content="FAQ, https://wiki.hyprland.org/FAQ/" />
|
||||
<meta
|
||||
name="robots"
|
||||
content="Contribute, https://wiki.hyprland.org/Contributing-and-Debugging/"
|
||||
/>
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<a class="logo" href="https://hyprland.org"
|
||||
><img src="imgs/hyprland.png" alt="logo"
|
||||
/></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<!-- <li><a id="home-full" href="https://hyprland.org">Hyprland</a></li> -->
|
||||
<li>
|
||||
<a
|
||||
class="nav-link"
|
||||
data-value="Wall of Fame"
|
||||
href="https://www.hyprland.org/rices"
|
||||
>Wall of Fame</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
class="nav-link"
|
||||
data-value="Get Started"
|
||||
href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/"
|
||||
>Get Started</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
class="nav-link"
|
||||
data-value="Wiki"
|
||||
href="https://wiki.hyprland.org/"
|
||||
>Wiki</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
class="nav-link"
|
||||
data-value="FAQ"
|
||||
href="https://wiki.hyprland.org/FAQ/"
|
||||
>FAQ</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="top" id="top">
|
||||
<div class="text">
|
||||
<h2 id="welcome">Welcome to Hyprland!</h2>
|
||||
<p>
|
||||
A dynamic tiling
|
||||
<a
|
||||
id="cta-github"
|
||||
class="cta"
|
||||
href="https://github.com/hyprwm/Hyprland"
|
||||
href="https://wayland.freedesktop.org/"
|
||||
class="text-para-link"
|
||||
id="link-1"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>Github</a
|
||||
>Wayland</a
|
||||
>
|
||||
<p class="mob-menu">≡</p>
|
||||
</header>
|
||||
|
||||
<div class="top" id="top">
|
||||
<div class="text">
|
||||
<h2 id="welcome">Welcome to Hyprland!</h2>
|
||||
<p>
|
||||
A dynamic tiling
|
||||
<a
|
||||
href="https://wayland.freedesktop.org/"
|
||||
class="text-para-link"
|
||||
id="link-1"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>Wayland</a
|
||||
>
|
||||
compositor based on
|
||||
<a
|
||||
href="https://way-cooler.org/book/wlroots_introduction.html"
|
||||
class="text-para-link"
|
||||
id="link-2"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>wlroots</a
|
||||
>
|
||||
that doesn't sacrifice on its looks.
|
||||
</p>
|
||||
<a
|
||||
id="install-hypr"
|
||||
href="https://wiki.hyprland.org/Getting-Started/Installation/"
|
||||
>
|
||||
<div>
|
||||
<p>Install Hyprland</p>
|
||||
</div>
|
||||
</a>
|
||||
compositor based on
|
||||
<a
|
||||
href="https://way-cooler.org/book/wlroots_introduction.html"
|
||||
class="text-para-link"
|
||||
id="link-2"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>wlroots</a
|
||||
>
|
||||
that doesn't sacrifice on its looks.
|
||||
</p>
|
||||
<a
|
||||
id="install-hypr"
|
||||
href="https://wiki.hyprland.org/Getting-Started/Installation/"
|
||||
>
|
||||
<div>
|
||||
<p>Install Hyprland</p>
|
||||
</div>
|
||||
<div id="slide" class="top">
|
||||
<div id="slide-content">
|
||||
<div class="swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img1.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img2.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img3.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img4.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img5.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="imgs/img6.png" id="slide-img" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-pagination" style="color: #cfe8f6"></div>
|
||||
|
||||
<div class="swiper-button-prev" style="color: #cfe8f6"></div>
|
||||
<div class="swiper-button-next" style="color: #cfe8f6"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div id="slide" class="top">
|
||||
<div id="slide-content">
|
||||
<div class="swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img1.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img2.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img3.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img4.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img5.png" id="slide-img" />
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<img src="/imgs/img6.png" id="slide-img" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-pagination" style="color: #cfe8f6"></div>
|
||||
|
||||
<div class="swiper-button-prev" style="color: #cfe8f6"></div>
|
||||
<div class="swiper-button-next" style="color: #cfe8f6"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="features">
|
||||
<h1 id="features-text">Features</h1>
|
||||
<div class="animation">
|
||||
<div id="ani-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="videos/windows.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
<div id="ani-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Smooth<br />
|
||||
Animations
|
||||
</h1>
|
||||
<p>
|
||||
Hyprland offers smooth and responsive animations, be it when
|
||||
switching between windows, changing a workspace or opening an app
|
||||
launcher, on top of being highly customizable!
|
||||
</p>
|
||||
<a href="https://wiki.hyprland.org/Configuring/Animations/">
|
||||
<div>MORE ABOUT ANIMATIONS</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tiling" id="tiling">
|
||||
<div id="til-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Dynamic<br />
|
||||
Tiling
|
||||
</h1>
|
||||
<p>
|
||||
Tiling in Hyprland is dynamic, meaning it handles the placement of
|
||||
windows automatically based on multiple factors. Hyprland supports a
|
||||
variety of layouts, each with their own options to fine-tune them to
|
||||
your likings.
|
||||
</p>
|
||||
<a href="https://wiki.hyprland.org/Configuring/Dwindle-Layout/">
|
||||
<div>MORE ABOUT TILING</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="til-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="videos/tiling.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
</div>
|
||||
<div class="configure">
|
||||
<div id="con-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="videos/configure.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
<div id="con-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Easy<br />
|
||||
Configuration
|
||||
</h1>
|
||||
<p>
|
||||
Editing the config file for Hyprland is as easy as editing a text
|
||||
document. Be sure to check the
|
||||
<a href="https://wiki.hyprland.org/" id="link-config">Wiki Page</a>
|
||||
for information about the config options, features and syntax. If
|
||||
you still feel lost, hit us up
|
||||
<a
|
||||
id="link-config-discord"
|
||||
href="https://discord.com/invite/hQ9XvMUjjr"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>@Discord</a
|
||||
>.
|
||||
</p>
|
||||
<a
|
||||
id="feat-text"
|
||||
href="https://wiki.hyprland.org/Configuring/Configuring-Hyprland/"
|
||||
>
|
||||
<div>GET STARTED</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="features">
|
||||
<h1 id="features-text">Features</h1>
|
||||
<div class="animation">
|
||||
<div id="ani-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="/videos/windows.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
<div id="ani-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Smooth<br />
|
||||
Animations
|
||||
</h1>
|
||||
<p>
|
||||
Hyprland offers smooth and responsive animations, be it when
|
||||
switching between windows, changing a workspace or opening an app
|
||||
launcher, on top of being highly customizable!
|
||||
</p>
|
||||
<a href="https://wiki.hyprland.org/Configuring/Animations/">
|
||||
<div>MORE ABOUT ANIMATIONS</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tiling" id="tiling">
|
||||
<div id="til-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Dynamic<br />
|
||||
Tiling
|
||||
</h1>
|
||||
<p>
|
||||
Tiling in Hyprland is dynamic, meaning it handles the placement of
|
||||
windows automatically based on multiple factors. Hyprland supports a
|
||||
variety of layouts, each with their own options to fine-tune them to
|
||||
your likings.
|
||||
</p>
|
||||
<a href="https://wiki.hyprland.org/Configuring/Dwindle-Layout/">
|
||||
<div>MORE ABOUT TILING</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<hr
|
||||
style="
|
||||
color: #a3a3a3a5;
|
||||
margin: 0px 10%;
|
||||
height: 2px;
|
||||
border: none;
|
||||
background-color: #a3a3a3a5;
|
||||
"
|
||||
/>
|
||||
<footer>
|
||||
<div class="footer-text">
|
||||
<p style="margin-top: 10px">© Hyprland Development 2023</p>
|
||||
<div id="devs">
|
||||
<p>
|
||||
Developers -
|
||||
<a href="https://github.com/vaxerski" target="_blank" rel="noopener"
|
||||
>Vaxerski (Lead Developer)</a
|
||||
>
|
||||
<span>,</span>
|
||||
<a
|
||||
class="site"
|
||||
href="https://github.com/System-x64"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
System-x64 (Website Stuff)</a
|
||||
>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/fufexan" target="_blank" rel="noopener"
|
||||
>Fufexan (Supporting Developer)</a
|
||||
>
|
||||
<span>,</span>
|
||||
<a
|
||||
href="https://github.com/ThatOneCalculator"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
ThatOneCalculator (Package Maintainer)</a
|
||||
>
|
||||
<span> and </span>
|
||||
<a
|
||||
href="https://github.com/hyprwm/Hyprland/graphs/contributors"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
our fellow contributors</a
|
||||
>
|
||||
(thank you guys!).
|
||||
</p>
|
||||
</div>
|
||||
<p id="licence">
|
||||
<a
|
||||
href="https://github.com/hyprwm/Hyprland/blob/main/LICENSE"
|
||||
rel="noopener"
|
||||
target="_blank"
|
||||
>Hyprland is licensed under the BSD 3-Clause "New" or "Revised"
|
||||
License.</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
<div class="footer-icons">
|
||||
<a
|
||||
href="https://github.com/hyprwm/Hyprland"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="16"
|
||||
height="16"
|
||||
fill="currentColor"
|
||||
class="bi bi-github"
|
||||
viewBox="0 0 16 16"
|
||||
>
|
||||
<path
|
||||
color="#a3a3a3a5"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
<div id="til-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="/videos/tiling.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
</div>
|
||||
<div class="configure">
|
||||
<div id="con-vid">
|
||||
<video
|
||||
class="animatedVideo"
|
||||
src="/videos/configure.mp4"
|
||||
autoplay
|
||||
muted
|
||||
loop
|
||||
></video>
|
||||
</div>
|
||||
<div id="con-text">
|
||||
<h1 style="padding-bottom: 15px">
|
||||
Easy<br />
|
||||
Configuration
|
||||
</h1>
|
||||
<p>
|
||||
Editing the config file for Hyprland is as easy as editing a text
|
||||
document. Be sure to check the
|
||||
<a href="https://wiki.hyprland.org/" id="link-config">Wiki Page</a>
|
||||
for information about the config options, features and syntax. If
|
||||
you still feel lost, hit us up
|
||||
<a
|
||||
id="link-config-discord"
|
||||
href="https://discord.com/invite/hQ9XvMUjjr"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="16"
|
||||
height="16"
|
||||
fill="currentColor"
|
||||
class="bi bi-discord"
|
||||
viewBox="0 0 16 16"
|
||||
>
|
||||
<path
|
||||
color="#a3a3a3a5"
|
||||
d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"
|
||||
/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
<div id="mobile__menu" class="overlay">
|
||||
<a id="close-id" class="close">×</a>
|
||||
<div class="overlay__content">
|
||||
<!-- <a id="home" href="https://hyprland.org">Hyprland</a> -->
|
||||
<a href="https://www.hyprland.org/rices">Wall Of Fame</a>
|
||||
<a href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/"
|
||||
>Get Started</a
|
||||
>
|
||||
<a href="https://wiki.hyprland.org">Wiki</a>
|
||||
<a href="https://wiki.hyprland.org/FAQ/">FAQ</a>
|
||||
</div>
|
||||
>@Discord</a
|
||||
>.
|
||||
</p>
|
||||
<a
|
||||
id="feat-text"
|
||||
href="https://wiki.hyprland.org/Configuring/Configuring-Hyprland/"
|
||||
>
|
||||
<div>GET STARTED</div>
|
||||
</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="js/mobile.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/smooth-view.js"></script>
|
||||
<script src="js/github-logo.js"></script>
|
||||
<script src="js/play-vid-on-focus.js"></script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <script>
|
||||
let myDiv = document.getElementById("top");
|
||||
myDiv.style.height = window.innerHeight + "px";
|
||||
</script> -->
|
||||
</body>
|
||||
</html>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
|
||||
<%- include("./components/swiperjs") %>
|
||||
|
||||
<script defer src="/js/smooth-view.js"></script>
|
||||
<script defer src="/js/github-logo.js"></script>
|
||||
<script defer src="/js/play-vid-on-focus.js"></script>
|
13
views/layout.ejs
Normal file
13
views/layout.ejs
Normal file
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<%- include("./components/head") %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%- include("./components/header") %>
|
||||
<%- body %>
|
||||
<%- include("./components/mobile_menu") %>
|
||||
<%- include("./components/footer") %>
|
||||
</body>
|
||||
</html>
|
128
views/rices.ejs
128
views/rices.ejs
|
@ -1,115 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<div class="wofdiv">
|
||||
<h1>Wall of Fame</h1>
|
||||
<p>The Wall of Fame documents the winning rices from past ricing competitons held on our Discord server.</p>
|
||||
</div>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="icon" href="ico/favicon.ico" type="image/ico" />
|
||||
<meta name="darkreader-lock">
|
||||
<meta property="og:image" content="imgs/wall_4k.png">
|
||||
<meta name="twitter:image" content="imgs/wall_4k">
|
||||
<link rel="icon" href="ico/favicon-32x32.png" size="32x32" type="image/png" />
|
||||
<link rel="icon" href="ico/favicon-32x32.png" size="16x16" type="image/png" />
|
||||
<link rel="stylesheet" href="css/home.css" />
|
||||
<link rel="stylesheet" href="css/rices.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" />
|
||||
<title>Wall of Fame - Hyprland</title>
|
||||
</head>
|
||||
<hr style="color: #cfe8f6; margin: 0px 10%; height: 3px; border: none; background-color: #cfe8f6;" />
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<a class="logo" href="https://hyprland.org"><img src="imgs/hyprland.png" alt="logo"></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<li>
|
||||
<a class="nav-link" data-value="Home" href="https://www.hyprland.org/">Hyprland</a>
|
||||
</li>
|
||||
<li><a class="nav-link" data-value="Get Started"
|
||||
href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a></li>
|
||||
<li><a class="nav-link" data-value="Wiki" href="https://wiki.hyprland.org/">Wiki</a></li>
|
||||
<li><a class="nav-link" data-value="FAQ" href="https://wiki.hyprland.org/FAQ/">FAQ</a></li>
|
||||
<div class="ricewins">
|
||||
<ul>
|
||||
<li class="month" style="font-size: 2.5rem;">December 2022</li>
|
||||
<li class="win-text">#1: Flafy<br><br><img src="/imgs/ricingcomp1/flafy.png"></li>
|
||||
<li class="win-text">#2: (<i>ex aequo</i>) flick0<br><br><img src="/imgs/ricingcomp1/flicko.png"></li>
|
||||
<li class="win-text">#2: (<i>ex aequo</i>) amadeus<br><br><img src="/imgs/ricingcomp1/amadeus.png"></li>
|
||||
<li class="win-text">#3: (<i>ex aequo</i>) Lyasm<br><br><img src="/imgs/ricingcomp1/lyasm.png"></li>
|
||||
<li class="win-text">#3: (<i>ex aequo</i>) lauroro<br><br><img src="/imgs/ricingcomp1/lauroro.jpg"></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<a class="cta" href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">Github</a>
|
||||
<p class="mob-menu">≡</p>
|
||||
</header>
|
||||
|
||||
<div class="wofdiv">
|
||||
<h1>Wall of Fame</h1>
|
||||
<p>The Wall of Fame documents the winning rices from past ricing competitons held on our Discord server.</p>
|
||||
</div>
|
||||
|
||||
<hr style="color: #cfe8f6; margin: 0px 10%; height: 3px; border: none; background-color: #cfe8f6;" />
|
||||
|
||||
<div class="ricewins">
|
||||
<ul>
|
||||
<li class="month" style="font-size: 2.5rem;">December 2022</li>
|
||||
<li class="win-text">#1: Flafy<br><br><img src="imgs/ricingcomp1/flafy.png"></li>
|
||||
<li class="win-text">#2: (<i>ex aequo</i>) flick0<br><br><img src="imgs/ricingcomp1/flicko.png"></li>
|
||||
<li class="win-text">#2: (<i>ex aequo</i>) amadeus<br><br><img src="imgs/ricingcomp1/amadeus.png"></li>
|
||||
<li class="win-text">#3: (<i>ex aequo</i>) Lyasm<br><br><img src="imgs/ricingcomp1/lyasm.png"></li>
|
||||
<li class="win-text">#3: (<i>ex aequo</i>) lauroro<br><br><img src="imgs/ricingcomp1/lauroro.jpg"></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr style="color: #a3a3a3a5; margin: 0px 10%; height: 2px; border: none; background-color: #a3a3a3a5;" />
|
||||
<footer>
|
||||
<div class="footer-text">
|
||||
|
||||
<p style="margin-top: 10px">© Hyprland Development 2023</p>
|
||||
<div id="devs">
|
||||
<p>
|
||||
Developers -
|
||||
<a href="https://github.com/vaxerski" target="_blank" rel="noopener">Vaxerski (Lead Developer)</a>
|
||||
<span>,</span>
|
||||
<a class="site" href="https://github.com/System-x64" target="_blank" rel="noopener">
|
||||
System-x64 (Website Stuff)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/fufexan" target="_blank" rel="noopener">Fufexan (Supporting
|
||||
Developer)</a>
|
||||
<span>,</span>
|
||||
<a href="https://github.com/ThatOneCalculator" target="_blank" rel="noopener">
|
||||
ThatOneCalculator (Package Maintainer)</a>
|
||||
<span> and </span>
|
||||
<a href="https://github.com/hyprwm/Hyprland/graphs/contributors" target="_blank" rel="noopener">
|
||||
our fellow contributors</a>.
|
||||
</p>
|
||||
</div>
|
||||
<p style=" margin-top: 20px; margin-bottom: 10px;">Hyprland is licensed under the BSD 3-Clause "New" or
|
||||
"Revised"
|
||||
License.</p>
|
||||
</div>
|
||||
<div class="footer-icons">
|
||||
<a href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-github"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="https://discord.com/invite/hQ9XvMUjjr" target="_blank" rel="noopener">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-discord"
|
||||
viewBox="0 0 16 16">
|
||||
<path color="#a3a3a3a5"
|
||||
d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</footer>
|
||||
<div id="mobile__menu" class="overlay">
|
||||
<a id="close-id" class="close">×</a>
|
||||
<div class="overlay__content">
|
||||
<a href="https://www.hyprland.org/">Hyprland</a>
|
||||
<a href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a>
|
||||
<a href="https://wiki.hyprland.org">Wiki</a>
|
||||
<a href="https://wiki.hyprland.org/FAQ/">FAQ</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="js/mobile.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<link rel="stylesheet" href="/css/rices.css"/>
|
|
@ -1,52 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" href="ico/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" href="css/404.css" />
|
||||
<link rel="stylesheet" href="css/home.css" />
|
||||
<meta name="darkreader-lock">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css" />
|
||||
<title>Oopsy...</title>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a class="logo" href="/"><img src="imgs/hyprland.png" alt="logo"></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<li><a href="https://hyprland.org">Hyprland</a></li>
|
||||
<li>
|
||||
<a class="nav-link" data-value="Wall of Fame" href="https://www.hyprland.org/rices">Wall of Fame</a>
|
||||
</li>
|
||||
<li><a class="nav-link" data-value="Get Started" href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a></li>
|
||||
<li><a class="nav-link" data-value="Wiki" href="https://wiki.hyprland.org/">Wiki</a></li>
|
||||
<li><a class="nav-link"data-value="FAQ" href="https://wiki.hyprland.org/FAQ/">FAQ</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
<a class="cta" href="https://github.com/hyprwm/Hyprland" target="_blank" rel="noopener">Github</a>
|
||||
<p class="mob-menu">≡</p>
|
||||
</header>
|
||||
|
||||
<div class="con404"></div>
|
||||
<div id="div-img"><img src="svg/login.svg" alt=""></div>
|
||||
<div id="div-text"><h1>Page Not Found!</h1><p>Look where you land, open seas and empty hands</p><a href="/"><button>Return Home</button></a></div>
|
||||
|
||||
<div id="mobile__menu" class="overlay">
|
||||
<a id="close-id" class="close">×</a>
|
||||
<div class="overlay__content">
|
||||
<a href="https://hyprland.org">Hyprland</a>
|
||||
<a href="https://www.hyprland.org/rices">Wall Of Fame</a>
|
||||
<a href="https://wiki.hyprland.org/Getting-Started/Master-Tutorial/">Get Started</a>
|
||||
<a href="https://wiki.hyprland.org">Wiki</a>
|
||||
<a href="https://wiki.hyprland.org/FAQ/">FAQ</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="js/mobile.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue