mirror of
				https://github.com/aurora-dot/pastel.codes.git
				synced 2025-11-04 00:51:35 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			fix-docker
			...
			891eceba40
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 891eceba40 | |||
| dec522c914 | |||
| b3aae82a2a | |||
| 
						 | 
					7ff9f6f361 | 
@@ -4,5 +4,5 @@
 | 
			
		||||
  "tabWidth": 2,
 | 
			
		||||
  "singleQuote": true,
 | 
			
		||||
  "jsxSingleQuote": true,
 | 
			
		||||
  "plugins": ["prettier-plugin-tailwindcss"]
 | 
			
		||||
  "plugins": ["prettier-plugin-tailwindcss", "@prettier/plugin-pug"]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
FROM node:16-bullseye-slim
 | 
			
		||||
FROM node:21-bullseye-slim
 | 
			
		||||
 | 
			
		||||
ENV IS_DOCKER=true
 | 
			
		||||
ENV NODE_ENV=production
 | 
			
		||||
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY ["package.json", "package-lock.json*", "./"]
 | 
			
		||||
RUN npm install --omit=dev
 | 
			
		||||
RUN npm install
 | 
			
		||||
RUN npm install nodemon
 | 
			
		||||
COPY . .
 | 
			
		||||
RUN npm run build-tailwind
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										307
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										307
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -20,7 +20,7 @@
 | 
			
		||||
        "http-errors": "^1.8.0",
 | 
			
		||||
        "morgan": "^1.10.0",
 | 
			
		||||
        "nodemailer": "^6.6.1",
 | 
			
		||||
        "npm-watch": "^0.11.0",
 | 
			
		||||
        "npm-watch": "^0.12.0",
 | 
			
		||||
        "postcss-cli": "^8.3.1",
 | 
			
		||||
        "pug": "^3.0.2",
 | 
			
		||||
        "tailwind-hamburgers": "^1.1.1",
 | 
			
		||||
