diff --git a/README b/README deleted file mode 100644 index a42a490..0000000 --- a/README +++ /dev/null @@ -1,26 +0,0 @@ -# crowmagnumb.net - -# build index - -``` -npx pug index.pug -``` - -``` -5 2 1 63.6 85.4 95.5 99.7 100.0 100.0 -4 2 1 42.3 70.8 88.7 97.4 100.0 -3 2 1 24.7 48.6 77.8 91.3 -2 2 1 6.2 30.5 55.5 -1 2 1 0.0 12.5 -5 3 2 18.5 37.6 58.6 77.0 89.3 94.1 -5 3 1 37.6 58.7 76.9 89.3 94.1 97.1 -5 3 0 58.6 77.0 89.3 94.1 97.1 98.6 -4 3 1 21.9 43.6 63.0 81.7 90.7 -3 3 1 12.3 25.7 49.7 67.1 -2 3 1 3.1 15.3 30.6 -1 3 1 0.0 6.3 -1 1 1 0.0 25.0 -2 1 1 12.5 58.3 87.5 -3 1 1 47.9 81.3 97.9 100.0 -4 1 1 74.0 94.8 100.0 100.0 100.0 -``` diff --git a/README.md b/README.md new file mode 100644 index 0000000..9b51db5 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# crowmagnumb.net + +## CalDAV/CardDAV + +Using `radicale.org`. Followed setup in `https://radicale.org/v3.html` but had to use `--break-system-packages` to get this to work. + +```sh +python3 -m pip install --upgrade https://github.com/Kozea/Radicale/archive/master.tar.gz --break-system-packages +sudo mkdir -p /etc/radicale +sudo apt-get install apache2-utils +sudo htpasswd -c /etc/radicale/users crowmagnumb +sudo nano /etc/radicale/config +``` +```conf +[auth] +type = htpasswd +htpasswd_filename = /etc/radicale/users +htpasswd_encryption = autodetect +[server] +hosts = 0.0.0.0:5232, [::]:5232 +``` + +```sh +sudo useradd --system --user-group --home-dir / --shell /sbin/nologin radicale +sudo nano /etc/systemd/system/radicale.service +``` + +```conf +[Unit] +Description=A simple CalDAV (calendar) and CardDAV (contact) server +After=network.target +Requires=network.target + +[Service] +ExecStart=/usr/bin/env python3 -m radicale +Restart=on-failure +User=radicale +# Deny other users access to the calendar data +UMask=0027 +# Optional security settings +PrivateTmp=true +ProtectSystem=strict +ProtectHome=true +PrivateDevices=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectControlGroups=true +NoNewPrivileges=true +ReadWritePaths=/var/lib/radicale/collections + +[Install] +WantedBy=multi-user.target +``` + +```sh +# collections are by default stored in `/var/lib/radicale/collections` +sudo mkdir -p /var/lib/radicale/collections +sudo chown -R radicale:radicale /var/lib/radicale/collections +sudo chmod -R o= /var/lib/radicale/collections +sudo systemctl enable radicale +sudo systemctl start radicale +sudo systemctl status radicale +sudo journalctl --unit radicale.service +``` + +### Apache + +```sh +sudo nano /etc/apache2/sites-available/radicale.conf +``` + +```conf +RewriteEngine On +RewriteRule ^/radicale$ /radicale/ [R,L] + + + ProxyPass http://localhost:5232/ retry=0 + ProxyPassReverse http://localhost:5232/ + RequestHeader set X-Script-Name /radicale + RequestHeader set X-Forwarded-Port "%{SERVER_PORT}s" + RequestHeader unset X-Forwarded-Proto + + RequestHeader set X-Forwarded-Proto "https" + + +``` + +```sh +sudo systemctl reload apache2 +``` \ No newline at end of file diff --git a/fifa/seasonsim/package-lock.json b/fifa/seasonsim/package-lock.json index 5033d01..fcdb387 100644 --- a/fifa/seasonsim/package-lock.json +++ b/fifa/seasonsim/package-lock.json @@ -1,79 +1,117 @@ { "name": "seasonsim", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@types/node": { + "packages": { + "": { + "name": "seasonsim", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@types/node": "^14.11.2", + "ts-node": "^9.0.0", + "typescript": "^4.0.3" + } + }, + "node_modules/@types/node": { "version": "14.11.2", "resolved": "http://localhost:4873/@types%2fnode/-/node-14.11.2.tgz", "integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==", "dev": true }, - "arg": { + "node_modules/arg": { "version": "4.1.3", "resolved": "http://localhost:4873/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.1", "resolved": "http://localhost:4873/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "diff": { + "node_modules/diff": { "version": "4.0.2", "resolved": "http://localhost:4873/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.1" + } }, - "make-error": { + "node_modules/make-error": { "version": "1.3.6", "resolved": "http://localhost:4873/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "source-map": { + "node_modules/source-map": { "version": "0.6.1", "resolved": "http://localhost:4873/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.5.19", "resolved": "http://localhost:4873/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, - "requires": { + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "ts-node": { + "node_modules/ts-node": { "version": "9.0.0", "resolved": "http://localhost:4873/ts-node/-/ts-node-9.0.0.tgz", "integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==", "dev": true, - "requires": { + "dependencies": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.17", "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" } }, - "typescript": { + "node_modules/typescript": { "version": "4.0.3", "resolved": "http://localhost:4873/typescript/-/typescript-4.0.3.tgz", "integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==", - "dev": true + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "yn": { + "node_modules/yn": { "version": "3.1.1", "resolved": "http://localhost:4873/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } } } } diff --git a/index.html b/index.html index a674910..b710074 100644 --- a/index.html +++ b/index.html @@ -40,4 +40,4 @@ } fieldset legend { color: var(--primary-color); -}
Quick Links
Movies
Events
\ No newline at end of file +}
Quick Links
Movies
Events
Music
\ No newline at end of file diff --git a/index.pug b/index.pug index 3e164f1..2af106d 100644 --- a/index.pug +++ b/index.pug @@ -90,3 +90,7 @@ html(lang="en") .links a(href="https://www.shift2bikes.org/calendar/") Shift a(href="https://bikeportland.org/events") Bike Portland + fieldset + legend Music + .links + a(href="https://www.nofunportland.com/") No Fun diff --git a/package.json b/package.json index 321fba2..7fec884 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "build": "pug index.pug" }, "repository": { "type": "git",