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
|
||||
|
||||
- [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>
|
||||
[](https://www.digitalocean.com/?refcode=dfabbc9bb922&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
|
||||
|
||||
## Getting Started
|
||||
|
||||
- [NodeJS](https://nodejs.org/en/)
|
||||
|
||||
```bash
|
||||
```sh
|
||||
npm i # Installs Dependencies
|
||||
```
|
||||
|
||||
### Serving Locally
|
||||
|
||||
```bash
|
||||
```sh
|
||||
npm start
|
||||
```
|
||||
|
||||
|
@ -22,11 +26,12 @@ npm start
|
|||
|
||||
### Deploy
|
||||
|
||||
```bash
|
||||
npm build:css
|
||||
npm start
|
||||
```sh
|
||||
npm run deploy
|
||||
```
|
||||
|
||||
### 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
|
||||
},
|
||||
"node_modules/lint-staged/node_modules/yaml": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
|
||||
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz",
|
||||
"integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 14"
|
||||
|
@ -2424,10 +2424,16 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
|
@ -2451,9 +2457,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/nodemon": {
|
||||
"version": "2.0.21",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.21.tgz",
|
||||
"integrity": "sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==",
|
||||
"version": "2.0.22",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
|
||||
"integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chokidar": "^3.5.2",
|
||||
|
@ -2531,9 +2537,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/nodemon/node_modules/semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"version": "5.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
|
@ -2588,9 +2594,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/normalize-package-data/node_modules/semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"version": "5.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
|
@ -3004,9 +3010,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.21",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
||||
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
|
||||
"version": "8.4.31",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
||||
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
@ -3016,10 +3022,14 @@
|
|||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.4",
|
||||
"nanoid": "^3.3.6",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
|
@ -3575,9 +3585,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"version": "7.5.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
|
@ -5950,9 +5960,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"yaml": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
|
||||
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz",
|
||||
"integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
@ -6222,9 +6232,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
||||
"dev": true
|
||||
},
|
||||
"negotiator": {
|
||||
|
@ -6240,9 +6250,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"nodemon": {
|
||||
"version": "2.0.21",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.21.tgz",
|
||||
"integrity": "sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==",
|
||||
"version": "2.0.22",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
|
||||
"integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": "^3.5.2",
|
||||
|
@ -6304,9 +6314,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"version": "5.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
|
@ -6348,9 +6358,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"version": "5.7.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
@ -6624,12 +6634,12 @@
|
|||
}
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.4.21",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
||||
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
|
||||
"version": "8.4.31",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
|
||||
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"nanoid": "^3.3.4",
|
||||
"nanoid": "^3.3.6",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
|
@ -6997,9 +7007,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.8",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
|
||||
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
|
||||
"version": "7.5.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^6.0.0"
|
||||
|
|
18
package.json
18
package.json
|
@ -5,29 +5,35 @@
|
|||
"main": "app.js",
|
||||
"scripts": {
|
||||
"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:*",
|
||||
"serve:handlebars": "node app.js",
|
||||
"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/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:svg": "svgdir2sprite ./src/svgs ./dist/spritesheet.svg",
|
||||
"build:images": "mkdir -p ./dist ./dist/images && cp ./src/images/* ./dist/images/",
|
||||
"test": "ava",
|
||||
"lint": "prettier --check .",
|
||||
"prepare": "husky install"
|
||||
"prepare": "husky install",
|
||||
"deploy": "docker compose up --build -d"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@gitlab.com/gaiety/pronoun-monster.git"
|
||||
"url": "ssh://git@git.basking.monster:222/gaiety/pronoun-monster.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "Unlicense",
|
||||
"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",
|
||||
"devDependencies": {
|
||||
"ava": "^5.2.0",
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
<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="/app.css">
|
||||
|
||||
<script defer data-domain="pronoun.monster" src="https://plausible.io/js/script.js"></script>
|
||||
</head>
|
||||
|
||||
<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>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>
|
||||
|
||||
<script type="module" data-entity="pronounmonster" src="https://analytics.basking.monster/script.js"></script>
|
||||
</footer>
|
||||
|
|
Loading…
Add table
Reference in a new issue