Compare commits
14 commits
monsterize
...
main
Author | SHA1 | Date | |
---|---|---|---|
![]() |
268e054cc8 | ||
![]() |
b5548f373d | ||
![]() |
536e55b84d | ||
![]() |
6ac4de80cf | ||
![]() |
aaa5d23200 | ||
![]() |
fc94884114 | ||
![]() |
64ebd3d59d | ||
![]() |
28f496f393 | ||
![]() |
70a982361a | ||
![]() |
d88d3c3685 | ||
![]() |
655acdfd3e | ||
![]() |
9d74ec41b9 | ||
![]() |
71cf08fd7c | ||
![]() |
d5c7862294 |
8 changed files with 107 additions and 58 deletions
|
@ -1 +1 @@
|
||||||
nodejs 19.7.0
|
nodejs latest
|
||||||
|
|
12
Dockerfile
Normal file
12
Dockerfile
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# build with nodejs
|
||||||
|
FROM node:16.17.0-bullseye-slim
|
||||||
|
ENV NODE_ENV production
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . /app
|
||||||
|
RUN mkdir -p dist node_modules
|
||||||
|
RUN chown -R node:node .
|
||||||
|
USER node
|
||||||
|
RUN NODE_ENV=development npm ci
|
||||||
|
RUN npm run postinstall
|
||||||
|
RUN npm run prestart
|
||||||
|
CMD ["node", "./app.js"]
|
19
README.md
19
README.md
|
@ -1,19 +1,23 @@
|
||||||
# Pronoun Monster
|
# Pronoun Monster
|
||||||
|
|
||||||
|
- [Site Status](https://status.basking.monster/status/pronoun-monster)
|
||||||
|
- Express Service: 
|
||||||
|
- Express Service: 
|
||||||
|
- [View site](https://pronoun.monster/)
|
||||||
|
|
||||||
Inspired by [@morganastra](https://twitter.com/morganastra)'s [pronoun.is](https://github.com/witch-house/pronoun.is) project</p>
|
Inspired by [@morganastra](https://twitter.com/morganastra)'s [pronoun.is](https://github.com/witch-house/pronoun.is) project</p>
|
||||||
[](https://www.digitalocean.com/?refcode=dfabbc9bb922&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
|
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
- [NodeJS](https://nodejs.org/en/)
|
- [NodeJS](https://nodejs.org/en/)
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
npm i # Installs Dependencies
|
npm i # Installs Dependencies
|
||||||
```
|
```
|
||||||
|
|
||||||
### Serving Locally
|
### Serving Locally
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -22,11 +26,12 @@ npm start
|
||||||
|
|
||||||
### Deploy
|
### Deploy
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
npm build:css
|
npm run deploy
|
||||||
npm start
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
|
|
||||||
TODO
|
```sh
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
|
12
docker-compose.yml
Normal file
12
docker-compose.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
container_name: pronoun-monster
|
||||||
|
image: pronoun-monster
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "9995:3000"
|
98
package-lock.json
generated
98
package-lock.json
generated
|
@ -2030,9 +2030,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/lint-staged/node_modules/yaml": {
|
"node_modules/lint-staged/node_modules/yaml": {
|
||||||
"version": "2.2.1",
|
"version": "2.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz",
|
||||||
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
|
"integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 14"
|
"node": ">= 14"
|
||||||
|
@ -2424,10 +2424,16 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.4",
|
"version": "3.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
|
}
|
||||||
|
],
|
||||||
"bin": {
|
"bin": {
|
||||||
"nanoid": "bin/nanoid.cjs"
|
"nanoid": "bin/nanoid.cjs"
|
||||||
},
|
},
|
||||||
|
@ -2451,9 +2457,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/nodemon": {
|
"node_modules/nodemon": {
|
||||||
"version": "2.0.21",
|
"version": "2.0.22",
|
||||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.21.tgz",
|
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
|
||||||
"integrity": "sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==",
|
"integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^3.5.2",
|
"chokidar": "^3.5.2",
|
||||||
|
@ -2531,9 +2537,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/nodemon/node_modules/semver": {
|
"node_modules/nodemon/node_modules/semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver"
|
"semver": "bin/semver"
|
||||||
|
@ -2588,9 +2594,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/normalize-package-data/node_modules/semver": {
|
"node_modules/normalize-package-data/node_modules/semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver"
|
"semver": "bin/semver"
|
||||||
|
@ -3004,9 +3010,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.21",
|
"version": "8.4.31",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
||||||
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
|
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3016,10 +3022,14 @@
|
||||||
{
|
{
|
||||||
"type": "tidelift",
|
"type": "tidelift",
|
||||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.4",
|
"nanoid": "^3.3.6",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
},
|
},
|
||||||
|
@ -3575,9 +3585,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.3.8",
|
"version": "7.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
|
@ -5950,9 +5960,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"yaml": {
|
"yaml": {
|
||||||
"version": "2.2.1",
|
"version": "2.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz",
|
||||||
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
|
"integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6222,9 +6232,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"nanoid": {
|
"nanoid": {
|
||||||
"version": "3.3.4",
|
"version": "3.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"negotiator": {
|
"negotiator": {
|
||||||
|
@ -6240,9 +6250,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"nodemon": {
|
"nodemon": {
|
||||||
"version": "2.0.21",
|
"version": "2.0.22",
|
||||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.21.tgz",
|
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
|
||||||
"integrity": "sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==",
|
"integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chokidar": "^3.5.2",
|
"chokidar": "^3.5.2",
|
||||||
|
@ -6304,9 +6314,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
|
@ -6348,9 +6358,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6624,12 +6634,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.21",
|
"version": "8.4.31",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
||||||
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
|
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanoid": "^3.3.4",
|
"nanoid": "^3.3.6",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
|
@ -6997,9 +7007,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.3.8",
|
"version": "7.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
|
|
18
package.json
18
package.json
|
@ -5,29 +5,35 @@
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "mkdir -p ./dist",
|
"postinstall": "mkdir -p ./dist",
|
||||||
"start": "concurrently npm:serve:*",
|
"start": "node app.js",
|
||||||
|
"prestart": "npm run start:css && npm run start:svg && npm run start:images",
|
||||||
|
"start:css": "tailwindcss -i ./src/app.css -o ./dist/app.css",
|
||||||
|
"start:svg": "npm run build:svg",
|
||||||
|
"start:images": "npm run build:images",
|
||||||
|
"serve": "concurrently npm:serve:*",
|
||||||
"build": "concurrently npm:build:*",
|
"build": "concurrently npm:build:*",
|
||||||
"serve:handlebars": "node app.js",
|
"serve:handlebars": "node app.js",
|
||||||
"serve:css": "tailwindcss -i ./src/app.css -o ./dist/app.css --watch",
|
"serve:css": "tailwindcss -i ./src/app.css -o ./dist/app.css --watch",
|
||||||
"serve:svg": "nodemon --watch 'src/svgs/*' -e svg --exec 'npm run build:svg'",
|
"serve:svg": "nodemon --watch 'src/svgs/*' -e svg --exec 'npm run build:svg'",
|
||||||
"serve:svg": "nodemon --watch 'src/images/*' --exec 'npm run build:images'",
|
"serve:image": "nodemon --watch 'src/images/*' --exec 'npm run build:images'",
|
||||||
"build:css": "tailwindcss -i ./src/app.css -o ./dist/app.css",
|
"build:css": "tailwindcss -i ./src/app.css -o ./dist/app.css",
|
||||||
"build:svg": "svgdir2sprite ./src/svgs ./dist/spritesheet.svg",
|
"build:svg": "svgdir2sprite ./src/svgs ./dist/spritesheet.svg",
|
||||||
"build:images": "mkdir -p ./dist ./dist/images && cp ./src/images/* ./dist/images/",
|
"build:images": "mkdir -p ./dist ./dist/images && cp ./src/images/* ./dist/images/",
|
||||||
"test": "ava",
|
"test": "ava",
|
||||||
"lint": "prettier --check .",
|
"lint": "prettier --check .",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install",
|
||||||
|
"deploy": "docker compose up --build -d"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+ssh://git@gitlab.com/gaiety/pronoun-monster.git"
|
"url": "ssh://git@git.basking.monster:222/gaiety/pronoun-monster.git"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "Unlicense",
|
"license": "Unlicense",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://gitlab.com/gaiety/pronoun-monster/issues"
|
"url": "https://git.basking.monster/gaiety/pronoun-monster/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/gaiety/pronoun-monster#readme",
|
"homepage": "https://pronoun.monster/",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"ava": "^5.2.0",
|
"ava": "^5.2.0",
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Special+Elite&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Special+Elite&display=swap" rel="stylesheet">
|
||||||
<link rel="stylesheet" href="https://fonts.cdnfonts.com/css/redaction">
|
<link rel="stylesheet" href="https://fonts.cdnfonts.com/css/redaction">
|
||||||
<link rel="stylesheet" href="/app.css">
|
<link rel="stylesheet" href="/app.css">
|
||||||
|
|
||||||
|
<script defer data-domain="pronoun.monster" src="https://plausible.io/js/script.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="min-h-screen flex flex-col">
|
<body class="min-h-screen flex flex-col">
|
||||||
|
|
|
@ -14,4 +14,6 @@
|
||||||
<p>Inspired by <a href="https://twitter.com/morganastra" class="font-bold">@morganastra</a>'s <a href="https://github.com/witch-house/pronoun.is" class="font-bold">pronoun.is</a> project</p>
|
<p>Inspired by <a href="https://twitter.com/morganastra" class="font-bold">@morganastra</a>'s <a href="https://github.com/witch-house/pronoun.is" class="font-bold">pronoun.is</a> project</p>
|
||||||
<p>Background Photo by <a href="https://unsplash.com/@jazminantoinette?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" class="font-bold">Jazmin Quaynor</a> on <a href="https://unsplash.com/photos/bm9zWKi_c9Y?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" class="font-bold">Unsplash</a></p>
|
<p>Background Photo by <a href="https://unsplash.com/@jazminantoinette?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" class="font-bold">Jazmin Quaynor</a> on <a href="https://unsplash.com/photos/bm9zWKi_c9Y?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" class="font-bold">Unsplash</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script type="module" data-entity="pronounmonster" src="https://analytics.basking.monster/script.js"></script>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
Loading…
Add table
Reference in a new issue