@@ -29,6 +29,7 @@
 | 
			
		||||
      },
 | 
			
		||||
      "devDependencies": {
 | 
			
		||||
        "@eslint/js": "^9.1.1",
 | 
			
		||||
        "@prettier/plugin-pug": "^3.0.0",
 | 
			
		||||
        "eslint": "^9.1.1",
 | 
			
		||||
        "eslint-config-prettier": "^9.1.0",
 | 
			
		||||
        "globals": "^15.1.0",
 | 
			
		||||
@@ -202,23 +203,6 @@
 | 
			
		||||
        "url": "https://opencollective.com/eslint"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@eslint/eslintrc/node_modules/debug": {
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@eslint/eslintrc/node_modules/globals": {
 | 
			
		||||
      "version": "14.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
 | 
			
		||||
@@ -266,23 +250,6 @@
 | 
			
		||||
        "node": ">=10.10.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@humanwhocodes/config-array/node_modules/debug": {
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@humanwhocodes/module-importer": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
 | 
			
		||||
@@ -347,6 +314,32 @@
 | 
			
		||||
        "node": ">= 8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@prettier/plugin-pug": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@prettier/plugin-pug/-/plugin-pug-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ERMMvGSJK/7CTc8OT7W/dtlV43sytyNeiCWckN0DIFepqwXotU0+coKMv5Wx6IWSNj7ZSjdNGBAA1nMPi388xw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/Shinigami92"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "paypal",
 | 
			
		||||
          "url": "https://www.paypal.com/donate/?hosted_button_id=L7GY729FBKTZY"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "pug-lexer": "^5.0.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": "^16.13.0 || >=18.0.0",
 | 
			
		||||
        "npm": ">=7.10.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependencies": {
 | 
			
		||||
        "prettier": "^3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@sendgrid/client": {
 | 
			
		||||
      "version": "8.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-8.1.3.tgz",
 | 
			
		||||
@@ -1183,11 +1176,19 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/debug": {
 | 
			
		||||
      "version": "3.2.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
 | 
			
		||||
      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": "^2.1.1"
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/deep-is": {
 | 
			
		||||
@@ -1467,23 +1468,6 @@
 | 
			
		||||
        "url": "https://opencollective.com/eslint"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/eslint/node_modules/debug": {
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/eslint/node_modules/escape-string-regexp": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 | 
			
		||||
@@ -2338,7 +2322,7 @@
 | 
			
		||||
    "node_modules/ignore-by-default": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk="
 | 
			
		||||
      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/import-cwd": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
@@ -2686,23 +2670,6 @@
 | 
			
		||||
        "node": ">=16"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lint-staged/node_modules/debug": {
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "peerDependenciesMeta": {
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "optional": true
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lint-staged/node_modules/lilconfig": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz",
 | 
			
		||||
@@ -3020,6 +2987,17 @@
 | 
			
		||||
        "triple-beam": "^1.3.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/lru-cache": {
 | 
			
		||||
      "version": "6.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "yallist": "^4.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/media-typer": {
 | 
			
		||||
      "version": "0.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 | 
			
		||||
@@ -3233,17 +3211,17 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/nodemon": {
 | 
			
		||||
      "version": "2.0.22",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
 | 
			
		||||
      "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
 | 
			
		||||
      "version": "3.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "chokidar": "^3.5.2",
 | 
			
		||||
        "debug": "^3.2.7",
 | 
			
		||||
        "debug": "^4",
 | 
			
		||||
        "ignore-by-default": "^1.0.1",
 | 
			
		||||
        "minimatch": "^3.1.2",
 | 
			
		||||
        "pstree.remy": "^1.1.8",
 | 
			
		||||
        "semver": "^5.7.1",
 | 
			
		||||
        "simple-update-notifier": "^1.0.7",
 | 
			
		||||
        "semver": "^7.5.3",
 | 
			
		||||
        "simple-update-notifier": "^2.0.0",
 | 
			
		||||
        "supports-color": "^5.5.0",
 | 
			
		||||
        "touch": "^3.1.0",
 | 
			
		||||
        "undefsafe": "^2.0.5"
 | 
			
		||||
@@ -3252,7 +3230,7 @@
 | 
			
		||||
        "nodemon": "bin/nodemon.js"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8.10.0"
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "type": "opencollective",
 | 
			
		||||
@@ -3262,7 +3240,7 @@
 | 
			
		||||
    "node_modules/nodemon/node_modules/has-flag": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 | 
			
		||||
      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=4"
 | 
			
		||||
      }
 | 
			
		||||
@@ -3281,7 +3259,7 @@
 | 
			
		||||
    "node_modules/nopt": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
 | 
			
		||||
      "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "abbrev": "1"
 | 
			
		||||
      },
 | 
			
		||||
@@ -3336,11 +3314,11 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/npm-watch": {
 | 
			
		||||
      "version": "0.11.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.11.0.tgz",
 | 
			
		||||
      "integrity": "sha512-wAOd0moNX2kSA2FNvt8+7ORwYaJpQ1ZoWjUYdb1bBCxq4nkWuU0IiJa9VpVxrj5Ks+FGXQd62OC/Bjk0aSr+dg==",
 | 
			
		||||
      "version": "0.12.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.12.0.tgz",
 | 
			
		||||
      "integrity": "sha512-4pBAB1bPcdvJRi+gQaHxAR7+oHuuZsntXMnkIAprwuM6xmFRI7RQW34AkJUin+q9RZutQG99MkWkkV3n21MdQg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "nodemon": "^2.0.7",
 | 
			
		||||
        "nodemon": "^3.0.1",
 | 
			
		||||
        "through2": "^4.0.2"
 | 
			
		||||
      },
 | 
			
		||||
      "bin": {
 | 
			
		||||
@@ -4326,11 +4304,17 @@
 | 
			
		||||
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/semver": {
 | 
			
		||||
      "version": "5.7.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 | 
			
		||||
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 | 
			
		||||
      "version": "7.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "lru-cache": "^6.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "semver": "bin/semver"
 | 
			
		||||
        "semver": "bin/semver.js"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/send": {
 | 
			
		||||
@@ -4523,22 +4507,14 @@
 | 
			
		||||
      "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/simple-update-notifier": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "semver": "~7.0.0"
 | 
			
		||||
        "semver": "^7.5.3"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=8.10.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/simple-update-notifier/node_modules/semver": {
 | 
			
		||||
      "version": "7.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
 | 
			
		||||
      "bin": {
 | 
			
		||||
        "semver": "bin/semver.js"
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/slash": {
 | 
			
		||||
@@ -5050,6 +5026,11 @@
 | 
			
		||||
        "node": ">=10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/yallist": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/yaml": {
 | 
			
		||||
      "version": "1.10.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
			
		||||
@@ -5217,15 +5198,6 @@
 | 
			
		||||
        "strip-json-comments": "^3.1.1"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "debug": {
 | 
			
		||||
          "version": "4.3.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ms": "2.1.2"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "globals": {
 | 
			
		||||
          "version": "14.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
 | 
			
		||||
@@ -5255,17 +5227,6 @@
 | 
			
		||||
        "@humanwhocodes/object-schema": "^2.0.3",
 | 
			
		||||
        "debug": "^4.3.1",
 | 
			
		||||
        "minimatch": "^3.0.5"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "debug": {
 | 
			
		||||
          "version": "4.3.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ms": "2.1.2"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@humanwhocodes/module-importer": {
 | 
			
		||||
@@ -5309,6 +5270,15 @@
 | 
			
		||||
        "fastq": "^1.6.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@prettier/plugin-pug": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@prettier/plugin-pug/-/plugin-pug-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ERMMvGSJK/7CTc8OT7W/dtlV43sytyNeiCWckN0DIFepqwXotU0+coKMv5Wx6IWSNj7ZSjdNGBAA1nMPi388xw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "pug-lexer": "^5.0.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@sendgrid/client": {
 | 
			
		||||
      "version": "8.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-8.1.3.tgz",
 | 
			
		||||
@@ -5931,11 +5901,11 @@
 | 
			
		||||
      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
 | 
			
		||||
    },
 | 
			
		||||
    "debug": {
 | 
			
		||||
      "version": "3.2.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
 | 
			
		||||
      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
 | 
			
		||||
      "version": "4.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "ms": "^2.1.1"
 | 
			
		||||
        "ms": "2.1.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "deep-is": {
 | 
			
		||||
@@ -6120,15 +6090,6 @@
 | 
			
		||||
        "text-table": "^0.2.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "debug": {
 | 
			
		||||
          "version": "4.3.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ms": "2.1.2"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "escape-string-regexp": {
 | 
			
		||||
          "version": "4.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
 | 
			
		||||
@@ -6765,7 +6726,7 @@
 | 
			
		||||
    "ignore-by-default": {
 | 
			
		||||
      "version": "1.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
 | 
			
		||||
      "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk="
 | 
			
		||||
      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
 | 
			
		||||
    },
 | 
			
		||||
    "import-cwd": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
@@ -7035,15 +6996,6 @@
 | 
			
		||||
          "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
 | 
			
		||||
          "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "debug": {
 | 
			
		||||
          "version": "4.3.4",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
 | 
			
		||||
          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "ms": "2.1.2"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "lilconfig": {
 | 
			
		||||
          "version": "3.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz",
 | 
			
		||||
@@ -7274,6 +7226,14 @@
 | 
			
		||||
        "triple-beam": "^1.3.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "lru-cache": {
 | 
			
		||||
      "version": "6.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "yallist": "^4.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "media-typer": {
 | 
			
		||||
      "version": "0.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 | 
			
		||||
@@ -7423,17 +7383,17 @@
 | 
			
		||||
      "integrity": "sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA=="
 | 
			
		||||
    },
 | 
			
		||||
    "nodemon": {
 | 
			
		||||
      "version": "2.0.22",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
 | 
			
		||||
      "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
 | 
			
		||||
      "version": "3.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "chokidar": "^3.5.2",
 | 
			
		||||
        "debug": "^3.2.7",
 | 
			
		||||
        "debug": "^4",
 | 
			
		||||
        "ignore-by-default": "^1.0.1",
 | 
			
		||||
        "minimatch": "^3.1.2",
 | 
			
		||||
        "pstree.remy": "^1.1.8",
 | 
			
		||||
        "semver": "^5.7.1",
 | 
			
		||||
        "simple-update-notifier": "^1.0.7",
 | 
			
		||||
        "semver": "^7.5.3",
 | 
			
		||||
        "simple-update-notifier": "^2.0.0",
 | 
			
		||||
        "supports-color": "^5.5.0",
 | 
			
		||||
        "touch": "^3.1.0",
 | 
			
		||||
        "undefsafe": "^2.0.5"
 | 
			
		||||
@@ -7442,7 +7402,7 @@
 | 
			
		||||
        "has-flag": {
 | 
			
		||||
          "version": "3.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 | 
			
		||||
          "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
 | 
			
		||||
          "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
 | 
			
		||||
        },
 | 
			
		||||
        "supports-color": {
 | 
			
		||||
          "version": "5.5.0",
 | 
			
		||||
@@ -7457,7 +7417,7 @@
 | 
			
		||||
    "nopt": {
 | 
			
		||||
      "version": "1.0.10",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
 | 
			
		||||
      "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
 | 
			
		||||
      "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "abbrev": "1"
 | 
			
		||||
      }
 | 
			
		||||
@@ -7490,11 +7450,11 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "npm-watch": {
 | 
			
		||||
      "version": "0.11.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.11.0.tgz",
 | 
			
		||||
      "integrity": "sha512-wAOd0moNX2kSA2FNvt8+7ORwYaJpQ1ZoWjUYdb1bBCxq4nkWuU0IiJa9VpVxrj5Ks+FGXQd62OC/Bjk0aSr+dg==",
 | 
			
		||||
      "version": "0.12.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.12.0.tgz",
 | 
			
		||||
      "integrity": "sha512-4pBAB1bPcdvJRi+gQaHxAR7+oHuuZsntXMnkIAprwuM6xmFRI7RQW34AkJUin+q9RZutQG99MkWkkV3n21MdQg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "nodemon": "^2.0.7",
 | 
			
		||||
        "nodemon": "^3.0.1",
 | 
			
		||||
        "through2": "^4.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
@@ -8150,9 +8110,12 @@
 | 
			
		||||
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
			
		||||
    },
 | 
			
		||||
    "semver": {
 | 
			
		||||
      "version": "5.7.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
 | 
			
		||||
      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
 | 
			
		||||
      "version": "7.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "lru-cache": "^6.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "send": {
 | 
			
		||||
      "version": "0.18.0",
 | 
			
		||||
@@ -8308,18 +8271,11 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "simple-update-notifier": {
 | 
			
		||||
      "version": "1.1.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
 | 
			
		||||
      "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
 | 
			
		||||
      "version": "2.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "semver": "~7.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "semver": {
 | 
			
		||||
          "version": "7.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
 | 
			
		||||
        }
 | 
			
		||||
        "semver": "^7.5.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "slash": {
 | 
			
		||||
@@ -8705,6 +8661,11 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 | 
			
		||||
      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
 | 
			
		||||
    },
 | 
			
		||||
    "yallist": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
 | 
			
		||||
    },
 | 
			
		||||
    "yaml": {
 | 
			
		||||
      "version": "1.10.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
			
		||||
 
 | 
			
		||||
@@ -13,12 +13,12 @@
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "echo \"Error: no test specified\" && exit 1",
 | 
			
		||||
    "dev": "npx nodemon ./bin/www -e js,pug,sass",
 | 
			
		||||
    "start": "npx ./bin/www -e js,pug,sass",
 | 
			
		||||
    "start": "npx nodemon ./bin/www -e js,pug,sass",
 | 
			
		||||
    "watch-tailwind": "npx npm-watch",
 | 
			
		||||
    "build-tailwind": "npx postcss src/tailwind.css -o public/stylesheets/style.css",
 | 
			
		||||
    "lint": "prettier --check . && eslint .",
 | 
			
		||||
    "format": "prettier --write --ignore-path .gitignore .",
 | 
			
		||||
    "prepare": "husky install"
 | 
			
		||||
    "husky-install": "husky install"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@sendgrid/mail": "^8.1.3",
 | 
			
		||||
@@ -33,7 +33,7 @@
 | 
			
		||||
    "http-errors": "^1.8.0",
 | 
			
		||||
    "morgan": "^1.10.0",
 | 
			
		||||
    "nodemailer": "^6.6.1",
 | 
			
		||||
    "npm-watch": "^0.11.0",
 | 
			
		||||
    "npm-watch": "^0.12.0",
 | 
			
		||||
    "postcss-cli": "^8.3.1",
 | 
			
		||||
    "pug": "^3.0.2",
 | 
			
		||||
    "tailwind-hamburgers": "^1.1.1",
 | 
			
		||||
@@ -42,6 +42,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@eslint/js": "^9.1.1",
 | 
			
		||||
    "@prettier/plugin-pug": "^3.0.0",
 | 
			
		||||
    "eslint": "^9.1.1",
 | 
			
		||||
    "eslint-config-prettier": "^9.1.0",
 | 
			
		||||
    "globals": "^15.1.0",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										141
									
								
								views/about.pug
									
									
									
									
									
								
							
							
						
						
									
										141
									
								
								views/about.pug
									
									
									
									
									
								
							@@ -1,70 +1,83 @@
 | 
			
		||||
extends layout
 | 
			
		||||
 | 
			
		||||
block nav-links
 | 
			
		||||
    a(href='/')
 | 
			
		||||
        li(class="py-3 bg-pink text-black hover:bg-black hover:text-pink transition duration-500 ease-in-out")
 | 
			
		||||
            span Home
 | 
			
		||||
    a(href='#')
 | 
			
		||||
        li(class="py-3 bg-black text-green hover:bg-pink hover:text-black transition duration-500 ease-in-out") 
 | 
			
		||||
            span About
 | 
			
		||||
    a(href='/obsidian/projects.html')
 | 
			
		||||
        li(class="py-3 bg-pink text-black hover:bg-black hover:text-pink transition duration-500 ease-in-out")
 | 
			
		||||
            span Obsidian
 | 
			
		||||
    a(href='https://github.com/aurora-dot')
 | 
			
		||||
        li(class="py-3 bg-pink text-black hover:bg-black hover:text-pink transition duration-500 ease-in-out")
 | 
			
		||||
            span Projects
 | 
			
		||||
    a(href='https://blog.pastel.codes')
 | 
			
		||||
        li(class="py-3 bg-pink text-black hover:bg-black hover:text-pink transition duration-500 ease-in-out")
 | 
			
		||||
            span Blog
 | 
			
		||||
    a(href='/contact')
 | 
			
		||||
        li(class="py-3 bg-pink text-black hover:bg-black hover:text-pink transition duration-500 ease-in-out")
 | 
			
		||||
            span Contact
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  a(href='/')
 | 
			
		||||
    li.py-3.bg-pink.text-black.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-black hover:text-pink'
 | 
			
		||||
    )
 | 
			
		||||
      span Home
 | 
			
		||||
  a(href='#')
 | 
			
		||||
    li.py-3.bg-black.text-green.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-pink hover:text-black'
 | 
			
		||||
    ) 
 | 
			
		||||
      span About
 | 
			
		||||
  a(href='/obsidian/projects.html')
 | 
			
		||||
    li.py-3.bg-pink.text-black.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-black hover:text-pink'
 | 
			
		||||
    )
 | 
			
		||||
      span Obsidian
 | 
			
		||||
  a(href='https://github.com/aurora-dot')
 | 
			
		||||
    li.py-3.bg-pink.text-black.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-black hover:text-pink'
 | 
			
		||||
    )
 | 
			
		||||
      span Projects
 | 
			
		||||
  a(href='https://blog.pastel.codes')
 | 
			
		||||
    li.py-3.bg-pink.text-black.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-black hover:text-pink'
 | 
			
		||||
    )
 | 
			
		||||
      span Blog
 | 
			
		||||
  a(href='/contact')
 | 
			
		||||
    li.py-3.bg-pink.text-black.transition.duration-500.ease-in-out(
 | 
			
		||||
      class='hover:bg-black hover:text-pink'
 | 
			
		||||
    )
 | 
			
		||||
      span Contact
 | 
			
		||||
 | 
			
		||||
block content
 | 
			
		||||
    div.mt-5
 | 
			
		||||
            div.text-lg
 | 
			
		||||
                h1.font-sans.text-6xl.wavy.mb-10 Hello.
 | 
			
		||||
                p.mb-5 I’m E, a 23-year-old full-stack developer with three years’ professional experience. I live in the UK.
 | 
			
		||||
                p.mb-5 I’m currently working at Bounce Technologies, where I contribute to or lead various projects using a bunch of different languages and technologies.
 | 
			
		||||
                p.mb-5 I also do UI/UX design and DevOps! I’m currently learning Go and adjusting to TypeScript.
 | 
			
		||||
                p.mb-5 In my spare time I create digital art and make electronic music. I also like to discover and play experimental and artistic video games.
 | 
			
		||||
                p.mb-5 Here are all of 
 | 
			
		||||
                    a(class=" text-green" href="/obsidian/projects.html") my projects
 | 
			
		||||
                    span  and my 
 | 
			
		||||
                        a(class=" text-green" href="https://github.com/aurora-dot/") GitHub
 | 
			
		||||
            if project
 | 
			
		||||
                div
 | 
			
		||||
                    h1.font-sans.text-6xl.wavy.my-10 Projects.
 | 
			
		||||
                
 | 
			
		||||
                div
 | 
			
		||||
                    each val in project
 | 
			
		||||
                        div(class="mb-10 text-center sm:text-left")
 | 
			
		||||
                            div.contents
 | 
			
		||||
                                a(href=val.url).contents
 | 
			
		||||
                                    if val.feature_image
 | 
			
		||||
                                        img(class="sm:w-2/3 mx-auto sm:mx-0" src=val.feature_image)
 | 
			
		||||
                                    else
 | 
			
		||||
                                        img(src="/images/logo.png")
 | 
			
		||||
                            div.mt-2
 | 
			
		||||
                                a(href=val.url)
 | 
			
		||||
                                    span(class="font-sans text-2xl sm:text-3xl mt-3 mb-3") #{val.title}
 | 
			
		||||
                                p.text-lg #{val.excerpt}
 | 
			
		||||
  .mt-5
 | 
			
		||||
    .text-lg
 | 
			
		||||
      h1.font-sans.text-6xl.wavy.mb-10 Hello.
 | 
			
		||||
      p.mb-5 I’m E, a 22-year-old full-stack developer with three years’ professional experience. I live in the UK.
 | 
			
		||||
      p.mb-5 I’m currently working at Bounce Technologies, where I contribute to or lead various projects using a bunch of different languages and technologies.
 | 
			
		||||
      p.mb-5 I also do UI/UX design and DevOps! I’m currently learning Go and adjusting to TypeScript.
 | 
			
		||||
      p.mb-5 In my spare time I create digital art and make electronic music. I also like to discover and play experimental and artistic video games.
 | 
			
		||||
      p.mb-5 Here are all of!{ ' ' }
 | 
			
		||||
        |
 | 
			
		||||
        a.text-green(href='/obsidian/projects.html') my projects
 | 
			
		||||
        span !{ ' ' } and my !{ ' ' }
 | 
			
		||||
          |
 | 
			
		||||
          a.text-green(href='https://github.com/aurora-dot/') GitHub
 | 
			
		||||
        | .
 | 
			
		||||
    if project
 | 
			
		||||
      div
 | 
			
		||||
        h1.font-sans.text-6xl.wavy.my-10 Projects.
 | 
			
		||||
 | 
			
		||||
            if blog
 | 
			
		||||
                div
 | 
			
		||||
                    h1.font-sans.text-6xl.wavy.my-10 Blog.
 | 
			
		||||
                div
 | 
			
		||||
                    each val in blog
 | 
			
		||||
                        div(class="mb-10 text-center sm:text-left")
 | 
			
		||||
                            div.contents
 | 
			
		||||
                                a(href=val.url).contents
 | 
			
		||||
                                    if val.feature_image
 | 
			
		||||
                                        img(class="sm:w-2/3 mx-auto sm:mx-0" src=val.feature_image)
 | 
			
		||||
                                    else
 | 
			
		||||
                                        img(src="/images/logo.png")
 | 
			
		||||
                            div.mt-2
 | 
			
		||||
                                a(href=val.url)
 | 
			
		||||
                                    span(class="font-sans text-2xl sm:text-3xl mt-3 mb-3") #{val.title}
 | 
			
		||||
                                p.text-lg #{val.excerpt}
 | 
			
		||||
      div
 | 
			
		||||
        each val in project
 | 
			
		||||
          .mb-10.text-center(class='sm:text-left')
 | 
			
		||||
            .contents
 | 
			
		||||
              a.contents(href=val.url)
 | 
			
		||||
                if val.feature_image
 | 
			
		||||
                  img.mx-auto(class='sm:w-2/3 sm:mx-0', src=val.feature_image)
 | 
			
		||||
                else
 | 
			
		||||
                  img(src='/images/logo.png')
 | 
			
		||||
            .mt-2
 | 
			
		||||
              a(href=val.url)
 | 
			
		||||
                span.font-sans.text-2xl.mt-3.mb-3(class='sm:text-3xl') #{ val.title }
 | 
			
		||||
              p.text-lg #{ val.excerpt }
 | 
			
		||||
 | 
			
		||||
    if blog
 | 
			
		||||
      div
 | 
			
		||||
        h1.font-sans.text-6xl.wavy.my-10 Blog.
 | 
			
		||||
      div
 | 
			
		||||
        each val in blog
 | 
			
		||||
          .mb-10.text-center(class='sm:text-left')
 | 
			
		||||
            .contents
 | 
			
		||||
              a.contents(href=val.url)
 | 
			
		||||
                if val.feature_image
 | 
			
		||||
                  img.mx-auto(class='sm:w-2/3 sm:mx-0', src=val.feature_image)
 | 
			
		||||
                else
 | 
			
		||||
                  img(src='/images/logo.png')
 | 
			
		||||
            .mt-2
 | 
			
		||||
              a(href=val.url)
 | 
			
		||||
                span.font-sans.text-2xl.mt-3.mb-3(class='sm:text-3xl') #{ val.title }
 | 
			
		||||
              p.text-lg #{ val.excerpt }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user